|
@@ -2,11 +2,11 @@
|
|
<div class="bidinfoactive">
|
|
<div class="bidinfoactive">
|
|
<div class="pro_active_head">
|
|
<div class="pro_active_head">
|
|
<div class="pro_a_h_left">
|
|
<div class="pro_a_h_left">
|
|
- <span>中标信息</span>
|
|
|
|
|
|
+ <span>{{title}}</span>
|
|
</div>
|
|
</div>
|
|
<div class="pro_a_h_right" v-show="noScreen" @click="screenShow">
|
|
<div class="pro_a_h_right" v-show="noScreen" @click="screenShow">
|
|
<span class="pro_screen">高级分析设置</span>
|
|
<span class="pro_screen">高级分析设置</span>
|
|
- <img src="@/assets/images/icon/jyxiazh.png" class="pro_scr_img" />
|
|
|
|
|
|
+ <img src="@/assets/images/jyxia.png" :class="proScreenShow?'rotateClass':''" class="pro_scr_img" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="pro_screen_list" v-show="proScreenShow">
|
|
<div class="pro_screen_list" v-show="proScreenShow">
|
|
@@ -23,7 +23,7 @@
|
|
@focus="getFocus"
|
|
@focus="getFocus"
|
|
@change="keySearch"
|
|
@change="keySearch"
|
|
v-model="ScreenParams.match">
|
|
v-model="ScreenParams.match">
|
|
- <i slot="suffix" v-if="cancelShow" @click="cancelClick">
|
|
|
|
|
|
+ <i slot="suffix" v-if="cancelShow" @click="cancelClick('1')">
|
|
<img style="width:12px;height:12px;ling-height:32px;cursor: pointer;" src="@/assets/images/icon/cancel.png" class="inputcancel" />
|
|
<img style="width:12px;height:12px;ling-height:32px;cursor: pointer;" src="@/assets/images/icon/cancel.png" class="inputcancel" />
|
|
</i>
|
|
</i>
|
|
</el-input>
|
|
</el-input>
|
|
@@ -44,13 +44,9 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="release_infotype pro_r_list">
|
|
<div class="release_infotype pro_r_list">
|
|
- <InfoTypeSelect
|
|
|
|
- ref="infoTypeSelect"
|
|
|
|
- :initInfoType="infoTypeList"
|
|
|
|
- @onChange="saveInfoTypeData"
|
|
|
|
- selectorType = 'line'>
|
|
|
|
- <div slot="header">信息类型:</div>
|
|
|
|
- </InfoTypeSelect>
|
|
|
|
|
|
+ <IndustrySelector ref="industrySel" selectorType="line">
|
|
|
|
+ <div slot="header">行业:</div>
|
|
|
|
+ </IndustrySelector>
|
|
</div>
|
|
</div>
|
|
<div class="release_area pro_r_list">
|
|
<div class="release_area pro_r_list">
|
|
<AreaSelector
|
|
<AreaSelector
|
|
@@ -64,34 +60,37 @@
|
|
<div class="release_time pro_r_list">
|
|
<div class="release_time pro_r_list">
|
|
<span class="list_label">分析年份:</span>
|
|
<span class="list_label">分析年份:</span>
|
|
<div class="release_container">
|
|
<div class="release_container">
|
|
- <div class="block">
|
|
|
|
- <el-date-picker
|
|
|
|
- :picker-options="{
|
|
|
|
- disabledDate: (time) => {
|
|
|
|
- let minYear = new Date().getFullYear() - 4
|
|
|
|
- return time > Date.now() || time.getTime() < new Date(JSON.stringify(minYear))
|
|
|
|
- }
|
|
|
|
- }"
|
|
|
|
- prefix-icon="before-icon"
|
|
|
|
- size="small"
|
|
|
|
- class="timePicker startPicker"
|
|
|
|
- v-model="startYearRage"
|
|
|
|
- type="year"
|
|
|
|
- placeholder="选择年份">
|
|
|
|
- </el-date-picker>
|
|
|
|
- </div>
|
|
|
|
|
|
+ <el-popover
|
|
|
|
+ class="release_main"
|
|
|
|
+ popper-class="release_pover"
|
|
|
|
+ placement="bottom"
|
|
|
|
+ width="240"
|
|
|
|
+ trigger="click">
|
|
|
|
+ <template v-slot="content">
|
|
|
|
+ <ul class="yearul">
|
|
|
|
+ <li class="yearlist" @click="setAnalySisYear(item, 'start')" v-for="(item, index) in startYearRage" :key="index">{{item}}</li>
|
|
|
|
+ </ul>
|
|
|
|
+ </template>
|
|
|
|
+ <el-input size="small" :disabled="true" style="cursor: pointer;" v-model="ScreenParams.startyear" slot="reference" placeholder="请选择年份">
|
|
|
|
+ </el-input>
|
|
|
|
+ <img slot="reference" v-show="startYearShow" style="position:absolute;width:12px;height:12px;ling-height:32px;cursor: pointer;top:10px;right:10px;z-index:9999" src="@/assets/images/icon/cancel.png" @click="cancelClick('2')" class="inputcancel" />
|
|
|
|
+ </el-popover>
|
|
<div class="rowline"></div>
|
|
<div class="rowline"></div>
|
|
- <div class="block">
|
|
|
|
- <el-date-picker
|
|
|
|
- :picker-options="endYearRage"
|
|
|
|
- prefix-icon="before-icon"
|
|
|
|
- size="small"
|
|
|
|
- class="timePicker endPicker"
|
|
|
|
- v-model="ScreenParams.endyear"
|
|
|
|
- type="year"
|
|
|
|
- placeholder="选择年份">
|
|
|
|
- </el-date-picker>
|
|
|
|
- </div>
|
|
|
|
|
|
+ <el-popover
|
|
|
|
+ class="release_main"
|
|
|
|
+ popper-class="release_pover"
|
|
|
|
+ placement="bottom"
|
|
|
|
+ width="240"
|
|
|
|
+ trigger="click">
|
|
|
|
+ <template v-slot="content">
|
|
|
|
+ <ul class="yearul">
|
|
|
|
+ <li class="yearlist" @click="setAnalySisYear(item, 'end')" v-for="(item, index) in endYearRage" :key="index">{{item}}</li>
|
|
|
|
+ </ul>
|
|
|
|
+ </template>
|
|
|
|
+ <el-input size="small" :disabled="true" style="cursor: pointer;" v-model="ScreenParams.endyear" slot="reference" placeholder="请选择年份">
|
|
|
|
+ </el-input>
|
|
|
|
+ <img slot="reference" v-show="endYearShow" style="position:absolute;width:12px;height:12px;ling-height:32px;cursor: pointer;top:10px;right:10px;z-index:9999" src="@/assets/images/icon/cancel.png" @click="cancelClick('3')" class="inputcancel" />
|
|
|
|
+ </el-popover>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="bidinfo_footer">
|
|
<div class="bidinfo_footer">
|
|
@@ -104,15 +103,15 @@
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
-import { Pagination, RadioGroup, DatePicker, Radio, Input, Checkbox, CheckboxGroup } from 'element-ui'
|
|
|
|
|
|
+import { Pagination, RadioGroup, Popover, Radio, Input, Checkbox, CheckboxGroup } from 'element-ui'
|
|
import { mapState } from 'vuex'
|
|
import { mapState } from 'vuex'
|
|
import { infoTypeListExp, provinceListMapExp } from '@/assets/js/selector.js'
|
|
import { infoTypeListExp, provinceListMapExp } from '@/assets/js/selector.js'
|
|
import Empty from '@/components/common/Empty'
|
|
import Empty from '@/components/common/Empty'
|
|
|
|
+import IndustrySelector from '@/components/selector/IndustrySelector.vue'
|
|
import AreaSelector from '@/components/selector/AreaSelector.vue'
|
|
import AreaSelector from '@/components/selector/AreaSelector.vue'
|
|
-import InfoTypeSelect from '@/components/selector/InfoTypeSelector'
|
|
|
|
import { moneyUnit, dateFormatter } from '@/utils'
|
|
import { moneyUnit, dateFormatter } from '@/utils'
|
|
export default {
|
|
export default {
|
|
- props: ['projectData', 'type', 'screenList'],
|
|
|
|
|
|
+ props: ['projectData', 'type', 'title'],
|
|
name: 'entproactive',
|
|
name: 'entproactive',
|
|
components: {
|
|
components: {
|
|
[Pagination.name]: Pagination,
|
|
[Pagination.name]: Pagination,
|
|
@@ -121,9 +120,9 @@ export default {
|
|
[Input.name]: Input,
|
|
[Input.name]: Input,
|
|
[Radio.name]: Radio,
|
|
[Radio.name]: Radio,
|
|
[RadioGroup.name]: RadioGroup,
|
|
[RadioGroup.name]: RadioGroup,
|
|
- [DatePicker.name]: DatePicker,
|
|
|
|
|
|
+ [Popover.name]: Popover,
|
|
AreaSelector,
|
|
AreaSelector,
|
|
- InfoTypeSelect,
|
|
|
|
|
|
+ IndustrySelector,
|
|
Empty
|
|
Empty
|
|
},
|
|
},
|
|
data () {
|
|
data () {
|
|
@@ -138,7 +137,6 @@ export default {
|
|
},
|
|
},
|
|
isShow: false,
|
|
isShow: false,
|
|
getTimeList: [],
|
|
getTimeList: [],
|
|
- infoTypeList: [],
|
|
|
|
checkList: ['项目名称/标的物'],
|
|
checkList: ['项目名称/标的物'],
|
|
proScreenShow: false,
|
|
proScreenShow: false,
|
|
ScreenParams: {
|
|
ScreenParams: {
|
|
@@ -156,23 +154,18 @@ export default {
|
|
},
|
|
},
|
|
cancelShow: false,
|
|
cancelShow: false,
|
|
optionModel: false,
|
|
optionModel: false,
|
|
- startYearRage: {},
|
|
|
|
- endYearRage: {}
|
|
|
|
|
|
+ startYearRage: [],
|
|
|
|
+ endYearRage: [],
|
|
|
|
+ startYearShow: false,
|
|
|
|
+ endYearShow: false
|
|
}
|
|
}
|
|
},
|
|
},
|
|
created () {
|
|
created () {
|
|
this.initData(this.projectData)
|
|
this.initData(this.projectData)
|
|
},
|
|
},
|
|
mounted () {
|
|
mounted () {
|
|
- this.initScreenData(this.screenList)
|
|
|
|
},
|
|
},
|
|
computed: {
|
|
computed: {
|
|
- getList () {
|
|
|
|
- if (this.type === 'analisisPage') {
|
|
|
|
- return this.listState.list.slice((this.listState.pageNum - 1) * this.listState.pageSize, this.listState.pageNum * this.listState.pageSize)
|
|
|
|
- }
|
|
|
|
- return this.listState.list
|
|
|
|
- },
|
|
|
|
...mapState({
|
|
...mapState({
|
|
info: state => state.user.info
|
|
info: state => state.user.info
|
|
}),
|
|
}),
|
|
@@ -184,8 +177,23 @@ export default {
|
|
projectData (newVal, oldVal) {
|
|
projectData (newVal, oldVal) {
|
|
this.initData(newVal)
|
|
this.initData(newVal)
|
|
},
|
|
},
|
|
- screenList (newVal, oldVal) {
|
|
|
|
- this.initScreenData(newVal)
|
|
|
|
|
|
+ 'ScreenParams.startyear': {
|
|
|
|
+ handler (newval) {
|
|
|
|
+ if (newval === '') {
|
|
|
|
+ this.startYearShow = false
|
|
|
|
+ } else {
|
|
|
|
+ this.startYearShow = true
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ 'ScreenParams.endyear': {
|
|
|
|
+ handler (newval) {
|
|
|
|
+ if (newval === '') {
|
|
|
|
+ this.endYearShow = false
|
|
|
|
+ } else {
|
|
|
|
+ this.endYearShow = true
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
@@ -193,22 +201,17 @@ export default {
|
|
dateFormatter,
|
|
dateFormatter,
|
|
initData (obj) {
|
|
initData (obj) {
|
|
// 处理可选年份
|
|
// 处理可选年份
|
|
- // const nowYear = new Date().getFullYear()
|
|
|
|
- // for (let i = nowYear - 4; i <= nowYear; i++) {
|
|
|
|
- // this.startYearRage.push(i)
|
|
|
|
- // }
|
|
|
|
- if (obj.proActiveList && obj.proActiveList.length !== 0) {
|
|
|
|
- this.listState.list = obj.proActiveList
|
|
|
|
- this.listState.total = obj.count
|
|
|
|
- this.isShow = false
|
|
|
|
- } else if (obj.buyerHistroyList && obj.buyerHistroyList !== 0) {
|
|
|
|
- this.listState.list = obj.buyerHistroyList
|
|
|
|
- this.listState.total = obj.buyerHistroyList.length
|
|
|
|
- this.isShow = false
|
|
|
|
- } else {
|
|
|
|
- this.listState.list = []
|
|
|
|
- this.listState.total = 0
|
|
|
|
- this.isShow = true
|
|
|
|
|
|
+ const nowYear = new Date().getFullYear()
|
|
|
|
+ for (let i = nowYear - 4; i <= nowYear; i++) {
|
|
|
|
+ this.startYearRage.push(i)
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ setAnalySisYear (data, rage) {
|
|
|
|
+ if (rage === 'start') {
|
|
|
|
+ this.ScreenParams.startyear = data + '年'
|
|
|
|
+ this.endYearRage = this.startYearRage.slice(this.startYearRage.indexOf(data), this.startYearRage.length)
|
|
|
|
+ } else if (rage === 'end') {
|
|
|
|
+ this.ScreenParams.endyear = data + '年'
|
|
}
|
|
}
|
|
},
|
|
},
|
|
// 处理可筛选数据
|
|
// 处理可筛选数据
|
|
@@ -246,9 +249,6 @@ export default {
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
this.$refs.businessScopeSelector.setState(defaultArr)
|
|
this.$refs.businessScopeSelector.setState(defaultArr)
|
|
}, 1000)
|
|
}, 1000)
|
|
- // 信息类型
|
|
|
|
- const infoTypeArr = this.getInitInfoType(data.infoType)
|
|
|
|
- this.$refs.infoTypeSelect.initList(infoTypeArr)
|
|
|
|
// 地区
|
|
// 地区
|
|
const areaArr = this.getInitArea(data.areaArr)
|
|
const areaArr = this.getInitArea(data.areaArr)
|
|
this.$refs.areaSelector.initList(areaArr)
|
|
this.$refs.areaSelector.initList(areaArr)
|
|
@@ -259,9 +259,15 @@ export default {
|
|
this.cancelShow = true
|
|
this.cancelShow = true
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- cancelClick () {
|
|
|
|
- this.ScreenParams.match = ''
|
|
|
|
- this.cancelShow = false
|
|
|
|
|
|
+ cancelClick (data) {
|
|
|
|
+ if (data === '1') {
|
|
|
|
+ this.ScreenParams.match = ''
|
|
|
|
+ this.cancelShow = false
|
|
|
|
+ } else if (data === '2') {
|
|
|
|
+ this.ScreenParams.startyear = ''
|
|
|
|
+ } else if (data === '3') {
|
|
|
|
+ this.ScreenParams.endyear = ''
|
|
|
|
+ }
|
|
},
|
|
},
|
|
getInput () {
|
|
getInput () {
|
|
if (this.ScreenParams.match.indexOf(' ') !== -1) {
|
|
if (this.ScreenParams.match.indexOf(' ') !== -1) {
|
|
@@ -340,12 +346,6 @@ export default {
|
|
checkChangeList () {
|
|
checkChangeList () {
|
|
const checkBoxArr = []
|
|
const checkBoxArr = []
|
|
this.checkList.forEach((item) => {
|
|
this.checkList.forEach((item) => {
|
|
- if (item === '标题') {
|
|
|
|
- checkBoxArr.push('title')
|
|
|
|
- }
|
|
|
|
- if (item === '正文') {
|
|
|
|
- checkBoxArr.push('content')
|
|
|
|
- }
|
|
|
|
if (item === '项目/标的物') {
|
|
if (item === '项目/标的物') {
|
|
checkBoxArr.push('purchasing')
|
|
checkBoxArr.push('purchasing')
|
|
}
|
|
}
|
|
@@ -355,9 +355,6 @@ export default {
|
|
if (item === '招标代理机构') {
|
|
if (item === '招标代理机构') {
|
|
checkBoxArr.push('agency')
|
|
checkBoxArr.push('agency')
|
|
}
|
|
}
|
|
- if (item === '附件') {
|
|
|
|
- checkBoxArr.push('file')
|
|
|
|
- }
|
|
|
|
})
|
|
})
|
|
if (checkBoxArr.length > 0) {
|
|
if (checkBoxArr.length > 0) {
|
|
this.ScreenParams.matchType = checkBoxArr.join(',')
|
|
this.ScreenParams.matchType = checkBoxArr.join(',')
|
|
@@ -367,11 +364,6 @@ export default {
|
|
this.resetListState()
|
|
this.resetListState()
|
|
this.$emit('onScreenChange', this.ScreenParams)
|
|
this.$emit('onScreenChange', this.ScreenParams)
|
|
},
|
|
},
|
|
- saveInfoTypeData (data) {
|
|
|
|
- this.ScreenParams.infoType = data.join(',')
|
|
|
|
- this.resetListState()
|
|
|
|
- this.$emit('onScreenChange', this.ScreenParams)
|
|
|
|
- },
|
|
|
|
// 关键词搜索
|
|
// 关键词搜索
|
|
keySearch () {
|
|
keySearch () {
|
|
this.resetListState()
|
|
this.resetListState()
|
|
@@ -403,15 +395,45 @@ export default {
|
|
.el-checkbox__input.is-focus .el-checkbox__inner{
|
|
.el-checkbox__input.is-focus .el-checkbox__inner{
|
|
border-color: #2cb7ca;
|
|
border-color: #2cb7ca;
|
|
}
|
|
}
|
|
|
|
+ .release_main{
|
|
|
|
+ position:relative;
|
|
|
|
+ .el-input__inner{
|
|
|
|
+ background: #fff;
|
|
|
|
+ cursor: pointer;
|
|
|
|
+ color: #1D1D1D;
|
|
|
|
+ font-size: 14px;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
</style>
|
|
</style>
|
|
<style lang="scss" scoped>
|
|
<style lang="scss" scoped>
|
|
|
|
+.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;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|
|
.bidinfoactive{
|
|
.bidinfoactive{
|
|
width: 856px;
|
|
width: 856px;
|
|
::v-deep {
|
|
::v-deep {
|
|
.s-line .select-group-container{
|
|
.s-line .select-group-container{
|
|
margin: 0;
|
|
margin: 0;
|
|
}
|
|
}
|
|
|
|
+ .s-header>div{
|
|
|
|
+ text-align: right;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
.el-pagination-container{
|
|
.el-pagination-container{
|
|
justify-content: center;
|
|
justify-content: center;
|
|
@@ -432,6 +454,7 @@ export default {
|
|
line-height: 28px;
|
|
line-height: 28px;
|
|
}
|
|
}
|
|
.pro_a_h_left{
|
|
.pro_a_h_left{
|
|
|
|
+ position: relative;
|
|
display: flex;
|
|
display: flex;
|
|
align-items: center;
|
|
align-items: center;
|
|
.search-input{
|
|
.search-input{
|
|
@@ -439,6 +462,15 @@ export default {
|
|
width: 240px;
|
|
width: 240px;
|
|
height: 30px;
|
|
height: 30px;
|
|
}
|
|
}
|
|
|
|
+ &::after{
|
|
|
|
+ content: '';
|
|
|
|
+ position: absolute;
|
|
|
|
+ left: -32px;
|
|
|
|
+ width: 3px;
|
|
|
|
+ height: 24px;
|
|
|
|
+ background: #2cb7ca;
|
|
|
|
+ border-radius: 0px 2px 2px 0px;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
.pro_a_h_right{
|
|
.pro_a_h_right{
|
|
cursor: pointer;
|
|
cursor: pointer;
|
|
@@ -447,13 +479,19 @@ export default {
|
|
font-family: Microsoft YaHei, Microsoft YaHei-Regular;
|
|
font-family: Microsoft YaHei, Microsoft YaHei-Regular;
|
|
font-weight: 400;
|
|
font-weight: 400;
|
|
text-align: LEFT;
|
|
text-align: LEFT;
|
|
- color: #2cb7ca;
|
|
|
|
|
|
+ color: #686868;
|
|
|
|
+ &:hover{
|
|
|
|
+ color: #2cb7ca;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
.pro_scr_img{
|
|
.pro_scr_img{
|
|
margin-left: 5px;
|
|
margin-left: 5px;
|
|
width: 12px;
|
|
width: 12px;
|
|
// height: 12px;
|
|
// height: 12px;
|
|
}
|
|
}
|
|
|
|
+ .rotateClass{
|
|
|
|
+ transform: rotate(180deg);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
.pro_screen_list{
|
|
.pro_screen_list{
|
|
margin-top: 16px;
|
|
margin-top: 16px;
|
|
@@ -477,17 +515,6 @@ export default {
|
|
height: 1px;
|
|
height: 1px;
|
|
background: #e0e0e0;
|
|
background: #e0e0e0;
|
|
}
|
|
}
|
|
- .timePicker {
|
|
|
|
- ::v-deep .el-input__inner{
|
|
|
|
- padding-left: 8px!important;
|
|
|
|
- font-size: 14px;
|
|
|
|
- font-family: Microsoft YaHei, Microsoft YaHei-Regular;
|
|
|
|
- font-weight: 400;
|
|
|
|
- text-align: LEFT;
|
|
|
|
- color: #1d1d1d;
|
|
|
|
- line-height: 22px;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
}
|
|
}
|
|
.list_label{
|
|
.list_label{
|
|
margin-right: 16px;
|
|
margin-right: 16px;
|
|
@@ -503,6 +530,7 @@ export default {
|
|
display: flex;
|
|
display: flex;
|
|
flex-direction: column;
|
|
flex-direction: column;
|
|
width: 100%;
|
|
width: 100%;
|
|
|
|
+ flex: 1;
|
|
.key_radio{
|
|
.key_radio{
|
|
margin-top: 16px;
|
|
margin-top: 16px;
|
|
}
|
|
}
|