Commit e831a304 authored by caixingbing's avatar caixingbing

*

parent 1b27f490
...@@ -49,7 +49,13 @@ function changePath(that, pathName){ ...@@ -49,7 +49,13 @@ function changePath(that, pathName){
} }
} }
//保留小数N位
function saveFixed(field, num=2){
return parseFloat(field.toFixed(num))
}
export { export {
encodeStr, encodeStr,
changePath changePath,
saveFixed
} }
...@@ -45,8 +45,8 @@ ...@@ -45,8 +45,8 @@
<!-- 输入框 --> <!-- 输入框 -->
<template v-if="form.type==3"> <template v-if="form.type==3">
<div class="cooperate-name"> <div class="cooperate-name">
<el-input v-model="form.value" :placeholder="form.placeholder"></el-input> <el-input @focus="clickFocus('detailFocus'+i)" @blur="clickFocus('detailFocus'+i)" v-model="form.value" :placeholder="form.placeholder"></el-input>
<span @click="changeSelect">搜索</span> <span :id="'detailFocus'+i" @click="changeSelect">搜索</span>
</div> </div>
</template> </template>
<!-- 多选 --> <!-- 多选 -->
...@@ -117,6 +117,9 @@ export default { ...@@ -117,6 +117,9 @@ export default {
methods: { methods: {
changeSelect(){ changeSelect(){
this.$emit('handle-search') this.$emit('handle-search')
},
clickFocus(e){
document.getElementById(e).classList.toggle('span-ba')
} }
} }
} }
...@@ -183,13 +186,18 @@ export default { ...@@ -183,13 +186,18 @@ export default {
border-left: 0; border-left: 0;
cursor: pointer; cursor: pointer;
} }
.span-ba{
color: #ffffff;
background: #0081FF;
border: 1px solid #0081FF;
}
::v-deep .el-input{ ::v-deep .el-input{
flex: 1; flex: 1;
} }
::v-deep .el-input__inner { ::v-deep .el-input__inner {
border-right: 0; border-right: 0;
border-radius: 2px 0 2px 0; border-radius: 2px 0 2px 0;
width: 259px; width: 180px;
} }
} }
.fromTime{ .fromTime{
...@@ -208,6 +216,22 @@ export default { ...@@ -208,6 +216,22 @@ export default {
::v-deep .form-content-width{ ::v-deep .form-content-width{
width: 170px; width: 170px;
} }
::v-deep .selectTag{
.el-select__tags{
.el-tag{
&:first-child{
width: 90px;
}
}
}
}
::v-deep .el-select__tags{
.el-tag{
&:first-child{
width: 100%;
}
}
}
} }
} }
</style> </style>
<template>
<div class="no-data">
<div class="no-data-box">
<img :src="noData" alt="暂时没有找到相关数据" />
<span>暂时没有找到相关数据</span>
</div>
</div>
</template>
<script>
export default {
name: "NoData",
props: {
},
data() {
return {
noData: require("@/assets/images/detail/noData.png")
}
},
methods:{
}
}
</script>
<style lang="scss" scoped>
.no-data {
font-size: 14px;
font-family: Microsoft YaHei-Regular, Microsoft YaHei;
font-weight: 400;
color: #999999;
text-shadow: 0px 0px 10px rgba(0, 37, 106, 0.10000000149011612);
width: 100%;
height: 100%;
min-height: 140px;
display: flex;
justify-content: center;
align-items: center;
background: #ffffff;
border-radius: 0px 0px 0px 0px;
opacity: 1;
border: 1px solid #eeeeee;
.no-data-box {
display: flex;
flex-direction: column;
align-items: center;
img {
width: 54px;
height: 69px;
margin-bottom: 16px;
}
}
}
</style>
...@@ -21,11 +21,11 @@ ...@@ -21,11 +21,11 @@
@sort-change="sortChange" @sort-change="sortChange"
> >
<template slot="agency" slot-scope="scope"> <template slot="agency" slot-scope="scope">
<router-link to="" tag="a" class="a-link" v-if="scope.row.agencyId&&scope.row.agency" v-html="scope.row.agency"></router-link> <router-link :to="`/enterprise/${encodeStr(scope.row.agencyId)}`" tag="a" class="a-link" v-if="scope.row.agencyId&&scope.row.agency" v-html="scope.row.agency"></router-link>
<div v-else v-html="scope.row.agency || '--'"></div> <div v-else v-html="scope.row.agency || '--'"></div>
</template> </template>
<template slot="projectInfo" slot-scope="scope"> <template slot="projectInfo" slot-scope="scope">
<router-link to="" tag="a" class="a-link" v-if="scope.row.projectInfo.bid&&scope.row.projectInfo.dealTitle" v-html="scope.row.projectInfo.dealTitle"></router-link> <router-link :to="`/radar/Tender/details/${scope.row.projectInfo.bid}`" tag="a" class="a-link" v-if="scope.row.projectInfo.bid&&scope.row.projectInfo.dealTitle" v-html="scope.row.projectInfo.dealTitle"></router-link>
<div v-else v-html="scope.row.projectInfo.dealTitle || '--'"></div> <div v-else v-html="scope.row.projectInfo.dealTitle || '--'"></div>
<div v-if="scope.row.count>1" @click="handleClick($event, scope.row)" style="color: #FF7E38;cursor: pointer;">{{scope.row.count}}个合作项目/工程 ></div> <div v-if="scope.row.count>1" @click="handleClick($event, scope.row)" style="color: #FF7E38;cursor: pointer;">{{scope.row.count}}个合作项目/工程 ></div>
</template> </template>
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
@handle-current-change="handleCurrentChange" @handle-current-change="handleCurrentChange"
> >
<template slot="name" slot-scope="scope"> <template slot="name" slot-scope="scope">
<router-link to="" tag="a" class="a-link" v-if="scope.row.id&&scope.row.name" v-html="scope.row.name"></router-link> <router-link :to="`/radar/BidRecord/details/${scope.row.id}`" tag="a" class="a-link" v-if="scope.row.id&&scope.row.name" v-html="scope.row.name"></router-link>
<div v-else v-html="scope.row.name || '--'"></div> <div v-else v-html="scope.row.name || '--'"></div>
</template> </template>
<template slot="source" slot-scope="scope"> <template slot="source" slot-scope="scope">
...@@ -80,7 +80,9 @@ export default { ...@@ -80,7 +80,9 @@ export default {
this.tableDataTotal = res.total this.tableDataTotal = res.total
}, },
handlePic(url){ handlePic(url){
window.open(url, "_blank") if(url){
window.open(url, "_blank")
}
} }
} }
} }
......
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
<template slot="dealTitle" slot-scope="scope"> <template slot="dealTitle" slot-scope="scope">
<div class="flex-box"> <div class="flex-box">
<img class="tip-img" src="@/assets/images/detail/ico_pdf.png" v-if="scope.row.fileUrlL" @click="handlePic(scope.row.fileUrlL)"/> <img class="tip-img" src="@/assets/images/detail/ico_pdf.png" v-if="scope.row.fileUrlL" @click="handlePic(scope.row.fileUrlL)"/>
<router-link to="" tag="a" class="a-link" v-if="scope.row.bid&&scope.row.dealTitle" v-html="scope.row.dealTitle"></router-link> <router-link :to="`/radar/Tender/details/${scope.row.bid}`" tag="a" class="a-link" v-if="scope.row.bid&&scope.row.dealTitle" v-html="scope.row.dealTitle"></router-link>
<span v-else v-html="scope.row.dealTitle || '--'"></span> <span v-else v-html="scope.row.dealTitle || '--'"></span>
</div> </div>
</template> </template>
...@@ -45,20 +45,10 @@ import {bidCooperatePage} from '@/api/detail/party-a/dealings' ...@@ -45,20 +45,10 @@ import {bidCooperatePage} from '@/api/detail/party-a/dealings'
import HeadDetailForm from "../../component/HeadDetailForm" import HeadDetailForm from "../../component/HeadDetailForm"
export default { export default {
props: { props: [
'data': { 'data',
type: Object, 'title'
default: () => { ],
return {}
}
},
'title': {
type: String,
default: () => {
return ''
}
}
},
components: { components: {
HeadDetailForm HeadDetailForm
}, },
...@@ -106,7 +96,9 @@ export default { ...@@ -106,7 +96,9 @@ export default {
this.amountTotal = res.totalAmount this.amountTotal = res.totalAmount
}, },
handlePic(url){ handlePic(url){
window.open(url, "_blank") if(url){
window.open(url, "_blank")
}
}, },
cancel() { cancel() {
this.$emit('cancel') this.$emit('cancel')
......
...@@ -27,7 +27,8 @@ ...@@ -27,7 +27,8 @@
<template slot="projectAllName" slot-scope="scope"> <template slot="projectAllName" slot-scope="scope">
<div class="flex-box"> <div class="flex-box">
<img class="tip-img" src="@/assets/images/detail/ico_pdf.png" v-if="scope.row.sourceUrl" @click="handlePic(scope.row.sourceUrl)"/> <img class="tip-img" src="@/assets/images/detail/ico_pdf.png" v-if="scope.row.sourceUrl" @click="handlePic(scope.row.sourceUrl)"/>
<router-link to="" tag="a" class="a-link" v-if="scope.row.id&&scope.row.projectAllName" v-html="scope.row.projectAllName"></router-link> <div class="a-link" @click="handlePic(scope.row.sourceUrl)" v-if="scope.row.sourceUrl&&scope.row.projectAllName" v-html="scope.row.projectAllName" style="cursor: pointer"></div>
<!-- <router-link to="" tag="a" class="a-link" v-if="scope.row.id&&scope.row.projectAllName" v-html="scope.row.projectAllName"></router-link>-->
<span v-else v-html="scope.row.projectAllName || '--'"></span> <span v-else v-html="scope.row.projectAllName || '--'"></span>
</div> </div>
</template> </template>
...@@ -45,26 +46,11 @@ import {clientProjectPage} from '@/api/detail/party-a/dealings' ...@@ -45,26 +46,11 @@ import {clientProjectPage} from '@/api/detail/party-a/dealings'
import HeadDetailForm from "../../component/HeadDetailForm" import HeadDetailForm from "../../component/HeadDetailForm"
export default { export default {
props: { props: [
'data': { 'data',
type: Object, 'company-id',
default: () => { 'title'
return {} ],
}
},
'company-id': {
type: Number,
default: () => {
return 0
}
},
'title': {
type: String,
default: () => {
return ''
}
}
},
components: { components: {
HeadDetailForm HeadDetailForm
}, },
...@@ -114,7 +100,9 @@ export default { ...@@ -114,7 +100,9 @@ export default {
this.amountTotal = res.totalAmount this.amountTotal = res.totalAmount
}, },
handlePic(url){ handlePic(url){
window.open(url, "_blank") if(url){
window.open(url, "_blank")
}
}, },
cancel() { cancel() {
this.$emit('cancel') this.$emit('cancel')
......
...@@ -27,7 +27,8 @@ ...@@ -27,7 +27,8 @@
<template slot="projectAllName" slot-scope="scope"> <template slot="projectAllName" slot-scope="scope">
<div class="flex-box"> <div class="flex-box">
<img class="tip-img" src="@/assets/images/detail/ico_pdf.png" v-if="scope.row.sourceUrl" @click="handlePic(scope.row.sourceUrl)"/> <img class="tip-img" src="@/assets/images/detail/ico_pdf.png" v-if="scope.row.sourceUrl" @click="handlePic(scope.row.sourceUrl)"/>
<router-link to="" tag="a" class="a-link" v-if="scope.row.id&&scope.row.projectAllName" v-html="scope.row.projectAllName"></router-link> <div class="a-link" @click="handlePic(scope.row.sourceUrl)" v-if="scope.row.sourceUrl&&scope.row.projectAllName" v-html="scope.row.projectAllName" style="cursor: pointer"></div>
<!-- <router-link to="" tag="a" class="a-link" v-if="scope.row.id&&scope.row.projectAllName" v-html="scope.row.projectAllName"></router-link>-->
<span v-else v-html="scope.row.projectAllName || '--'"></span> <span v-else v-html="scope.row.projectAllName || '--'"></span>
</div> </div>
</template> </template>
...@@ -45,26 +46,11 @@ import { supplierProjectPage } from '@/api/detail/party-a/dealings' ...@@ -45,26 +46,11 @@ import { supplierProjectPage } from '@/api/detail/party-a/dealings'
import HeadDetailForm from "../../component/HeadDetailForm" import HeadDetailForm from "../../component/HeadDetailForm"
export default { export default {
props: { props: [
'data': { 'data',
type: Object, 'company-id',
default: () => { 'title'
return {} ],
}
},
'company-id': {
type: Number,
default: () => {
return 0
}
},
'title': {
type: String,
default: () => {
return ''
}
}
},
components: { components: {
HeadDetailForm HeadDetailForm
}, },
...@@ -114,7 +100,9 @@ export default { ...@@ -114,7 +100,9 @@ export default {
this.amountTotal = res.totalAmount this.amountTotal = res.totalAmount
}, },
handlePic(url){ handlePic(url){
window.open(url, "_blank") if(url){
window.open(url, "_blank")
}
}, },
cancel() { cancel() {
this.$emit('cancel') this.$emit('cancel')
......
...@@ -21,12 +21,13 @@ ...@@ -21,12 +21,13 @@
@sort-change="sortChange" @sort-change="sortChange"
> >
<template slot="companyName" slot-scope="scope"> <template slot="companyName" slot-scope="scope">
<router-link to="" tag="a" class="a-link" v-if="scope.row.companyId&&scope.row.companyName" v-html="scope.row.companyName"></router-link> <router-link :to="`/enterprise/${encodeStr(scope.row.projectUnitId)}`" tag="a" class="a-link" v-if="scope.row.projectUnitId&&scope.row.companyName" v-html="scope.row.companyName"></router-link>
<div v-else v-html="scope.row.companyName || '--'"></div> <div v-else v-html="scope.row.companyName || '--'"></div>
</template> </template>
<template slot="projectAllName" slot-scope="scope"> <template slot="projectAllName" slot-scope="scope">
<router-link to="" tag="a" class="a-link" v-if="scope.row.projectId&&scope.row.projectAllName" v-html="scope.row.projectAllName"></router-link> <div class="a-link" @click="handleDetail(scope.row.projectInfo)" v-if="scope.row.projectInfo&&scope.row.projectInfo.sourceUrl&&scope.row.projectInfo.projectAllName" v-html="scope.row.projectInfo.projectAllName" style="cursor: pointer"></div>
<div v-else v-html="scope.row.projectAllName || '--'"></div> <!-- <router-link to="" tag="a" class="a-link" v-if="scope.row.projectInfo.projectId&&scope.row.projectInfo.projectAllName" v-html="scope.row.projectInfo.projectAllName"></router-link>-->
<div v-else v-html="scope.row.projectInfo&&scope.row.projectInfo.projectAllName || '--'"></div>
<div v-if="scope.row.count>1" @click="handleClick($event, scope.row)" style="color: #FF7E38;cursor: pointer;">{{scope.row.count}}个合作项目/工程 ></div> <div v-if="scope.row.count>1" @click="handleClick($event, scope.row)" style="color: #FF7E38;cursor: pointer;">{{scope.row.count}}个合作项目/工程 ></div>
</template> </template>
</tables> </tables>
...@@ -95,6 +96,11 @@ export default { ...@@ -95,6 +96,11 @@ export default {
handleClick(e, data) { handleClick(e, data) {
this.rowData = data this.rowData = data
this.isDetails = true this.isDetails = true
},
handleDetail(row){
if(row.sourceUrl){
window.open(row.sourceUrl, "_blank")
}
} }
} }
} }
......
...@@ -21,11 +21,12 @@ ...@@ -21,11 +21,12 @@
@sort-change="sortChange" @sort-change="sortChange"
> >
<template slot="projectAllName" slot-scope="scope"> <template slot="projectAllName" slot-scope="scope">
<router-link to="" tag="a" class="a-link" v-if="scope.row.id&&scope.row.projectAllName " v-html="scope.row.projectAllName"></router-link> <div class="a-link" @click="handleDetail(scope.row)" v-if="scope.row.sourceUrl&&scope.row.projectAllName" v-html="scope.row.projectAllName" style="cursor: pointer"></div>
<!-- <router-link to="" tag="a" class="a-link" v-if="scope.row.id&&scope.row.projectAllName " v-html="scope.row.projectAllName"></router-link>-->
<div v-else v-html="scope.row.projectAllName || '--'"></div> <div v-else v-html="scope.row.projectAllName || '--'"></div>
</template> </template>
<template slot="companyName" slot-scope="scope"> <template slot="companyName" slot-scope="scope">
<router-link to="" tag="a" class="a-link" v-if="scope.row.companyId&&scope.row.companyName">{{ scope.row.companyName }}</router-link> <router-link :to="`/enterprise/${encodeStr(scope.row.companyId)}`" tag="a" class="a-link" v-if="scope.row.companyId&&scope.row.companyName">{{ scope.row.companyName }}</router-link>
<div v-else>{{ scope.row.companyName || '--' }}</div> <div v-else>{{ scope.row.companyName || '--' }}</div>
</template> </template>
</tables> </tables>
...@@ -101,6 +102,11 @@ export default { ...@@ -101,6 +102,11 @@ export default {
this.tableData = res.rows this.tableData = res.rows
} }
this.tableDataTotal = res.total this.tableDataTotal = res.total
},
handleDetail(row){
if(row.sourceUrl){
window.open(row.sourceUrl, "_blank")
}
} }
} }
} }
......
...@@ -21,12 +21,13 @@ ...@@ -21,12 +21,13 @@
@sort-change="sortChange" @sort-change="sortChange"
> >
<template slot="companyName" slot-scope="scope"> <template slot="companyName" slot-scope="scope">
<router-link to="" tag="a" class="a-link" v-if="scope.row.companyId&&scope.row.companyName" v-html="scope.row.companyName"></router-link> <router-link :to="`/enterprise/${encodeStr(scope.row.companyId)}`" tag="a" class="a-link" v-if="scope.row.companyId&&scope.row.companyName" v-html="scope.row.companyName"></router-link>
<div v-else v-html="scope.row.companyName || '--'"></div> <div v-else v-html="scope.row.companyName || '--'"></div>
</template> </template>
<template slot="projectAllName" slot-scope="scope"> <template slot="projectAllName" slot-scope="scope">
<router-link to="" tag="a" class="a-link" v-if="scope.row.projectId&&scope.row.projectAllName" v-html="scope.row.projectAllName"></router-link> <div class="a-link" @click="handleDetail(scope.row.projectInfo)" v-if="scope.row.projectInfo&&scope.row.projectInfo.sourceUrl&&scope.row.projectInfo.projectAllName" v-html="scope.row.projectInfo.projectAllName" style="cursor: pointer"></div>
<div v-else v-html="scope.row.projectAllName || '--'"></div> <!-- <router-link to="" tag="a" class="a-link" v-if="scope.row.projectInfo.projectId&&scope.row.projectInfo.projectAllName" v-html="scope.row.projectInfo.projectAllName"></router-link>-->
<div v-else v-html="scope.row.projectInfo&&scope.row.projectInfo.projectAllName || '--'"></div>
<div v-if="scope.row.count>1" @click="handleClick($event, scope.row)" style="color: #FF7E38;cursor: pointer;">{{scope.row.count}}个合作项目/工程 ></div> <div v-if="scope.row.count>1" @click="handleClick($event, scope.row)" style="color: #FF7E38;cursor: pointer;">{{scope.row.count}}个合作项目/工程 ></div>
</template> </template>
</tables> </tables>
...@@ -95,6 +96,11 @@ export default { ...@@ -95,6 +96,11 @@ export default {
handleClick(e, data) { handleClick(e, data) {
this.rowData = data this.rowData = data
this.isDetails = true this.isDetails = true
},
handleDetail(row){
if(row.sourceUrl){
window.open(row.sourceUrl, "_blank")
}
} }
} }
} }
......
...@@ -3,10 +3,10 @@ ...@@ -3,10 +3,10 @@
<div class="financial-header"> <div class="financial-header">
<div class="common-title">财务简析</div> <div class="common-title">财务简析</div>
<div class="flex-box header-box"> <div class="flex-box header-box">
<div class="header-item">总资产<div class="header-item-amount" v-if="financialDetail.totalAssets"><span>{{financialDetail.totalAssets || ''}}</span>亿元</div><img src="@/assets/images/detail/financial/financial_header01_ico.png"></div> <div class="header-item">总资产<div class="header-item-amount"><template v-if="financialDetail.totalAssets"><span>{{saveFixed(financialDetail.totalAssets)}}</span>亿元</template><template v-else>--</template></div><img src="@/assets/images/detail/financial/financial_header01_ico.png"></div>
<div class="header-item">净资产<div class="header-item-amount" v-if="financialDetail.belongNetAssets"><span>{{financialDetail.belongNetAssets || ''}}</span>亿元</div><img src="@/assets/images/detail/financial/financial_header02_ico.png"></div> <div class="header-item">净资产<div class="header-item-amount"><template v-if="financialDetail.belongNetAssets"><span>{{saveFixed(financialDetail.belongNetAssets)}}</span>亿元</template><template v-else>--</template></div><img src="@/assets/images/detail/financial/financial_header02_ico.png"></div>
<div class="header-item">营业收入<div class="header-item-amount" v-if="financialDetail.operatingIncome"><span>{{financialDetail.operatingIncome || ''}}</span>亿元</div><img src="@/assets/images/detail/financial/financial_header03_ico.png"></div> <div class="header-item">营业收入<div class="header-item-amount"><template v-if="financialDetail.operatingIncome"><span>{{saveFixed(financialDetail.operatingIncome)}}</span>亿元</template><template v-else>--</template></div><img src="@/assets/images/detail/financial/financial_header03_ico.png"></div>
<div class="header-item">授信余额<div class="header-item-amount" v-if="financialDetail.creditBalance"><span>{{financialDetail.creditBalance || ''}}</span>亿元</div><img src="@/assets/images/detail/financial/financial_header04_ico.png"></div> <div class="header-item">授信余额<div class="header-item-amount"><template v-if="financialDetail.creditBalance"><span>{{saveFixed(financialDetail.creditBalance)}}</span>亿元</template><template v-else>--</template></div><img src="@/assets/images/detail/financial/financial_header04_ico.png"></div>
</div> </div>
</div> </div>
<div class="financial-zcqk"> <div class="financial-zcqk">
...@@ -14,27 +14,39 @@ ...@@ -14,27 +14,39 @@
<ul class="zcqk-list"> <ul class="zcqk-list">
<li v-for="(item, index) in zcqkList" :key="index" :style="zcqkList.length==1?'border-right: 0;':''"> <li v-for="(item, index) in zcqkList" :key="index" :style="zcqkList.length==1?'border-right: 0;':''">
<div class="zcqk-list-box" :style="(parity(zcqkList) && index==zcqkList.length-2) || (index == zcqkList.length-1)?'border-bottom: 0':''"> <div class="zcqk-list-box" :style="(parity(zcqkList) && index==zcqkList.length-2) || (index == zcqkList.length-1)?'border-bottom: 0':''">
<div class="flex-box zcqk-list-line"><span class="flex-box"><img :src="item.ico">{{item.name}}</span><span v-if="item.amount"><i>{{item.amount}}</i>亿元</span></div> <div class="flex-box zcqk-list-line"><span class="flex-box"><img :src="item.ico">{{item.name}}</span><span v-if="item.amount"><i>{{saveFixed(item.amount)}}</i>{{item.unit}}</span><span v-else>--</span></div>
<div class="zcqk-list-intro">{{item.intro}}</div> <div class="zcqk-list-intro">{{item.intro}}</div>
</div> </div>
</li> </li>
</ul> </ul>
</div> </div>
<div class="financial-ylnl">
<div class="common-title">盈利能力</div>
<ul class="flex-box ylnl-list">
<li v-for="(item, index) in ylnlList" :key="index" :style="index===0?'border-left: 0;':''">
<div class="ylnl-amount"><template v-if="item.amount"><span>{{saveFixed(item.amount)}}</span>{{item.unit}}</template><template v-else>--</template></div>
<div class="ylnl-title">{{item.name}}</div>
</li>
</ul>
</div>
<div class="financial-zwqk"> <div class="financial-zwqk">
<div class="common-title">负债情况及偿债能力</div> <div class="common-title">负债情况及偿债能力</div>
<div class="flex-box zwqk-box"> <div class="flex-box zwqk-box">
<div class="zwqk-info"> <div class="zwqk-info">
<div class="zwqk-title">总负债</div> <div class="zwqk-title">总负债</div>
<div class="zwqk-amount"><span>{{financialDetail.totalLiabilities || '0'}}</span>亿元</div> <div class="zwqk-amount"><span>{{financialDetail.totalLiabilities?saveFixed(financialDetail.totalLiabilities):'0'}}</span>亿元</div>
<div class="zwqk-pro">资产负债率 {{financialDetail.tdr+'%' || '--'}}</div> <div class="zwqk-pro">资产负债率 {{financialDetail.tdr?saveFixed(financialDetail.tdr)+'%':'--'}}</div>
<img src="@/assets/images/detail/financial/zwqk_bg_ico.png"> <img src="@/assets/images/detail/financial/zwqk_bg_ico.png">
</div> </div>
<div id="myEcharts" style="width: 444px;height:250px; margin: 0 auto;"></div> <div id="myEcharts" style="width: 444px;height:250px; margin: 0 auto;" v-if="echartsData.length>0"></div>
<div class="fin-no-data" v-else>
<no-data />
</div>
</div> </div>
<div class="flex-box zwqk-list"> <div class="flex-box zwqk-list">
<div class="list-item" v-for="(item, index) in zwqkList" :key="index"> <div class="list-item" v-for="(item, index) in zwqkList" :key="index">
<div class="flex-box list-item-all">{{item.name}}<img :src="item.ico"></div> <div class="flex-box list-item-all">{{item.name}}<img :src="item.ico"></div>
<div class="list-item-amount"><template v-if="item.amount"><span>{{item.amount}}</span>{{item.unit}}</template><template v-else>--</template></div> <div class="list-item-amount"><template v-if="item.amount"><span>{{saveFixed(item.amount)}}</span>{{item.unit}}</template><template v-else>--</template></div>
<div class="list-item-pro">{{item.intro}}<span>{{item.introPro || '--'}}</span></div> <div class="list-item-pro">{{item.intro}}<span>{{item.introPro || '--'}}</span></div>
</div> </div>
</div> </div>
...@@ -44,7 +56,7 @@ ...@@ -44,7 +56,7 @@
<ul class="zcqk-list"> <ul class="zcqk-list">
<li v-for="(item, index) in zjqkList" :key="index" :style="zjqkList.length==1?'border-right: 0;':''"> <li v-for="(item, index) in zjqkList" :key="index" :style="zjqkList.length==1?'border-right: 0;':''">
<div class="zcqk-list-box" :style="(parity(zjqkList) && index==zjqkList.length-2) || (index == zjqkList.length-1)?'border-bottom: 0':''"> <div class="zcqk-list-box" :style="(parity(zjqkList) && index==zjqkList.length-2) || (index == zjqkList.length-1)?'border-bottom: 0':''">
<div class="flex-box zcqk-list-line"><span class="flex-box"><img :src="item.ico">{{item.name}}</span><span v-if="item.amount"><i>{{item.amount}}</i>{{item.unit}}</span></div> <div class="flex-box zcqk-list-line"><span class="flex-box"><img :src="item.ico">{{item.name}}</span><span v-if="item.amount"><i>{{saveFixed(item.amount)}}</i>{{item.unit}}</span></div>
<div class="zcqk-list-intro">{{item.intro}}</div> <div class="zcqk-list-intro">{{item.intro}}</div>
</div> </div>
</li> </li>
...@@ -54,13 +66,19 @@ ...@@ -54,13 +66,19 @@
</template> </template>
<script> <script>
import {saveFixed} from "@/assets/js/common"
import { financial } from '@/api/detail/party-a/financial' import { financial } from '@/api/detail/party-a/financial'
import * as echarts from 'echarts' import * as echarts from 'echarts'
import NoData from '../component/noData'
export default { export default {
name: 'Financial', name: 'Financial',
props: ['companyId'], props: ['companyId'],
components: {
NoData
},
data() { data() {
return { return {
saveFixed,
financialDetail: {}, financialDetail: {},
// 资产情况 // 资产情况
zcqkList: [ zcqkList: [
...@@ -82,6 +100,12 @@ export default { ...@@ -82,6 +100,12 @@ export default {
{ name: '对外担保金额', ico: require('@/assets/images/detail/financial/zwqk_ico4.png'), intro: '对外担保比例', introPro: '', amount: '', unit: '亿元'} { name: '对外担保金额', ico: require('@/assets/images/detail/financial/zwqk_ico4.png'), intro: '对外担保比例', introPro: '', amount: '', unit: '亿元'}
], ],
echartsData: [], echartsData: [],
ylnlList: [
{ name: '营业收入', amount: '', unit: '亿元'},
{ name: '净资产收益率', amount: '', unit: '%'},
{ name: '归母净利润', amount: '', unit: '亿元'},
{ name: '公益性&准公益性主营占比', amount: '', unit: '%'},
],
// 资金情况 // 资金情况
zjqkList: [ zjqkList: [
{ name: '经营现金流', ico: require('@/assets/images/detail/financial/zjqk_ico1.png'), intro: '该指标越高,说明经营活动的造血能力越强', amount: '', unit: '亿元'}, { name: '经营现金流', ico: require('@/assets/images/detail/financial/zjqk_ico1.png'), intro: '该指标越高,说明经营活动的造血能力越强', amount: '', unit: '亿元'},
...@@ -117,7 +141,7 @@ export default { ...@@ -117,7 +141,7 @@ export default {
this.tableLoading = true this.tableLoading = true
let res = await financial({cid:this.companyId}) let res = await financial({cid:this.companyId})
this.tableLoading = false this.tableLoading = false
if(res.code==200){ if(res.code==200 && res.data){
this.financialDetail = res.data this.financialDetail = res.data
//资产情况 //资产情况
let { totalAssets, belongNetAssets, monetaryFunds, accountsReceivable, landAssets, otherReceivable, restrictedAssets, receivableFromGovRatio, govSubsidy } = this.financialDetail let { totalAssets, belongNetAssets, monetaryFunds, accountsReceivable, landAssets, otherReceivable, restrictedAssets, receivableFromGovRatio, govSubsidy } = this.financialDetail
...@@ -131,7 +155,13 @@ export default { ...@@ -131,7 +155,13 @@ export default {
let zwPercentObj = { econData_006, econData_005, nonStandardRatio, guaranteeRatio } let zwPercentObj = { econData_006, econData_005, nonStandardRatio, guaranteeRatio }
this.zwqkList.forEach((item, index) => { this.zwqkList.forEach((item, index) => {
item.amount = zwAmountObj[Object.keys(zwAmountObj)[index]] item.amount = zwAmountObj[Object.keys(zwAmountObj)[index]]
item.introPro = zwPercentObj[Object.keys(zwPercentObj)[index]]?zwPercentObj[Object.keys(zwPercentObj)[index]]+'%':'' item.introPro = zwPercentObj[Object.keys(zwPercentObj)[index]]?saveFixed(zwPercentObj[Object.keys(zwPercentObj)[index]])+'%':''
})
//盈利能力
let { operatingIncome, roe, belongNetProfit, econData_001 } = this.financialDetail
let ylnlObj = { operatingIncome, roe, belongNetProfit, econData_001 }
this.ylnlList.forEach((item, index) => {
item.amount = ylnlObj[Object.keys(ylnlObj)[index]]
}) })
//资金情况 //资金情况
let { netOperatingCashFlow, cashRatio, netFinancingCashFlow, cashFlowRatio, netInvestmentCashFlow, cashDebtRatio } = this.financialDetail let { netOperatingCashFlow, cashRatio, netFinancingCashFlow, cashFlowRatio, netInvestmentCashFlow, cashDebtRatio } = this.financialDetail
...@@ -285,7 +315,7 @@ export default { ...@@ -285,7 +315,7 @@ export default {
img{ img{
width: 84px; width: 84px;
height: 115px; height: 115px;
right: -10px; right: -4px;
bottom: -18px; bottom: -18px;
} }
} }
...@@ -367,6 +397,33 @@ export default { ...@@ -367,6 +397,33 @@ export default {
} }
} }
} }
.financial-ylnl{
background: #FFFFFF;
padding: 24px 16px;
margin-top: 12px;
border-radius: 4px;
.ylnl-list{
justify-content: space-between;
li{
color: #232323;
width: 25%;
height: 72px;
padding-top: 18px;
font-size: 16px;
text-align: center;
border-left: 1px solid #EEEEEE;
.ylnl-amount{
font-size: 14px;
font-weight: bold;
padding-bottom: 4px;
span{
font-size: 18px;
margin-right: 4px;
}
}
}
}
}
.financial-zwqk{ .financial-zwqk{
background: #FFFFFF; background: #FFFFFF;
padding: 24px 16px; padding: 24px 16px;
...@@ -376,7 +433,8 @@ export default { ...@@ -376,7 +433,8 @@ export default {
padding-top: 20px; padding-top: 20px;
justify-content: normal; justify-content: normal;
.zwqk-info{ .zwqk-info{
width: 50%; width: calc(50% - 11px);
margin-right: 11px;
height: 248px; height: 248px;
padding: 54px 24px 10px 24px; padding: 54px 24px 10px 24px;
color: #4D4C4B; color: #4D4C4B;
...@@ -421,6 +479,11 @@ export default { ...@@ -421,6 +479,11 @@ export default {
margin-top: 33px; margin-top: 33px;
} }
} }
.fin-no-data{
width: calc(50% - 11px);
height: 250px;
margin-left: 11px;
}
} }
.zwqk-list{ .zwqk-list{
justify-content: space-between; justify-content: space-between;
...@@ -435,6 +498,10 @@ export default { ...@@ -435,6 +498,10 @@ export default {
.list-item-all{ .list-item-all{
align-items: normal; align-items: normal;
justify-content: space-between; justify-content: space-between;
img{
width: 30px;
height: 30px;
}
} }
.list-item-amount{ .list-item-amount{
height: 39px; height: 39px;
......
import {encodeStr} from "@/assets/js/common"
import HeadForm from "../component/HeadForm" import HeadForm from "../component/HeadForm"
import Tables from "../component/Tables" import Tables from "../component/Tables"
export default { export default {
...@@ -7,7 +8,7 @@ export default { ...@@ -7,7 +8,7 @@ export default {
}, },
data() { data() {
return { return {
encodeStr
} }
}, },
mounted() { mounted() {
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
@sort-change="sortChange" @sort-change="sortChange"
> >
<template slot="projectName" slot-scope="scope"> <template slot="projectName" slot-scope="scope">
<router-link to="" tag="a" class="a-link" v-if="scope.row.bid&&scope.row.projectName " v-html="scope.row.projectName"></router-link> <router-link :to="`/radar/Tender/details/${scope.row.bid}`" tag="a" class="a-link" v-if="scope.row.bid&&scope.row.projectName " v-html="scope.row.projectName"></router-link>
<div v-else v-html="scope.row.projectName || '--'"></div> <div v-else v-html="scope.row.projectName || '--'"></div>
</template> </template>
<template slot="province" slot-scope="scope"> <template slot="province" slot-scope="scope">
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
@sort-change="sortChange" @sort-change="sortChange"
> >
<template slot="projectName" slot-scope="scope"> <template slot="projectName" slot-scope="scope">
<router-link to="" tag="a" class="a-link" v-if="scope.row.id&&scope.row.projectName " v-html="scope.row.projectName"></router-link> <router-link :to="`/radar/Bidding/details/${scope.row.id}`" tag="a" class="a-link" v-if="scope.row.id&&scope.row.projectName " v-html="scope.row.projectName"></router-link>
<div v-else v-html="scope.row.projectName || '--'"></div> <div v-else v-html="scope.row.projectName || '--'"></div>
</template> </template>
<template slot="province" slot-scope="scope"> <template slot="province" slot-scope="scope">
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
@sort-change="sortChange" @sort-change="sortChange"
> >
<template slot="projectName" slot-scope="scope"> <template slot="projectName" slot-scope="scope">
<router-link to="" tag="a" class="a-link" v-if="scope.row.id&&scope.row.projectName " v-html="scope.row.projectName"></router-link> <router-link :to="`/radar/debtProject/details/${scope.row.id}`" tag="a" class="a-link" v-if="scope.row.id&&scope.row.projectName " v-html="scope.row.projectName"></router-link>
<div v-else v-html="scope.row.projectName || '--'"></div> <div v-else v-html="scope.row.projectName || '--'"></div>
</template> </template>
</tables> </tables>
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
@sort-change="sortChange" @sort-change="sortChange"
> >
<template slot="projectName" slot-scope="scope"> <template slot="projectName" slot-scope="scope">
<router-link to="" tag="a" class="a-link" v-if="scope.row.id&&scope.row.projectName " v-html="scope.row.projectName"></router-link> <router-link :to="`/radar/Land/details/${scope.row.id}`" tag="a" class="a-link" v-if="scope.row.id&&scope.row.projectName " v-html="scope.row.projectName"></router-link>
<div v-else v-html="scope.row.projectName || '--'"></div> <div v-else v-html="scope.row.projectName || '--'"></div>
</template> </template>
</tables> </tables>
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
@sort-change="sortChange" @sort-change="sortChange"
> >
<template slot="projectName" slot-scope="scope"> <template slot="projectName" slot-scope="scope">
<router-link to="" tag="a" class="a-link" v-if="scope.row.id&&scope.row.projectName " v-html="scope.row.projectName"></router-link> <router-link :to="`/radar/Establishment/details/${scope.row.id}`" tag="a" class="a-link" v-if="scope.row.id&&scope.row.projectName " v-html="scope.row.projectName"></router-link>
<div v-else v-html="scope.row.projectName || '--'"></div> <div v-else v-html="scope.row.projectName || '--'"></div>
</template> </template>
<template slot="isProjcet" slot-scope="scope"> <template slot="isProjcet" slot-scope="scope">
......
...@@ -19,15 +19,15 @@ ...@@ -19,15 +19,15 @@
@handle-current-change="handleCurrentChange" @handle-current-change="handleCurrentChange"
> >
<template slot="projectName" slot-scope="scope"> <template slot="projectName" slot-scope="scope">
<router-link to="" tag="a" class="a-link" v-if="scope.row.id&&scope.row.projectName " v-html="scope.row.projectName"></router-link> <router-link :to="`/radar/bxprozbgg/details/${scope.row.id}`" tag="a" class="a-link" v-if="scope.row.id&&scope.row.projectName " v-html="scope.row.projectName"></router-link>
<div v-else v-html="scope.row.projectName || '--'"></div> <div v-else v-html="scope.row.projectName || '--'"></div>
</template> </template>
<template slot="tenderee" slot-scope="scope"> <template slot="tenderee" slot-scope="scope">
<router-link to="" tag="a" class="a-link" v-if="scope.row.tendereeId&&scope.row.tenderee " v-html="scope.row.tenderee"></router-link> <router-link :to="`/enterprise/${encodeStr(scope.row.tendereeId)}`" tag="a" class="a-link" v-if="scope.row.tendereeId&&scope.row.tenderee " v-html="scope.row.tenderee"></router-link>
<div v-else v-html="scope.row.tenderee || '--'"></div> <div v-else v-html="scope.row.tenderee || '--'"></div>
</template> </template>
<template slot="agency" slot-scope="scope"> <template slot="agency" slot-scope="scope">
<router-link to="" tag="a" class="a-link" v-if="scope.row.agencyId&&scope.row.agency " v-html="scope.row.agency"></router-link> <router-link :to="`/enterprise/${encodeStr(scope.row.agencyId)}`" tag="a" class="a-link" v-if="scope.row.agencyId&&scope.row.agency " v-html="scope.row.agency"></router-link>
<div v-else v-html="scope.row.agency || '--'"></div> <div v-else v-html="scope.row.agency || '--'"></div>
</template> </template>
<template slot="province" slot-scope="scope"> <template slot="province" slot-scope="scope">
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
@handle-current-change="handleCurrentChange" @handle-current-change="handleCurrentChange"
> >
<template slot="name" slot-scope="scope"> <template slot="name" slot-scope="scope">
<router-link to="" tag="a" class="a-link" v-if="scope.row.id&&scope.row.name " v-html="scope.row.name"></router-link> <router-link :to="`/enterprise/${encodeStr(scope.row.id)}`" tag="a" class="a-link" v-if="scope.row.id&&scope.row.name " v-html="scope.row.name"></router-link>
<div v-else v-html="scope.row.name || '--'"></div> <div v-else v-html="scope.row.name || '--'"></div>
<div class="tags" v-if="scope.row.status || scope.row.biddingAnnouncement"> <div class="tags" v-if="scope.row.status || scope.row.biddingAnnouncement">
<span class="tag style1" v-if="scope.row.status">{{scope.row.status}}</span> <span class="tag style1" v-if="scope.row.status">{{scope.row.status}}</span>
......
...@@ -2,40 +2,45 @@ ...@@ -2,40 +2,45 @@
<div class="flex-box app-container part-container"> <div class="flex-box app-container part-container">
<div class="bid-zbph"> <div class="bid-zbph">
<div class="common-title">招标偏好</div> <div class="common-title">招标偏好</div>
<div class="flex-box zbph-item"> <template v-if="dataAll.totalCount||dataAll.lastYearCount||dataAll.bidAmount||this.dtdata.length>0">
<div>历史招标总数 <div class="flex-box zbph-item">
<el-popover <div>历史招标总数
placement="top-start" <el-popover
trigger="hover" placement="top-start"
content="统计企业历年来公开招标总数"> trigger="hover"
<img src="@/assets/images/detail/overview/zbph_question.png" slot="reference"> content="统计企业历年来公开招标总数">
</el-popover> <img src="@/assets/images/detail/overview/zbph_question.png" style="width: 12px; height: 12px;" slot="reference">
<span class="zbph-item-num">{{dataAll.totalCount || '--'}}</span></div> </el-popover>
<div>近一年招标总数 <span class="zbph-item-num">{{dataAll.totalCount || '--'}}</span></div>
<el-popover <div>近一年招标总数
placement="top-start" <el-popover
trigger="hover" placement="top-start"
content="统计企业近一年公开招标总数"> trigger="hover"
<img src="@/assets/images/detail/overview/zbph_question.png" slot="reference"> content="统计企业近一年公开招标总数">
</el-popover> <img src="@/assets/images/detail/overview/zbph_question.png" style="width: 12px; height: 12px;" slot="reference">
<span class="zbph-item-num">{{dataAll.lastYearCount || '--'}}</span></div> </el-popover>
<div>历史招标总额(万元) <span class="zbph-item-num">{{dataAll.lastYearCount || '--'}}</span></div>
<el-popover <div>历史招标总额(万元)
placement="top-start" <el-popover
trigger="hover" placement="top-start"
content="统计企业历年来公开招标项目总金额"> trigger="hover"
<img src="@/assets/images/detail/overview/zbph_question.png" slot="reference"> content="统计企业历年来公开招标项目总金额">
</el-popover> <img src="@/assets/images/detail/overview/zbph_question.png" style="width: 12px; height: 12px;" slot="reference">
<span class="zbph-item-num">{{dataAll.bidAmount?parseFloat(dataAll.bidAmount.toFixed(6)):'--'}}</span></div> </el-popover>
</div> <span class="zbph-item-num">{{dataAll.bidAmount?parseFloat(dataAll.bidAmount.toFixed(6)):'--'}}</span></div>
<div class="zbph-account">招标动态 </div>
<div class="labels"> <div class="zbph-account">招标动态
<div :class="{'on':datatype==3}" @click="getDT(3)">周</div> <div class="labels">
<div :class="{'on':datatype==2}" @click="getDT(2)">月</div> <div :class="{'on':datatype==3}" @click="getDT(3)">周</div>
<div :class="{'on':datatype==1}" @click="getDT(1)">年</div> <div :class="{'on':datatype==2}" @click="getDT(2)">月</div>
<div :class="{'on':datatype==1}" @click="getDT(1)">年</div>
</div>
</div> </div>
<div id="myEcharts" style="width: 100%;height:250px; margin: 0 auto;"></div>
</template>
<div class="bid-no-data" v-else>
<no-data />
</div> </div>
<div id="myEcharts" style="width: 100%;height:250px; margin: 0 auto;"></div>
</div> </div>
<div class="bid-ywwl"> <div class="bid-ywwl">
<div class="common-title">业务往来供应商TOP5</div> <div class="common-title">业务往来供应商TOP5</div>
...@@ -79,9 +84,13 @@ ...@@ -79,9 +84,13 @@
import {encodeStr} from "@/assets/js/common" import {encodeStr} from "@/assets/js/common"
import {bidDataGroup, supplierPage} from '@/api/detail/party-a/overview' import {bidDataGroup, supplierPage} from '@/api/detail/party-a/overview'
import * as echarts from 'echarts' import * as echarts from 'echarts'
import NoData from '../../component/noData'
export default { export default {
name: 'Bidding', name: 'Bidding',
props: ['companyId'], props: ['companyId'],
components: {
NoData
},
data() { data() {
return { return {
encodeStr, encodeStr,
...@@ -111,7 +120,11 @@ export default { ...@@ -111,7 +120,11 @@ export default {
this.dttime=res.data.groupCount.map(item=>{ this.dttime=res.data.groupCount.map(item=>{
return item.span return item.span
}) })
this.initDT(this.dtdata,this.dttime) if(this.dtdata.length>0&&this.dttime.length>0){
this.$nextTick(() => {
this.initDT(this.dtdata,this.dttime)
})
}
} }
}, },
async handleSupplier() { async handleSupplier() {
...@@ -228,6 +241,9 @@ export default { ...@@ -228,6 +241,9 @@ export default {
} }
} }
} }
.bid-no-data{
margin-top: 16px;
}
.zbph-account{ .zbph-account{
position: relative; position: relative;
font-weight: bold; font-weight: bold;
...@@ -274,6 +290,8 @@ export default { ...@@ -274,6 +290,8 @@ export default {
.table-item{ .table-item{
margin-top:15px; margin-top:15px;
.ywwl-ico{ .ywwl-ico{
width: 36px;
height: 36px;
margin-left: -6px; margin-left: -6px;
} }
::v-deep .el-table .el-table__body-wrapper tr:nth-child(2n){ ::v-deep .el-table .el-table__body-wrapper tr:nth-child(2n){
......
...@@ -6,7 +6,10 @@ ...@@ -6,7 +6,10 @@
<el-tab-pane label="按项目" name="1"></el-tab-pane> <el-tab-pane label="按项目" name="1"></el-tab-pane>
</el-tabs> </el-tabs>
<div class="flex-box clue-box"> <div class="flex-box clue-box">
<div class="clue-echarts"><div id="echartsClue" style="width: 100%;height:300px; margin: 0 auto;"></div></div> <div class="clue-echarts" v-if="viewData.length>0"><div id="echartsClue" style="width: 100%;height:300px; margin: 0 auto;"></div></div>
<div class="busc-no-data" v-else>
<no-data />
</div>
<div class="table-item"> <div class="table-item">
<el-table <el-table
:data="viewData" :data="viewData"
...@@ -38,9 +41,13 @@ ...@@ -38,9 +41,13 @@
import {projectTenderDataGroup} from '@/api/detail/party-a/overview' import {projectTenderDataGroup} from '@/api/detail/party-a/overview'
import * as echarts from 'echarts' import * as echarts from 'echarts'
import {changePath} from "@/assets/js/common" import {changePath} from "@/assets/js/common"
import NoData from '../../component/noData'
export default { export default {
name: 'Busclue', name: 'Busclue',
props: ['companyId', 'statistic'], props: ['companyId', 'statistic'],
components: {
NoData
},
data() { data() {
return { return {
viewData:[], viewData:[],
...@@ -64,13 +71,17 @@ export default { ...@@ -64,13 +71,17 @@ export default {
methods: { methods: {
async handleQuery(){ async handleQuery(){
let res = await projectTenderDataGroup({cid: this.companyId, type: this.activeIndex}) let res = await projectTenderDataGroup({cid: this.companyId, type: this.activeIndex})
if(res.code==200){ if(res.code==200 && res.data.length>0){
let data = res.data, totalVal = data.map(item => item.value).reduce((prev, cur) => prev + cur) let data = res.data, totalVal = data.map(item => item.value).reduce((prev, cur) => prev + cur)
this.viewData = data.map(item => { this.viewData = data.map(item => {
let it = {name:item.name, value:item.value, percent:parseFloat(Number(Number(item.value)/Number(totalVal)*100).toFixed(2))+'%'} let it = {name:item.name, value:item.value, percent:parseFloat(Number(Number(item.value)/Number(totalVal)*100).toFixed(2))+'%'}
return it return it
}) })
this.getDT() if(this.viewData.length>0){
this.$nextTick(() => {
this.getDT()
})
}
} }
}, },
getDT(val){ getDT(val){
...@@ -149,10 +160,13 @@ export default { ...@@ -149,10 +160,13 @@ export default {
width: 100%; width: 100%;
justify-content: space-between; justify-content: space-between;
align-items: normal; align-items: normal;
margin-top: 4px; margin-top: 8px;
.clue-echarts{ .clue-echarts{
width: calc(50% - 8px); width: calc(50% - 8px);
} }
.busc-no-data{
width: calc(50% - 8px);
}
.table-item{ .table-item{
width: calc(50% - 8px); width: calc(50% - 8px);
::v-deep .el-table--border .el-table__cell{ ::v-deep .el-table--border .el-table__cell{
......
<template> <template>
<div class="app-container operations-container"> <div class="app-container operations-container">
<div class="common-title">公司经营</div> <div class="common-title">公司经营</div>
<div class="part-swiper"> <div class="part-swiper" v-if="operList.length>0">
<div class="swiper-containers swiper-oper" :style="operList.length<=6?'margin-left:0px; width: 100%;':''"> <div class="swiper-containers swiper-oper" :style="operList.length<=6?'margin-left:0px; width: 100%;':''">
<ul class="swiper-wrapper"> <ul class="swiper-wrapper">
<li class="swiper-slide" v-for="(item, index) in operList" :key="index"> <li class="swiper-slide" v-for="(item, index) in operList" :key="index">
...@@ -18,6 +18,9 @@ ...@@ -18,6 +18,9 @@
<div class="swiper-button-prev swiper-oper-prev" slot="button-prev" style="left: 0;"><i class="el-icon-arrow-left"></i></div> <div class="swiper-button-prev swiper-oper-prev" slot="button-prev" style="left: 0;"><i class="el-icon-arrow-left"></i></div>
<div class="swiper-button-next swiper-oper-next" slot="button-next" style="right: 0"><i class="el-icon-arrow-right"></i></div> <div class="swiper-button-next swiper-oper-next" slot="button-next" style="right: 0"><i class="el-icon-arrow-right"></i></div>
</div> </div>
<div class="part-swiper" v-else>
<no-data />
</div>
<div class="flex-box operations-list"> <div class="flex-box operations-list">
<div class="list-item" v-for="(item, index) in gsjyList" :key="index"> <div class="list-item" v-for="(item, index) in gsjyList" :key="index">
<div class="flex-box list-item-all"><img :src="item.ico">{{item.name}}</div> <div class="flex-box list-item-all"><img :src="item.ico">{{item.name}}</div>
...@@ -31,9 +34,13 @@ ...@@ -31,9 +34,13 @@
import {bondCreditRating} from '@/api/detail/party-a/overview' import {bondCreditRating} from '@/api/detail/party-a/overview'
var Swiper = require('@/assets/lib/swiper/swiper-bundle.min.js') var Swiper = require('@/assets/lib/swiper/swiper-bundle.min.js')
import "@/assets/lib/swiper/swiper-bundle.css" import "@/assets/lib/swiper/swiper-bundle.css"
import NoData from '../../component/noData'
export default { export default {
name: 'Overview', name: 'Overview',
props: ['companyId', 'financial'], props: ['companyId', 'financial'],
components: {
NoData
},
data() { data() {
return { return {
operList: [], operList: [],
......
...@@ -2,16 +2,26 @@ ...@@ -2,16 +2,26 @@
<div class="flex-box app-container part-container"> <div class="flex-box app-container part-container">
<div class="tender-list"> <div class="tender-list">
<div class="common-title">招标公告</div> <div class="common-title">招标公告</div>
<div class="tender-item" v-for="(item, index) in zbggList" :key="index"> <template v-if="zbggList.length>0">
<div class="flex-box tender-title"><div class="text-cl1" :title="item.projectName"><router-link :to="'/radar/Bidding/details/'+item.bid" tag="a" class="a-link">{{item.projectName}}</router-link></div><span :class="item.tenderStage=='项目动态'?'style2':item.tag=='招投标'?'style4':'style1'">{{item.tenderStage}}</span></div> <div class="tender-item" v-for="(item, index) in zbggList" :key="index">
<span class="tender-time">{{item.contact}} {{item.issueTime}}</span> <div class="flex-box tender-title"><div class="text-cl1" :title="item.projectName"><router-link :to="'/radar/Bidding/details/'+item.bid" tag="a" class="a-link">{{item.projectName}}</router-link></div><span :class="item.tenderStage=='项目动态'?'style2':item.tag=='招投标'?'style4':'style1'">{{item.tenderStage}}</span></div>
<span class="tender-time">{{item.contact}} {{item.issueTime}}</span>
</div>
</template>
<div class="tender-no-data" v-else>
<no-data />
</div> </div>
</div> </div>
<div class="tender-list"> <div class="tender-list">
<div class="common-title">企业动态</div> <div class="common-title">企业动态</div>
<div class="tender-item" v-for="(item, index) in trendList" :key="index"> <template v-if="trendList.length>0">
<div class="flex-box tender-title"><div class="text-cl1" :title="tendTitle(item.details)">{{tendTitle(item.details)}}</div><span :class="item.parentDimension=='新增分支机构'?'style2':item.parentDimension=='新增施工工法'?'style3':'style1'">{{item.parentDimension}}</span></div> <div class="tender-item" v-for="(item, index) in trendList" :key="index">
<span class="tender-time">{{item.createTime}}</span> <div class="flex-box tender-title"><div class="text-cl1" :title="tendTitle(item.details)">{{tendTitle(item.details)}}</div><span :class="item.parentDimension=='新增分支机构'?'style2':item.parentDimension=='新增施工工法'?'style3':'style1'">{{item.parentDimension}}</span></div>
<span class="tender-time">{{item.createTime}}</span>
</div>
</template>
<div class="tender-no-data" v-else>
<no-data />
</div> </div>
</div> </div>
</div> </div>
...@@ -19,10 +29,13 @@ ...@@ -19,10 +29,13 @@
<script> <script>
import {bidNoticePage, dynamicPage} from "@/api/detail/party-a/overview" import {bidNoticePage, dynamicPage} from "@/api/detail/party-a/overview"
import NoData from '../../component/noData'
export default { export default {
name: 'Tender', name: 'Tender',
props: ['companyId'], props: ['companyId'],
components: {
NoData
},
data() { data() {
return { return {
zbggParams: { zbggParams: {
...@@ -34,7 +47,7 @@ export default { ...@@ -34,7 +47,7 @@ export default {
//招标公告数据 //招标公告数据
zbggList:[], zbggList:[],
trendParams: { trendParams: {
companyId: '2453', companyId: this.companyId,
pageNum: 1, pageNum: 1,
pageSize: 5 pageSize: 5
}, },
...@@ -143,5 +156,9 @@ export default { ...@@ -143,5 +156,9 @@ export default {
} }
} }
} }
.tender-no-data{
height: 420px;
margin-top: 20px;
}
} }
</style> </style>
...@@ -29,7 +29,7 @@ export default { ...@@ -29,7 +29,7 @@ export default {
queryParams: { queryParams: {
cid: this.companyId, cid: this.companyId,
pageNum: 1, pageNum: 1,
pageSize: 20 pageSize: 100
}, },
forData: [ forData: [
{label: '姓名', prop: 'name'}, {label: '姓名', prop: 'name'},
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
@handle-current-change="handleCurrentChange" @handle-current-change="handleCurrentChange"
> >
<template slot="stockName" slot-scope="scope"> <template slot="stockName" slot-scope="scope">
<router-link to="" tag="a" class="a-link" v-if="scope.row.stockId&&scope.row.stockName " v-html="scope.row.stockName"></router-link> <router-link :to="`/enterprise/${encodeStr(scope.row.stockId)}`" tag="a" class="a-link" v-if="scope.row.stockId&&scope.row.stockName " v-html="scope.row.stockName"></router-link>
<div v-else v-html="scope.row.stockName || '--'"></div> <div v-else v-html="scope.row.stockName || '--'"></div>
<div class="tags" v-if="scope.row.businessStatus"> <div class="tags" v-if="scope.row.businessStatus">
<span class="tag style1" v-if="scope.row.businessStatus">{{scope.row.businessStatus}}</span> <span class="tag style1" v-if="scope.row.businessStatus">{{scope.row.businessStatus}}</span>
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
@handle-current-change="handleCurrentChange" @handle-current-change="handleCurrentChange"
> >
<template slot="investName" slot-scope="scope"> <template slot="investName" slot-scope="scope">
<router-link to="" tag="a" class="a-link" v-if="scope.row.id&&scope.row.investName " v-html="scope.row.investName"></router-link> <router-link :to="`/enterprise/${encodeStr(scope.row.id)}`" tag="a" class="a-link" v-if="scope.row.id&&scope.row.investName " v-html="scope.row.investName"></router-link>
<div v-else v-html="scope.row.investName || '--'"></div> <div v-else v-html="scope.row.investName || '--'"></div>
<div class="tags" v-if="scope.row.businessStatus || scope.row.biddingAnnouncement"> <div class="tags" v-if="scope.row.businessStatus || scope.row.biddingAnnouncement">
<span class="tag style1" v-if="scope.row.businessStatus">{{scope.row.businessStatus}}</span> <span class="tag style1" v-if="scope.row.businessStatus">{{scope.row.businessStatus}}</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