|
@@ -1,6 +1,6 @@
|
|
<template>
|
|
<template>
|
|
<el-dialog
|
|
<el-dialog
|
|
- title="业主采购分析报告下载"
|
|
|
|
|
|
+ title="企业中标分析报告下载"
|
|
:visible.sync="options.visible"
|
|
:visible.sync="options.visible"
|
|
:close-on-click-modal="false"
|
|
:close-on-click-modal="false"
|
|
lock-scroll
|
|
lock-scroll
|
|
@@ -12,164 +12,33 @@
|
|
<section class="report-effect-box">
|
|
<section class="report-effect-box">
|
|
<div class="left">
|
|
<div class="left">
|
|
<p class="box-label">报告作用:</p>
|
|
<p class="box-label">报告作用:</p>
|
|
- <p class="box-desc">通过业主多维度采购分析,了解业主招标动向、合作代理机构、重点及首次合作企业等,便于洞察业主采购需求,开发新客户、客户维护。</p>
|
|
|
|
|
|
+ <p class="box-desc">通过企业多维度数据分析,洞悉企业历史中标动态、市场区域分布、客户类型分布等,利于了解潜在竞争对手的竞争实力。</p>
|
|
</div>
|
|
</div>
|
|
<el-button type="primary" @click="viewExample">查看报告样例</el-button>
|
|
<el-button type="primary" @click="viewExample">查看报告样例</el-button>
|
|
</section>
|
|
</section>
|
|
- <section class="search-box">
|
|
|
|
- <div class="filter-row prop-name">
|
|
|
|
- <span class="row-label" :style="!hasPower ? 'width:80px': ''">目标业主:</span>
|
|
|
|
- <span>{{ totalInfo.buyerName }}</span>
|
|
|
|
- </div>
|
|
|
|
- <div class="filter-row" v-if="hasPower">
|
|
|
|
- <span class="row-label">成交时间:</span>
|
|
|
|
- <div class="release_container">
|
|
|
|
- <el-popover
|
|
|
|
- class="release_main"
|
|
|
|
- popper-class="release_pover"
|
|
|
|
- placement="bottom"
|
|
|
|
- width="240"
|
|
|
|
- trigger="click"
|
|
|
|
- :append-to-body="false"
|
|
|
|
- >
|
|
|
|
- <template>
|
|
|
|
- <ul class="yearul">
|
|
|
|
- <li
|
|
|
|
- class="yearlist"
|
|
|
|
- @click="setYear(item, 'start')"
|
|
|
|
- v-for="(item, index) in startYearRage"
|
|
|
|
- :key="index"
|
|
|
|
- >
|
|
|
|
- {{ item }}
|
|
|
|
- </li>
|
|
|
|
- </ul>
|
|
|
|
- </template>
|
|
|
|
- <template slot="reference">
|
|
|
|
- <el-input
|
|
|
|
- size="small"
|
|
|
|
- v-model="startYear"
|
|
|
|
- slot="reference"
|
|
|
|
- placeholder="请选择年份"
|
|
|
|
- >
|
|
|
|
- </el-input>
|
|
|
|
- <i v-show="startYear" class="input-clear-img" @click="clearClick('2')"></i>
|
|
|
|
- </template>
|
|
|
|
- </el-popover>
|
|
|
|
- <div class="rowline"></div>
|
|
|
|
- <el-popover
|
|
|
|
- class="release_main"
|
|
|
|
- popper-class="release_pover"
|
|
|
|
- placement="bottom"
|
|
|
|
- width="240"
|
|
|
|
- @show="endYearClick"
|
|
|
|
- trigger="click"
|
|
|
|
- :append-to-body="false"
|
|
|
|
- >
|
|
|
|
- <template>
|
|
|
|
- <ul class="yearul">
|
|
|
|
- <li
|
|
|
|
- class="yearlist"
|
|
|
|
- @click="setYear(item, 'end')"
|
|
|
|
- v-for="(item, index) in endYearRage"
|
|
|
|
- :key="index"
|
|
|
|
- >
|
|
|
|
- {{ item }}
|
|
|
|
- </li>
|
|
|
|
- </ul>
|
|
|
|
- </template>
|
|
|
|
- <template slot="reference">
|
|
|
|
- <el-input
|
|
|
|
- size="small"
|
|
|
|
- v-model="endYear"
|
|
|
|
- placeholder="请选择年份"
|
|
|
|
- >
|
|
|
|
- </el-input>
|
|
|
|
- <i v-show="endYear" class="input-clear-img" @click="clearClick('3')"></i>
|
|
|
|
- </template>
|
|
|
|
- </el-popover>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- <div class="filter-row more-search" v-if="hasPower">
|
|
|
|
- <span class="row-label">更多筛选条件:</span>
|
|
|
|
- <div class="search-content">
|
|
|
|
- <el-collapse-transition>
|
|
|
|
- <div v-show="moreShow">
|
|
|
|
- <div class="key-div">
|
|
|
|
- <el-input
|
|
|
|
- class="keywords-input"
|
|
|
|
- size="small"
|
|
|
|
- placeholder="请输入关键词,多个关键词用空格隔开"
|
|
|
|
- maxlength="50"
|
|
|
|
- show-word-limit
|
|
|
|
- v-model="filter.match"
|
|
|
|
- >
|
|
|
|
- <i
|
|
|
|
- v-show="filter.match"
|
|
|
|
- style="color: #cfcfcf;cursor: pointer"
|
|
|
|
- slot="suffix"
|
|
|
|
- class="el-icon-error el-input__icon"
|
|
|
|
- @click="clearClick('1')"></i>
|
|
|
|
- </el-input>
|
|
|
|
- </div>
|
|
|
|
- <div class="more">
|
|
|
|
- <!-- 搜索范围 -->
|
|
|
|
- <div class="more-item mr-16">
|
|
|
|
- <searchrangeCascader
|
|
|
|
- class="filter-item"
|
|
|
|
- v-model="originalParameter.matchRange"
|
|
|
|
- @change="matchRangeChange"
|
|
|
|
- :showOptions="matchRangeArr"
|
|
|
|
- />
|
|
|
|
- </div>
|
|
|
|
- <!-- 地区组件 -->
|
|
|
|
- <div class="more-item mr-16">
|
|
|
|
- <AreaCityCascader
|
|
|
|
- class="filter-item"
|
|
|
|
- v-model="originalParameter.area"
|
|
|
|
- @change="saveAreaData"
|
|
|
|
- :showAreaMap="subscribeAreaMap"
|
|
|
|
- :onlyProvince="true"
|
|
|
|
- ref="areaCity"
|
|
|
|
- />
|
|
|
|
- </div>
|
|
|
|
- <div class="more-item">
|
|
|
|
- <IndustryCascader
|
|
|
|
- class="filter-item"
|
|
|
|
- @change="changeIndustry"
|
|
|
|
- :showOptions="subscribeIndustryMap"
|
|
|
|
- v-model="originalParameter.industry"
|
|
|
|
- ref="industry"
|
|
|
|
- />
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- </el-collapse-transition>
|
|
|
|
- <div class="confirm-div">
|
|
|
|
- <span class="highlight" @click="moreShow = !moreShow">{{moreShow ? '收起' : '展开'}}<i :class="moreShow ? 'el-icon-arrow-up' : 'el-icon-arrow-down'"></i></span>
|
|
|
|
- <el-button type="primary" @click="doAnalyse">确定</el-button>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- </section>
|
|
|
|
|
|
+ <download-filter
|
|
|
|
+ :hasPower="options.hasPower"
|
|
|
|
+ :entName="entName"
|
|
|
|
+ :entId="entId"
|
|
|
|
+ :backFilter="backFilter"
|
|
|
|
+ :canSelect="canSelect"
|
|
|
|
+ ></download-filter>
|
|
<section class="empty" v-if="!hasPower">
|
|
<section class="empty" v-if="!hasPower">
|
|
- <div>该业主暂无采购项目,暂无法下载报告</div>
|
|
|
|
|
|
+ <div>该企业暂无中标项目,暂无法下载报告</div>
|
|
</section>
|
|
</section>
|
|
<section class="empty" v-if="hasPower && emptyShow">
|
|
<section class="empty" v-if="hasPower && emptyShow">
|
|
- <div>当前条件下该业主暂无采购项目,请修改成交时间再试试吧</div>
|
|
|
|
|
|
+ <div>当前条件下该企业暂无中标项目,请修改成交时间再试试吧</div>
|
|
</section>
|
|
</section>
|
|
<section class="market-general-box" v-if="hasPower && !emptyShow">
|
|
<section class="market-general-box" v-if="hasPower && !emptyShow">
|
|
- <span class="box-label">采购分析概况:</span>
|
|
|
|
- <span>采购项目数量:<strong>{{ totalInfo.buyerCount }}</strong></span>
|
|
|
|
- <span>采购规模:<strong>{{ totalInfo.buyerScale }}</strong></span>
|
|
|
|
- <span>中标企业数量:<strong>{{ totalInfo.winnerCount }}</strong></span>
|
|
|
|
- <span>外省中标企业:<strong>{{ totalInfo.otherWinner }}</strong></span>
|
|
|
|
|
|
+ <span class="box-label">中标分析概况:</span>
|
|
|
|
+ <span v-for="item in totalData">{{item.label}}:<strong>{{ item.count }}</strong></span>
|
|
<span class="highlight view-more" @click="viewMore">查看更多</span>
|
|
<span class="highlight view-more" @click="viewMore">查看更多</span>
|
|
</section>
|
|
</section>
|
|
<section class="download-notice-box" v-if="hasPower && !emptyShow">
|
|
<section class="download-notice-box" v-if="hasPower && !emptyShow">
|
|
<p class="box-label">下载须知:</p>
|
|
<p class="box-label">下载须知:</p>
|
|
<div class="box-desc">
|
|
<div class="box-desc">
|
|
- <p>1. 报告内容 <strong>不包含采购单位通讯录</strong>;</p>
|
|
|
|
- <p>2.“招标动态”按照发布时间排序,报告最多展示前100条,如需导出全部,请前往进行数据导出;</p>
|
|
|
|
|
|
+ <p>1. 报告内容 <strong>不包含工商变动、企业通讯录</strong>;</p>
|
|
|
|
+ <p>2.“中标动态”按照发布时间排序,报告最多展示前100条,如需导出全部,请前往进行数据导出;</p>
|
|
<p>3. 该报告数据来自于公开数据整理,不代表任何权威观点,仅供参考;</p>
|
|
<p>3. 该报告数据来自于公开数据整理,不代表任何权威观点,仅供参考;</p>
|
|
<p>4. 请在有效期内使用下载权限,逾期清零;</p>
|
|
<p>4. 请在有效期内使用下载权限,逾期清零;</p>
|
|
<p>5. 如有任何疑问,您可拨打<em class="highlight">400-108-667</em>联系客服或点击<em class="highlight t-ud" @click="openCustomer">联系在线客服</em>。</p>
|
|
<p>5. 如有任何疑问,您可拨打<em class="highlight">400-108-667</em>联系客服或点击<em class="highlight t-ud" @click="openCustomer">联系在线客服</em>。</p>
|
|
@@ -178,7 +47,7 @@
|
|
</div>
|
|
</div>
|
|
<div slot="footer" v-if="hasPower && !emptyShow && !pageLoading">
|
|
<div slot="footer" v-if="hasPower && !emptyShow && !pageLoading">
|
|
<div class="footer-con">
|
|
<div class="footer-con">
|
|
- <span class="residue">市场分析定制报告下载余额:1份</span>
|
|
|
|
|
|
+ <span class="residue">企业中标分析报告下载余额:1份</span>
|
|
<span class="go-recharge" @click="goRecharge">去充值></span>
|
|
<span class="go-recharge" @click="goRecharge">去充值></span>
|
|
<span class="deduct">本次扣除:<em>1份</em></span>
|
|
<span class="deduct">本次扣除:<em>1份</em></span>
|
|
<span class="zero-tip" v-if="residueCount === 0">余额不足,请先充值</span>
|
|
<span class="zero-tip" v-if="residueCount === 0">余额不足,请先充值</span>
|
|
@@ -191,17 +60,13 @@
|
|
<script>
|
|
<script>
|
|
import { Dialog, Button } from 'element-ui'
|
|
import { Dialog, Button } from 'element-ui'
|
|
import { debounce } from '@/utils/'
|
|
import { debounce } from '@/utils/'
|
|
-import AreaCityCascader from '@/components/selector-cascader/AreaCityCascader.vue'
|
|
|
|
-import IndustryCascader from '@/components/selector-cascader/IndustryCascader.vue'
|
|
|
|
-import searchrangeCascader from '@/components/selector-cascader/searchrangeCascader.vue'
|
|
|
|
|
|
+import DownloadFilter from './DownloadFilter.vue'
|
|
|
|
|
|
export default {
|
|
export default {
|
|
components: {
|
|
components: {
|
|
[Dialog.name]: Dialog,
|
|
[Dialog.name]: Dialog,
|
|
[Button.name]: Button,
|
|
[Button.name]: Button,
|
|
- AreaCityCascader,
|
|
|
|
- IndustryCascader,
|
|
|
|
- searchrangeCascader
|
|
|
|
|
|
+ DownloadFilter
|
|
},
|
|
},
|
|
props: {
|
|
props: {
|
|
options: {
|
|
options: {
|
|
@@ -213,10 +78,18 @@ export default {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
+ entId: {
|
|
|
|
+ type: String,
|
|
|
|
+ default: ''
|
|
|
|
+ },
|
|
|
|
+ entName: {
|
|
|
|
+ type: String,
|
|
|
|
+ default: ''
|
|
|
|
+ },
|
|
// 概况信息
|
|
// 概况信息
|
|
- totalInfo: {
|
|
|
|
- type: Object,
|
|
|
|
- default: {}
|
|
|
|
|
|
+ totalData: {
|
|
|
|
+ type: Array,
|
|
|
|
+ default: []
|
|
},
|
|
},
|
|
emptyShow: {
|
|
emptyShow: {
|
|
type: Boolean,
|
|
type: Boolean,
|
|
@@ -242,43 +115,7 @@ export default {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
data () {
|
|
data () {
|
|
- const buyerName = this.totalInfo.buyerName
|
|
|
|
return {
|
|
return {
|
|
- filter: {
|
|
|
|
- buyer: buyerName || '',
|
|
|
|
- exactMatch: '0', // 模糊、精准搜索
|
|
|
|
- match: '', // 关键词
|
|
|
|
- matchRange: 'purchasing', // 搜索范围
|
|
|
|
- area: {}, // 地区
|
|
|
|
- scopeClass: '', // 行业
|
|
|
|
- timeRange: 2018 + '_' + new Date().getFullYear(), // 成交时间范围
|
|
|
|
- buyerClass: '' // 采购单位选项
|
|
|
|
- },
|
|
|
|
- originalParameter: {
|
|
|
|
- area: {},
|
|
|
|
- industry: {},
|
|
|
|
- matchRange: ['项目名称/标的物']
|
|
|
|
- },
|
|
|
|
- startYear: null,
|
|
|
|
- endYear: null,
|
|
|
|
- // 开始时间选择项
|
|
|
|
- startYearRage: [],
|
|
|
|
- // 结束时间选择项
|
|
|
|
- endYearRage: [],
|
|
|
|
- // 搜索范围
|
|
|
|
- matchRangeObj: {
|
|
|
|
- purchasing: '项目名称/标的物',
|
|
|
|
- agency: '招标代理机构',
|
|
|
|
- winner: '中标企业',
|
|
|
|
- buyer: '采购单位'
|
|
|
|
- },
|
|
|
|
- matchRangeArr: ['项目名称/标的物', '招标代理机构', '中标企业'],
|
|
|
|
- // 地区选择项
|
|
|
|
- subscribeAreaMap: {},
|
|
|
|
- // 行业选择项
|
|
|
|
- subscribeIndustryMap: {},
|
|
|
|
- // 展开收起更多筛选条件
|
|
|
|
- moreShow: true,
|
|
|
|
// 下载余额
|
|
// 下载余额
|
|
residueCount: 0
|
|
residueCount: 0
|
|
}
|
|
}
|
|
@@ -298,237 +135,9 @@ export default {
|
|
return this.options.hasPower
|
|
return this.options.hasPower
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- created() {
|
|
|
|
- this.initSearchData()
|
|
|
|
- },
|
|
|
|
- mounted() {
|
|
|
|
- if(this.options.hasPower) {
|
|
|
|
- this.$nextTick(() => {
|
|
|
|
- this.backFilterFun()
|
|
|
|
- })
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
|
|
+ created() {},
|
|
|
|
+ mounted() {},
|
|
methods: {
|
|
methods: {
|
|
- initSearchData () {
|
|
|
|
- this.initSelectData(this.canSelect)
|
|
|
|
- // 成交时间
|
|
|
|
- const nowYear = new Date().getFullYear()
|
|
|
|
- this.startYear = 2018
|
|
|
|
- this.endYear = nowYear
|
|
|
|
- for (let i = 2018; i <= nowYear; i++) {
|
|
|
|
- this.startYearRage.push(i)
|
|
|
|
- if (this.startYear === '') {
|
|
|
|
- this.endYearRage.push(i)
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- // 初始化筛选项数据
|
|
|
|
- initSelectData (data) {
|
|
|
|
- if (!data) return
|
|
|
|
- if (!data.areaArr) {
|
|
|
|
- data.areaArr = []
|
|
|
|
- }
|
|
|
|
- if (!data.scopeArr) {
|
|
|
|
- data.scopeArr = []
|
|
|
|
- }
|
|
|
|
- const areaArr = this.dataProcessingArea(data.areaArr)
|
|
|
|
- this.subscribeAreaMap = areaArr
|
|
|
|
- const industryObj = this.initIndustryData(data.scopeArr)
|
|
|
|
- this.subscribeIndustryMap = industryObj
|
|
|
|
- },
|
|
|
|
- // 年份选择项
|
|
|
|
- setYear(data, rage) {
|
|
|
|
- if (rage === 'start') {
|
|
|
|
- this.startYear = data
|
|
|
|
- this.endYearRage = this.startYearRage.slice(
|
|
|
|
- this.startYearRage.indexOf(data),
|
|
|
|
- this.startYearRage.length
|
|
|
|
- )
|
|
|
|
- if (this.endYear !== '') {
|
|
|
|
- if (data > this.endYear) {
|
|
|
|
- this.startYear = this.endYear
|
|
|
|
- this.endYear = data
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- } else if (rage === 'end') {
|
|
|
|
- this.endYear = data
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- // 结束年份选择
|
|
|
|
- endYearClick() {
|
|
|
|
- if (this.startYear !== '') {
|
|
|
|
- this.endYearRage = this.startYearRage.slice(
|
|
|
|
- this.startYearRage.indexOf(this.startYear),
|
|
|
|
- this.startYearRage.length
|
|
|
|
- )
|
|
|
|
- } else {
|
|
|
|
- this.endYearRage = this.startYearRage
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- // 清除选项
|
|
|
|
- clearClick(data) {
|
|
|
|
- if (data === '1') {
|
|
|
|
- this.filter.match = ''
|
|
|
|
- } else if (data === '2') {
|
|
|
|
- this.startYear = ''
|
|
|
|
- } else if (data === '3') {
|
|
|
|
- this.endYear = ''
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- // 搜索范围选择
|
|
|
|
- matchRangeChange(arr) {
|
|
|
|
- // 搜索范围
|
|
|
|
- const checkBoxArr = []
|
|
|
|
- arr.forEach((item) => {
|
|
|
|
- if (item === '项目名称/标的物') {
|
|
|
|
- checkBoxArr.push('purchasing')
|
|
|
|
- }
|
|
|
|
- if (item === '采购单位') {
|
|
|
|
- checkBoxArr.push('buyer')
|
|
|
|
- }
|
|
|
|
- if (item === '中标企业') {
|
|
|
|
- checkBoxArr.push('winner')
|
|
|
|
- }
|
|
|
|
- if (item === '招标代理机构') {
|
|
|
|
- checkBoxArr.push('agency')
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- if (checkBoxArr.length > 0) {
|
|
|
|
- this.filter.matchRange = checkBoxArr.join(',')
|
|
|
|
- } else {
|
|
|
|
- this.filter.matchRange = ''
|
|
|
|
- }
|
|
|
|
- // this.$emit('onScreenChange', this.ScreenParams)
|
|
|
|
- },
|
|
|
|
- // 地区选择
|
|
|
|
- saveAreaData(data) {
|
|
|
|
- let dataArr = []
|
|
|
|
- dataArr = Object.keys(data)
|
|
|
|
- if (dataArr.length === 0) {
|
|
|
|
- this.filter.area = ''
|
|
|
|
- } else {
|
|
|
|
- this.filter.area = dataArr.join(',')
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- // 处理地区筛选项
|
|
|
|
- dataProcessingArea(arr) {
|
|
|
|
- if (!Array.isArray(arr)) return
|
|
|
|
- const map = {}
|
|
|
|
- arr.forEach((ele) => {
|
|
|
|
- map[ele] = []
|
|
|
|
- })
|
|
|
|
- return map
|
|
|
|
- },
|
|
|
|
- // 回显筛选条件
|
|
|
|
- backFilterFun () {
|
|
|
|
- if(!this.backFilter) return
|
|
|
|
- Object.assign(this.filter, this.backFilter)
|
|
|
|
- // 回显地区
|
|
|
|
- if(typeof this.backFilter.area === 'string') {
|
|
|
|
- const areaObj = {}
|
|
|
|
- const areaArr = this.backFilter.area.split(',')
|
|
|
|
- for(let item of areaArr) {
|
|
|
|
- this.$set(areaObj, item, [])
|
|
|
|
- }
|
|
|
|
- this.originalParameter.area = areaObj
|
|
|
|
- } else if(typeof this.backFilter.area === 'object') {
|
|
|
|
- this.originalParameter.area = this.backFilter.area
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- // 回显搜索范围
|
|
|
|
- if(this.backFilter?.matchRange) {
|
|
|
|
- const arr = this.backFilter.matchRange.split(',')
|
|
|
|
- const matchArr = []
|
|
|
|
- arr.forEach(item => {
|
|
|
|
- if(this.matchRangeObj[item]) {
|
|
|
|
- matchArr.push(this.matchRangeObj[item])
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- this.originalParameter.matchRange = matchArr
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- // 回显行业
|
|
|
|
- if(this.backFilter.scopeClass) {
|
|
|
|
- const scopeArr = this.backFilter.scopeClass.split(',')
|
|
|
|
- const childrenArr = []
|
|
|
|
- for(const item of scopeArr) {
|
|
|
|
- const temp = item.split('_')
|
|
|
|
- const value = temp[1]
|
|
|
|
- childrenArr.push(value)
|
|
|
|
- }
|
|
|
|
- this.originalParameter.industry = childrenArr
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- // 回显成交时间
|
|
|
|
- if(this.backFilter.timeRange) {
|
|
|
|
- const timeArr = this.backFilter.timeRange.split('_')
|
|
|
|
- this.startYear = timeArr[0] || 2018
|
|
|
|
- this.endYear = timeArr[1] || new Date().getFullYear()
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- // 处理数据为行业选择页面所需格式
|
|
|
|
- initIndustryData(data) {
|
|
|
|
- var arr = []
|
|
|
|
- var obj = {}
|
|
|
|
- if (data) {
|
|
|
|
- data.forEach(function (item) {
|
|
|
|
- item = item.split('_')
|
|
|
|
- // obj[item[0]] = item[1]
|
|
|
|
- arr.push({
|
|
|
|
- key: item[0],
|
|
|
|
- val: item[1]
|
|
|
|
- })
|
|
|
|
- })
|
|
|
|
- var tempArr = []
|
|
|
|
- var newArr = []
|
|
|
|
- for (var i = 0; i < arr.length; i++) {
|
|
|
|
- if (tempArr.indexOf(arr[i].key) === -1) {
|
|
|
|
- newArr.push({
|
|
|
|
- key: arr[i].key,
|
|
|
|
- child: [arr[i].val]
|
|
|
|
- })
|
|
|
|
- tempArr.push(arr[i].key)
|
|
|
|
- } else {
|
|
|
|
- for (var j = 0; j < newArr.length; j++) {
|
|
|
|
- if (newArr[j].key === arr[i].key) {
|
|
|
|
- newArr[j].child.push(arr[i].val)
|
|
|
|
- break
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- for (var t = 0; t < newArr.length; t++) {
|
|
|
|
- obj[newArr[t].key] = newArr[t].child
|
|
|
|
- }
|
|
|
|
- return obj
|
|
|
|
- } else {
|
|
|
|
- return '请选择行业'
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- changeIndustry(item) {
|
|
|
|
- // 行业
|
|
|
|
- const tempArr = []
|
|
|
|
- Object.keys(item).forEach((v) => {
|
|
|
|
- const tempItem = item[v]
|
|
|
|
- if (Array.isArray(tempItem)) {
|
|
|
|
- tempItem.forEach((vv) => {
|
|
|
|
- tempArr.push(`${v}_${vv}`)
|
|
|
|
- })
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- this.filter.scopeClass = tempArr.toString()
|
|
|
|
- },
|
|
|
|
- // 筛选开始分析
|
|
|
|
- doAnalyse () {
|
|
|
|
- if (this.startYear === '') {
|
|
|
|
- this.startYear = 2018
|
|
|
|
- }
|
|
|
|
- if (this.endYear === '') {
|
|
|
|
- this.endYear = new Date().getFullYear()
|
|
|
|
- }
|
|
|
|
- this.filter.timeRange = this.startYear + '_' + this.endYear
|
|
|
|
- this.$emit('onPageChange', JSON.stringify(this.filter))
|
|
|
|
- },
|
|
|
|
// 获取下载余额
|
|
// 获取下载余额
|
|
getResidueCount () {
|
|
getResidueCount () {
|
|
|
|
|
|
@@ -600,12 +209,12 @@ export default {
|
|
justify-content: space-between;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
align-items: center;
|
|
.left{
|
|
.left{
|
|
- width:720px;
|
|
|
|
|
|
+ width:758px;
|
|
}
|
|
}
|
|
.el-button{
|
|
.el-button{
|
|
- padding: 6px 35px;
|
|
|
|
- font-size:16px;
|
|
|
|
- line-height: 24px;
|
|
|
|
|
|
+ padding: 7px 22px;
|
|
|
|
+ font-size:14px;
|
|
|
|
+ line-height: 22px;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.market-general-box{
|
|
.market-general-box{
|
|
@@ -631,97 +240,6 @@ export default {
|
|
border-radius: 8px;
|
|
border-radius: 8px;
|
|
border: 1px solid rgba(0,0,0, 0.05);
|
|
border: 1px solid rgba(0,0,0, 0.05);
|
|
}
|
|
}
|
|
- .search-box{
|
|
|
|
- .filter-row{
|
|
|
|
- display: flex;
|
|
|
|
- align-items: center;
|
|
|
|
- margin-bottom: 8px;
|
|
|
|
- }
|
|
|
|
- .row-label{
|
|
|
|
- width:120px;
|
|
|
|
- color: #5F5E64;
|
|
|
|
- }
|
|
|
|
- .prop-name{
|
|
|
|
- span:nth-of-type(2) {
|
|
|
|
- font-size: 16px;
|
|
|
|
- line-height: 24px;
|
|
|
|
- color: #1d1d1d;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- .release_container {
|
|
|
|
- display: flex;
|
|
|
|
- align-items: center;
|
|
|
|
- padding: 3px 3px 3px 0;
|
|
|
|
- background: #f5f6f7;
|
|
|
|
- border-radius: 2px;
|
|
|
|
-
|
|
|
|
- .rowline {
|
|
|
|
- margin: 0 6px;
|
|
|
|
- width: 14px;
|
|
|
|
- height: 1px;
|
|
|
|
- background: #e0e0e0;
|
|
|
|
- }
|
|
|
|
- .input-clear-img{
|
|
|
|
- position: absolute;
|
|
|
|
- width: 12px;
|
|
|
|
- height: 12px;
|
|
|
|
- line-height: 32px;
|
|
|
|
- cursor: pointer;
|
|
|
|
- top: 10px;
|
|
|
|
- right: 10px;
|
|
|
|
- background: url('~@/assets/images/icon/cancel.png') no-repeat center;
|
|
|
|
- background-size: contain;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- .more-search{
|
|
|
|
- align-items: flex-start;
|
|
|
|
- .row-label{
|
|
|
|
- margin-top: 7px;
|
|
|
|
- }
|
|
|
|
- .search-content{
|
|
|
|
- flex: 1;
|
|
|
|
- }
|
|
|
|
- .more{
|
|
|
|
- display: flex;
|
|
|
|
- margin-top: 12px;
|
|
|
|
- margin-bottom: 12px;
|
|
|
|
- }
|
|
|
|
- .confirm-div{
|
|
|
|
- display: flex;
|
|
|
|
- justify-content: space-between;
|
|
|
|
- align-items: center;
|
|
|
|
- .el-icon-arrow-up, .el-icon-arrow-down{
|
|
|
|
- font-size:12px;
|
|
|
|
- margin-left:5px;
|
|
|
|
- }
|
|
|
|
- .el-button {
|
|
|
|
- padding: 4px 23px;
|
|
|
|
- font-size:14px;
|
|
|
|
- line-height: 22px;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- ::v-deep {
|
|
|
|
- .release_main {
|
|
|
|
- position: relative;
|
|
|
|
- .el-input__inner {
|
|
|
|
- width: 172px;
|
|
|
|
- height:28px;
|
|
|
|
- background: #fff;
|
|
|
|
- cursor: pointer;
|
|
|
|
- color: #1d1d1d;
|
|
|
|
- font-size: 14px;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- .keywords-input {
|
|
|
|
- width: 660px;
|
|
|
|
- .el-input--small .el-input__inner {
|
|
|
|
- height:36px;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
.empty{
|
|
.empty{
|
|
font-size: 14px;
|
|
font-size: 14px;
|
|
line-height: 22px;
|
|
line-height: 22px;
|
|
@@ -774,10 +292,6 @@ export default {
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
-
|
|
|
|
- .mr-16{
|
|
|
|
- margin-right: 16px;
|
|
|
|
- }
|
|
|
|
}
|
|
}
|
|
::v-deep {
|
|
::v-deep {
|
|
.el-dialog{
|
|
.el-dialog{
|
|
@@ -801,50 +315,5 @@ export default {
|
|
.el-button {
|
|
.el-button {
|
|
border-radius: 6px !important;
|
|
border-radius: 6px !important;
|
|
}
|
|
}
|
|
- .more-item {
|
|
|
|
- display: flex;
|
|
|
|
- align-items: center;
|
|
|
|
- .selector-cascader > .el-popover, .selector-cascader > .el-select-dropdown {
|
|
|
|
- left: unset !important;
|
|
|
|
- }
|
|
|
|
- .selector-cascader .virtual-cascader,
|
|
|
|
- .selector-cascader .el-cascader {
|
|
|
|
- min-width: 160px;
|
|
|
|
- }
|
|
|
|
- .el-input__inner{
|
|
|
|
- height:36px;
|
|
|
|
- line-height: 36px;
|
|
|
|
- }
|
|
|
|
- .el-input__suffix{
|
|
|
|
- height: 36px;
|
|
|
|
- }
|
|
|
|
- .selector-cascader > .el-popper{
|
|
|
|
- margin-top: 7px;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- .el-scrollbar__view.el-cascader-menu__list {
|
|
|
|
- min-width: 160px;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-}
|
|
|
|
-.release_pover {
|
|
|
|
- .yearul {
|
|
|
|
- display: flex;
|
|
|
|
- flex-wrap: wrap;
|
|
|
|
- justify-content: flex-start;
|
|
|
|
-
|
|
|
|
- .yearlist {
|
|
|
|
- display: flex;
|
|
|
|
- justify-content: center;
|
|
|
|
- align-items: center;
|
|
|
|
- width: 70px;
|
|
|
|
- height: 46px;
|
|
|
|
- cursor: pointer;
|
|
|
|
-
|
|
|
|
- &:hover {
|
|
|
|
- color: #2cb7ca;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
}
|
|
}
|
|
</style>
|
|
</style>
|