|
@@ -1,7 +1,7 @@
|
|
|
<template>
|
|
|
<div class="market-analysis-result">
|
|
|
<div class="analysis-result-anchors">
|
|
|
- <div class="analysis-dimensions analysis-wrap" v-fixed-nav>
|
|
|
+ <div class="analysis-dimensions analysis-wrap" v-stickyed="stickyed">
|
|
|
<div class="analysis-label">报告分析维度:</div>
|
|
|
<div class="analysis-content">
|
|
|
<el-dropdown
|
|
@@ -14,7 +14,7 @@
|
|
|
v-for="(value, key) in dimensionsTitle"
|
|
|
:key="key"
|
|
|
size="small">
|
|
|
- <span class="el-dropdown-link">
|
|
|
+ <span class="el-dropdown-link" @click="dropDownClick(value)">
|
|
|
<span class="dropdown-text">{{ value.name }}</span>
|
|
|
<i class="el-icon-caret-bottom" :class="{ highlight: value.dropDownShow }"></i>
|
|
|
</span>
|
|
@@ -40,7 +40,7 @@
|
|
|
</div>
|
|
|
<div class="bg-grey-h24"></div>
|
|
|
<div class="analysis-result-list">
|
|
|
- <section class="analysis-result-section">
|
|
|
+ <section class="analysis-result-section section-market">
|
|
|
<div class="analysis-result-title pd-lr20">市场规模</div>
|
|
|
<div class="analysis-result-content sub-section-list">
|
|
|
<!-- 市场概况 -->
|
|
@@ -172,8 +172,8 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</section>
|
|
|
- <div class="bg-grey-h24" v-if="buyerclassSectionShow"></div>
|
|
|
- <section class="analysis-result-section"
|
|
|
+ <div class="bg-grey-h24" v-if="!sections.loaded.buyerWinner || buyerclassSectionShow"></div>
|
|
|
+ <section class="analysis-result-section section-buyer"
|
|
|
v-if="!sections.loaded.buyerWinner || (buyerclassSectionShow && sections.loaded.buyerWinner)"
|
|
|
v-loading="!sections.loaded.buyerWinner">
|
|
|
<div class="analysis-result-title pd-lr20">采购单位</div>
|
|
@@ -199,8 +199,8 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</section>
|
|
|
- <div class="bg-grey-h24" v-if="winnerSectionShow"></div>
|
|
|
- <section class="analysis-result-section"
|
|
|
+ <div class="bg-grey-h24" v-if="!sections.loaded.buyerWinner || winnerSectionShow"></div>
|
|
|
+ <section class="analysis-result-section section-winner"
|
|
|
v-if="!sections.loaded.buyerWinner || (winnerSectionShow && sections.loaded.buyerWinner)"
|
|
|
v-loading="!sections.loaded.buyerWinner">
|
|
|
<div class="analysis-result-title pd-lr20">中标单位</div>
|
|
@@ -268,6 +268,10 @@ export default {
|
|
|
return {
|
|
|
loaded: false,
|
|
|
loading: false,
|
|
|
+ stickyed: {
|
|
|
+ className: ['dim-fixed'],
|
|
|
+ startFixedTop: 0 // 从高度为startFixedTop处开始置顶
|
|
|
+ },
|
|
|
reportFilters: {
|
|
|
keys: [],
|
|
|
selectTime: '',
|
|
@@ -279,14 +283,20 @@ export default {
|
|
|
dimensionsTitle: {
|
|
|
market: {
|
|
|
name: '市场规模',
|
|
|
+ anchor: 'section-market',
|
|
|
+ show: true,
|
|
|
dropDownShow: false
|
|
|
},
|
|
|
buyer: {
|
|
|
name: '采购单位',
|
|
|
+ anchor: 'section-buyer',
|
|
|
+ show: true,
|
|
|
dropDownShow: false
|
|
|
},
|
|
|
winner: {
|
|
|
name: '中标单位',
|
|
|
+ anchor: 'section-winner',
|
|
|
+ show: true,
|
|
|
dropDownShow: false
|
|
|
}
|
|
|
},
|
|
@@ -458,8 +468,16 @@ export default {
|
|
|
created () {
|
|
|
this.sendRequest()
|
|
|
},
|
|
|
- mounted () {},
|
|
|
+ mounted () {
|
|
|
+ this.calcStickyNav()
|
|
|
+ },
|
|
|
methods: {
|
|
|
+ calcStickyNav () {
|
|
|
+ const offset = $(`.${this.dimensionsTitle.market.anchor}`).offset()
|
|
|
+ if (offset) {
|
|
|
+ this.stickyed.startFixedTop = offset.top + 5
|
|
|
+ }
|
|
|
+ },
|
|
|
onEmpty () {
|
|
|
this.$emit('onEmpty')
|
|
|
},
|
|
@@ -602,7 +620,7 @@ export default {
|
|
|
{
|
|
|
label: '项目平均金额',
|
|
|
unit: '万元',
|
|
|
- count: 10.04,
|
|
|
+ count: 0,
|
|
|
ringRatio: 0
|
|
|
},
|
|
|
{
|
|
@@ -818,6 +836,7 @@ export default {
|
|
|
}
|
|
|
|
|
|
if (total) {
|
|
|
+ scaleData.rows.reverse()
|
|
|
this.$set(this.sections.projectScatter, 'chartData', scaleData)
|
|
|
if (this.sections.projectScatter.tableData.length) {
|
|
|
this.showDimensionsOptions('market', 'project-scatter')
|
|
@@ -1513,8 +1532,9 @@ export default {
|
|
|
if (!item.show) return
|
|
|
const anchor = item.anchor
|
|
|
const offset = $('.' + anchor).offset()
|
|
|
+ const headerH = $('#public-nav')[0]?.clientHeight || 0
|
|
|
if (offset) {
|
|
|
- $('body,html').animate({ scrollTop: offset.top })
|
|
|
+ $('body,html').animate({ scrollTop: offset.top + headerH + 64 })
|
|
|
}
|
|
|
},
|
|
|
moneyUnit (...args) {
|
|
@@ -1650,6 +1670,7 @@ i.el-icon-caret-bottom {
|
|
|
|
|
|
.analysis-result-anchors {
|
|
|
padding: 20px;
|
|
|
+ height: 120px;
|
|
|
border-radius: 4px;
|
|
|
}
|
|
|
|
|
@@ -1757,4 +1778,13 @@ i.el-icon-caret-bottom {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+.dim-fixed {
|
|
|
+ left: calc(50% + 100px);
|
|
|
+ transform: translateX(-50%);
|
|
|
+ width: 1000px;
|
|
|
+ padding: 16px;
|
|
|
+ background-color: #fff;
|
|
|
+ box-shadow: 0px 4px 16px 1px rgba(0, 0, 0, 0.06);
|
|
|
+}
|
|
|
</style>
|