Commit da51b9eb authored by 远方不远's avatar 远方不远

HY

parent 16fb72f8
...@@ -371,7 +371,7 @@ select { ...@@ -371,7 +371,7 @@ select {
width: 100%; width: 100%;
height: 0px; height: 0px;
opacity: 1; opacity: 1;
border: 1px solid #EFEFEF; border-bottom: 1px solid #EFEFEF;
margin: 16px 0px; margin: 16px 0px;
} }
......
<template>
<div class="keyword_wrap">
<el-dialog
title="关键词推荐"
:visible.sync="dialogVisible"
width="800"
class="keyword_dialog"
append-to-body
:lock-scroll="false"
>
<div class="keyword_label">请搜索或采用关键词种类</div>
<div v-if="dialogVisible">
<el-select @change="changeKeyword" v-model="keyword" clearable class="keyword_select" popper-class="keyword_dropdown" filterable :filter-method="filterMethod" placeholder="请选择">
<el-option
v-for="item in options"
:key="item.id"
:label="item.type"
:value="item.content">
<span v-html="item.newType||item.type"></span>
</el-option>
</el-select>
<div>
<div class="keyword_name" >
<el-scrollbar style="height:256px">
<ul>
<li v-for="(item,index) in keywordList" :class="activeIndex == index?'active_li':''" :key="index" @click="keywordClick(index)">{{item.type}}</li>
</ul>
</el-scrollbar>
</div>
<div class="keyword_con">
<el-input
type="textarea"
:autosize="{ minRows: 1, maxRows: 8}"
placeholder="请输入内容"
v-model="content">
</el-input>
<span class="keyword_con_label">
<!-- <img class="keyword_con_img" src="@/assets/img/performance/tip.png" alt=""> -->
关键词可编辑或删减</span>
<div class="keyword_btn" @click="handclick">应用关键词</div>
</div>
</div>
</div>
</el-dialog>
</div>
</template>
<script>
var debounce=function(fn, delay = 300) {
var timer = null;
return function() {
var _this = this;
var args = arguments;
if (timer) clearTimeout(timer);
timer = setTimeout(function() {
fn.apply(_this, args);
}, delay);
};
}
export default {
data(){
return{
dialogVisible:false,
activeIndex:0,
keyword:"",
content:"",
options:[],
keywordList:[]
}
},
methods:{
changeKeyword(){
this.keywordList.map((item,index)=>{
if(item.content == this.keyword){
this.activeIndex = index
this.content = this.keywordList[this.activeIndex].content
this.$nextTick(()=>{
let el = document.getElementsByClassName("active_li")[0]
el.scrollIntoView()
})
}
})
},
// 筛选方法
filterMethod: debounce(function(filterVal) {
let newArr = JSON.parse(JSON.stringify(this.keywordList))
if (filterVal) {
let filterArr = newArr.filter((item) => {
if (item == null) {
return false
} else {
item.newType = item.type.replace(new RegExp(filterVal, 'g'), "<span style='color:#FF204E;'>" + filterVal +
"</span>")
return item.type.toLowerCase().includes(filterVal.toLowerCase())
}
})
this.options = filterArr;
} else {
this.options = newArr;
}
}, 500),
handclick(){
this.$emit('keywordClick',this.content)
Object.assign(this.$data, this.$options.data()) //重置data
},
keywordClick(index){
this.activeIndex = index
this.content = this.keywordList[this.activeIndex].content
},
show(){
// this.$axios.post("/nationzj/project/keywordList").then(res=>{
// if(res.data.code==200){
// this.keywordList = res.data.data
// this.options = res.data.data
// // localStorage.setItem("keyword",JSON.stringify(res.data.data))
// this.content = this.keywordList[this.activeIndex].content;
// this.dialogVisible = true;
// }
// })
this.dialogVisible = true;
/*if(localStorage.getItem("keyword")){
this.keywordList = JSON.parse(localStorage.getItem("keyword"));
this.options = this.keywordList;
this.content = this.keywordList[this.activeIndex].content;
this.dialogVisible = true;
}else{
this.$axios.post("/nationzj/project/keywordList").then(res=>{
if(res.data.code==200){
this.keywordList = res.data.data
this.options = res.data.data
localStorage.setItem("keyword",JSON.stringify(res.data.data))
this.content = this.keywordList[this.activeIndex].content;
this.dialogVisible = true;
}
})
}*/
},
},
}
</script>
<style lang="scss">
.keyword_dialog{
.el-dialog{
width: 800px;
height: 384px;
background: #FFFFFF;
border-radius: 4px 4px 4px 4px;
opacity: 1;
position: relative;
.keyword_label{
position: absolute;
top: 11px;
left: 115px;
}
.el-dialog__header{
padding-left: 24px;
padding-top: 9px;
color: #333333;
font-weight: bold;
border-bottom: 1px solid #EEEEEE;
.el-dialog__title{
font-size: 16px;
}
.el-dialog__headerbtn{
font-size: 20px;
top: 5px;
right: 16px;
}
}
.el-dialog__body{
padding-top: 16px;
.keyword_select{
margin-bottom: 8px;
width: 376px;
.el-input,.el-input__inner{
width: 376px;
}
}
.keyword_name{
display: inline-block;
text-align: center;
width: 180px;
position: relative;
background:#F8F8F8;
border:1px solid rgba(230,230,230,1);
border-radius:2px 2px 0px 0px;
.el-scrollbar__wrap{
overflow-x: hidden;
}
li{
height:40px;
line-height:40px;
box-sizing: border-box;
cursor: pointer;
overflow: hidden;
text-overflow:ellipsis;
white-space: nowrap;
padding: 0 5px;
color: #999999;
&:hover{
color: #0081FF;
background: #E2EDFF;
font-weight:bold;
}
}
.active_li{
color: #0081FF;
background: #E2EDFF;
font-weight:bold;
}
.el-input .el-input__inner{
height: 40px;
border-radius: 4px 4px 0 0;
border: none;
border-bottom: 1px solid #E6E6E6;
}
}
.keyword_con{
float: right;
display: inline-block;
position: relative;
margin-right: 4px;
width: 576px;
height:258px;
background:rgba(255,255,255,1);
border:1px solid rgba(230,230,230,1);
border-radius:2px 2px 0px 0px;
box-sizing: border-box;
textarea{
border: none;
resize:none;
max-height: 256px;
color: #333333;
padding: 16px;
}
.keyword_btn{
cursor: pointer;
line-height:28px;
color: #ffffff;
text-align: center;
position: absolute;
bottom: 24px;
right: 16px;
width: 102px;
height: 28px;
background: #0081FF;
border-radius: 2px 2px 2px 2px;
opacity: 1;
}
.keyword_con_label{
color: #999999;
font-size: 12px;
margin-left: 16px;
.keyword_con_img{
width: 14px;
height: 14px;
position: relative;
top: -2px;
}
}
}
}
}
}
.el-autocomplete-suggestion{
width: 140px!important;
}
.el-autocomplete-suggestion__wrap{
max-height: 370px!important;
}
</style>
...@@ -164,7 +164,21 @@ export const constantRoutes = [ ...@@ -164,7 +164,21 @@ export const constantRoutes = [
meta: { title: '拟建项目详情', icon: 'radar' } meta: { title: '拟建项目详情', icon: 'radar' }
} }
] ]
},
{
path: '/bxprozbgg',
component: Layout,
hidden: true,
redirect: 'noredirect',
children: [
{
path: '/radar/bxprozbgg/details/:id(\\d+)',
component: () => import('@/views/radar/bxprozbgg/details'),
name: 'bxprozbggDetails',
meta: { title: '标讯pro项目详情', icon: 'radar' }
} }
]
},
] ]
// 动态路由,基于用户权限动态去加载 // 动态路由,基于用户权限动态去加载
......
<template>
<div class="app-container qyzx-details">
<div class="bottomlist">
<ul class="bottomlist-content">
<li class="bottomlist-list">
<p class="list-titel">
绿色节能型压缩机基础件、汽车零配件新建项目 (芜湖旭日机械制造有限公司)
</p>
<div class="list-content">
<p class="list-content-text">
<span>发布日期:</span>
<span>2014-05-12</span>
</p>
<p class="list-content-text">
<span>开标时间:</span>
<span class='text-red'>2014-05-12 9:00</span>
</p>
</div>
<div class="list-content-img" @mouseenter="showimg=false" @mouseleave="showimg=true">
<img v-if="showimg" src="@/assets/images/bxpro/original1.png">
<img v-else src="@/assets/images/bxpro/original.png">
<span>原文链接</span>
</div>
</li>
</ul>
</div>
<div class="content main3 main4">
<div class="common-title common-title1 clearfix">
<span class="common-title-span">附件下载</span>
<div class="common-title-list">
<p>
<img src="@/assets/images/bxpro/pdf.png" alt="">
<span>竞争对手</span>
</p>
<p>
<img src="@/assets/images/bxpro/pdf.png" alt="">
<span>项目简析</span>
</p>
<p>
<img src="@/assets/images/bxpro/pdf.png" alt="">
<span>成本分析</span>
</p>
<p>
<img src="@/assets/images/bxpro/pdf.png" alt="">
<span>招标文件</span>
</p>
</div>
</div>
</div>
<div class="content main3">
<div class="common-title">基本信息</div>
<div class="main3-box">
<p>
<label class="label">工程类型</label>
<span>1.36倍</span>
<label class="label">工程类别</label>
<span>1.36倍</span>
</p>
<p>
<label class="label">项目投资额(万元)</label>
<span >1.36倍</span>
<label class="label">招标控制价/合同 估算价(万元)</label>
<span>1.36倍</span>
</p>
<p>
<label class="label">建安费暂估(万元)</label>
<span >1.36倍</span>
<label class="label">勘察费暂估(万元)</label>
<span>1.36倍</span>
</p>
<p>
<label class="label">设计费暂估(万元)</label>
<span>1.36倍</span>
<label class="label">投标保证金(万元)</label>
<span>1.36倍</span>
</p>
<p>
<label class="label">计划工期</label>
<span>1.36倍</span>
<label class="label">项目属地</label>
<span>1.36倍</span>
</p>
<p>
<label class="label">发布时间</label>
<span>1.36倍</span>
<label class="label">开标时间</label>
<span class="color1">1.36倍</span>
</p>
<p>
<label class="label">评标办法</label>
<span>1.36倍</span>
<label class="label">项目级别</label>
<span>1.36倍</span>
</p>
<p>
<label class="label">建设规模</label>
<span class="span-one">1.36倍</span>
</p>
<p>
<label class="label">招标范围</label>
<span class="span-one">1.36倍</span>
</p>
<p>
<label class="label">保证金缴纳方式</label>
<span>1.36倍</span>
<label class="label">开标地点</label>
<span>1.36倍</span>
</p>
<p>
<label class="label">建设地点</label>
<span>1.36倍</span>
<label class="label">资金来源</label>
<span>1.36倍</span>
</p>
<p>
<label class="label">评标委员会</label>
<span class="span-one">1.36倍</span>
</p>
<p>
<label class="label">履约保证金 (形式 及金额)</label>
<span class="span-one">1.36倍</span>
</p>
</div>
</div>
<div class="content main3">
<div class="common-title">投标要求</div>
<div class="main3-box">
<p>
<label class="label">资质要求</label>
<span class="span-one">1.36倍</span>
</p>
<p>
<label class="label">业绩要求</label>
<span class="span-one">1.36倍</span>
</p>
<p>
<label class="label">项目负责人要求</label>
<span class="span-one">1.36倍</span>
</p>
</div>
</div>
<div class="content main3">
<div class="common-title">相关企业</div>
<div class="main3-box">
<p>
<label class="label">招标人</label>
<span class="color2">1.36倍</span>
<label class="label">代理机构</label>
<span class="color2">1.36倍</span>
</p>
<p>
<label class="label">招标人联系方式</label>
<span>1.36倍</span>
<label class="label">招标人联系地址</label>
<span>1.36倍</span>
</p>
<p>
<label class="label">代理机构联系方式</label>
<span>1.36倍</span>
<label class="label">代理机构联系地址</label>
<span>1.36倍</span>
</p>
</div>
</div>
</div>
</template>
<script>
import "@/assets/styles/public.css";
export default {
name: 'bxprozbggDetails',
data() {
return {
id: '',
tableData: [{
id: 0,
name: '20重庆债14(2005938)',
time: '2020-09-18',
gm: '285.24',
zj: '否',
}],
showimg:true,
}
},
created() {
console.log(this.$route.params)
this.id = this.$route.params.id
},
methods: {
}
}
</script>
<style lang="scss" scoped>
.bottomlist {
width: 100%;
background-color: #FFFFFF;
border-radius: 4px 4px 4px 4px;
.bottomlist-title {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 12px;
padding: 16px;
border-bottom: 1px solid #EFEFEF;
.title-right {
display: flex;
align-items: center;
p:first-child {
font-size: 12px;
font-weight: 400;
color: #3D3D3D;
margin-right: 10px;
}
p:last-child {
display: flex;
align-items: center;
font-size: 14px;
font-weight: 400;
color: rgba(35, 35, 35, 0.8);
}
img {
width: 18px;
height: 18px;
}
}
}
.bottomlist-content {
padding-bottom: 0px;
}
.bottomlist-list {
padding: 16px;
font-size: 14px;
border-bottom: 1px solid #EFEFEF;
padding-bottom: 14px;
position: relative;
.list-titel {
font-size: 16px;
font-weight: 700;
color: #3D3D3D;
line-height: 19px;
.list-titel-a {
text-decoration: none;
color: #3D3D3D;
}
a:hover,
a:visited,
a:link,
a:active {
color: #3D3D3D;
}
}
.content-label {
margin-top: 7px;
.list-label {
background: #F3F3FF;
color: #8491E8;
border-radius: 1px 1px 1px 1px;
padding: 3px 7px;
font-size: 12px;
}
}
.list-content {
margin-top: 3px;
display: flex;
justify-content: start;
align-items: center;
.list-content-text {
margin-top: 7px;
display: flex;
justify-content: start;
align-items: center;
margin-right: 27px;
font-size: 14px;
span:first-child {
font-weight: 400;
color: rgba(35, 35, 35, 0.4);
line-height: 15px
}
span:last-child {
font-weight: 400;
color: rgba(35, 35, 35, 0.8);
line-height: 15px
}
.blue {
color: #0081FF !important;
cursor: pointer;
}
.text-red{
color: #FF3C3C !important;
}
}
}
.list-content-img{
position: absolute;
top: 16px;
right:14px ;
color: #0081FF;
display: flex;
align-items: center;
font-size: 14px;
cursor: pointer;
img{
width: 14px;
height: 14px;
margin-right: 4px;
}
}
.list-content-img:hover{
color: #0067CC;
}
.list-addree {
width: auto;
background: #F3F4F5;
display: inline-flex;
margin-top: 7px;
.list-content-text {
margin-top: 0px;
span {
line-height: 30px !important;
}
}
img {
width: 14px;
margin: 0 8px;
}
}
}
// .bottomlist-list:hover {
// background: #F6F9FC;
// cursor: pointer;
// }
.pagination {
padding: 14px;
.el-pagination {
float: right;
}
}
}
.app-container {
padding: 0;
}
.qyzx-details {
.tab {
font-size: 12px;
color: #A1A1A1;
span {
color: #232323;
}
}
.content {
margin-top: 16px;
background: #FFFFFF;
padding: 16px;
border-radius: 4px;
}
.common-title {
margin-bottom: 8px;
.common-title-span{
float: left;
line-height: 15px;
}
.common-title-list{
float: left;
margin-left: 80px;
top: 10px;
display: flex;
align-items: center;
p{
display: flex;
align-items: center;
font-size: 14px;
font-weight: 400;
color: rgba(35,35,35,0.8);
cursor: pointer;
margin-right: 30px;
img{
width: 14px;
margin-right: 4px;
}
}
p:hover{
color: #0081FF;
}
}
}
.common-title1{
margin-bottom: 0px;
}
.main3 {
.main3-box {
margin-top: 22px;
border-top: 1px solid #E6E9F0;
p {
display: flex;
margin: 0;
border: 1px solid #E6E9F0;
border-top: none;
.label {
width: 10%;
height: auto;
font-weight: 400;
font-size: 12px;
padding: 12px;
background: #F0F3FA;
display: flex;
align-items: center;
}
span {
display: flex;
align-items: center;
width: 40%;
color: #000;
padding: 12px;
font-size: 12px;
}
.span-one {
width: 90%;
}
.color1{
color: #FF3C3C;
}
.color2{
color: #0081FF;
cursor: pointer;
}
}
}
}
.main4{
background-image: url(../../../assets/images/bxpro/bgfdf.png);
background-size: 100% 100%;
background-repeat: no-repeat;
border: 2px dashed #888;
}
}
</style>
\ No newline at end of file
<template>
<div>
<div class="content">
<div class="content_item">
<div class="label">项目名称</div>
<div class="content_right">
<el-input class="ename_input" v-model="keyword"
placeholder="请输入项目名称、文章关键词,多关键词用空格隔开,如:房建 地基"></el-input>
</div>
</div>
<div class="content_item">
<div class="label">招采单位</div>
<div class="content_right">
<el-input v-model="jskBidQueryDto.companyName" clearable
class="land_ipt_470" placeholder="请输入招标采购单位名称"></el-input>
</div>
</div>
<div class="content_item">
<div class="label">招标代理</div>
<div class="content_right">
<el-input v-model="jskBidQueryDto.agency" clearable class="land_ipt_470"
placeholder="请输入招标代理机构名称"></el-input>
</div>
</div>
<div class="content_item">
<div class="label">阶段类型</div>
<div class="content_right">
<div class="select-popper">
<span :class="{ color_text: jskBidQueryDto.tenderStage.length }">
招采环节阶段{{jskBidQueryDto.tenderStage.length? jskBidQueryDto.tenderStage.length + "项": ""}}
<i class="el-icon-caret-bottom"></i>
</span>
<el-select v-model="jskBidQueryDto.tenderStage" class="select-multiple" multiple placeholder="请选择">
<el-option v-for="(item, i) in tenderStageOptions" :key="i" :label="item.label":value="item.value">
</el-option>
</el-select>
</div>
<div class="select-popper">
<span :class="{ color_text: jskBidQueryDto.tenderingManner.length }">
招采交易类型{{jskBidQueryDto.tenderingManner.length? jskBidQueryDto.tenderingManner.length + "项" : ""}}
<i class="el-icon-caret-bottom"></i>
</span>
<el-select v-model="jskBidQueryDto.tenderingManner" class="select-multiple" multiple placeholder="请选择">
<el-option v-for="(item, i) in tenderingMannerOptions" :key="i" :label="item.label":value="item.value">
</el-option>
</el-select>
</div>
</div>
</div>
<div class="content_item">
<div class="label">更多筛选</div>
<div class="content_right">
<div class="select-popper select-popper1">
<span :class="{color_text: jskBidQueryDto.province.length ||jskBidQueryDto.city.length ||jskBidQueryDto.county.length,}">
行政区划{{jskBidQueryDto.province.length ||jskBidQueryDto.city.length ||jskBidQueryDto.county.length?
jskBidQueryDto.province.length +jskBidQueryDto.city.length +jskBidQueryDto.county.length + "项": ""}}
<i class="el-icon-caret-bottom"></i>
</span>
<el-cascader ref="address" class="cascader-region" v-model="addressType" :options="addressList":props="props" @change="domicileChange" collapse-tags clearable>
</el-cascader>
</div>
<el-dropdown @command="punishDatehandleCommand" trigger="click" ref="punishDateShowPopper":hide-on-click="false">
<span class="el-dropdown-link" :class="punishDateValue ? 'color_text' : ''">发布时间{{ punishDateValue ? " 1项" : ""}}
<i class="el-icon-caret-bottom"></i>
</span>
<div>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item v-for="(item, i) in punishDateOptions" :class="punishDateValue && punishDateValue == item.value? 'color_text' : ''" :key="i" :command="item.value">
<div @mouseenter="hidePoper">{{ item.label }}</div>
</el-dropdown-item>
<el-dropdown-item command="自定义" style="padding: 0; text-indent: 20px">
<div @mouseenter="mouseenter">
<span :class="punishDateValue == '自定义' ? 'color_text' : ''">
自定义<i class="el-icon-arrow-right"></i>
</span>
<el-date-picker v-if="punishDateShowPopper" @change="changepunishDate"class="land_date_picker" v-model="punishDate" ref="datePicker"
value-format="yyyy-MM-dd" type="daterange" range-separator="至"
start-placeholder="开始日期" end-placeholder="结束日期">
</el-date-picker>
</div>
</el-dropdown-item>
</el-dropdown-menu>
</div>
</el-dropdown>
<div class="select-popper ">
<span :class="{ color_text: jskBidQueryDto.projectType.length }">
项目类别{{jskBidQueryDto.projectType.length? jskBidQueryDto.projectType.length + "项": ""}}
<i class="el-icon-caret-bottom"></i>
</span>
<el-select v-model="jskBidQueryDto.projectType" class="select-multiple" multiple placeholder="请选择">
<el-option v-for="(item, i) in projectTypeOptions" :key="i" :label="item" :value="item">
</el-option>
</el-select>
</div>
<div class="select-popper">
<span :class="{ color_text: jskBidQueryDto.subjectMatter.length }">
招标采购分类{{jskBidQueryDto.subjectMatter.length? jskBidQueryDto.subjectMatter.length + "项": ""}}
<i class="el-icon-caret-bottom"></i>
</span>
<el-select v-model="jskBidQueryDto.subjectMatter" class="select-multiple" multiple placeholder="请选择">
<el-option v-for="(item, i) in subjectMatterOptions" :key="i" :label="item" :value="item">
</el-option>
</el-select>
</div>
<el-dropdown @command="bidMoneyhandleCommand" trigger="click" ref="bidMoneyShowPopper":hide-on-click="false">
<span class="el-dropdown-link" :class=" jskBidQueryDto.startBidMoney || jskBidQueryDto.endBidMoney? 'color_text' : ''">
预算金额{{jskBidQueryDto.startBidMoney || jskBidQueryDto.endBidMoney? " 1项": ""}}
<i class="el-icon-caret-bottom"></i>
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item v-for="(item, i) in bidMoneyOptions" :class="jskBidQueryDto.startBidMoney == item.value[0] &&jskBidQueryDto.endBidMoney == item.value[1] &&
!startBidMoney &&!endBidMoney? 'color_text': ''" :key="i" :command="item.value">
{{ item.label }}
</el-dropdown-item>
<el-dropdown-item command="" style="padding: 0; text-indent: 20px">
<div @mouseenter="bidMoneyShowPopper = true" @mouseleave="bidMoneyShowPopper = false">
<span :class="(startBidMoney || endBidMoney) &&jskBidQueryDto.startBidMoney == startBidMoney &&jskBidQueryDto.endBidMoney == endBidMoney? 'color_text' : ''">
自定义<i class="el-icon-arrow-right"></i>
</span>
<div class="jabph_popper_box" style="position: absolute" v-if="bidMoneyShowPopper">
<div class="jabph_popper_wrap">
<el-input class="jabph_popper_input" v-limit-num clearable v-model="startBidMoney"></el-input>
</div>
<div class="jabph_popper_wrap">
<el-input class="jabph_popper_input" v-limit-num clearable v-model="endBidMoney"></el-input>
</div>
<div style="">
<el-button size="mini" @click="bidMoneyCancel">取消</el-button>
<el-button type="primary" size="mini" @click="bidMoneyPopperConfirm">确定
</el-button>
</div>
</div>
</div>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<div class="select-popper">
<span :class="{ color_text: jskBidQueryDto.source.length }">
源网站{{jskBidQueryDto.source.length? jskBidQueryDto.source.length + "项": ""}}
<i class="el-icon-caret-bottom"></i>
</span>
<!-- <Select ref="sourceNameSelect" @getSelectValue="getSourceName" /> -->
</div>
<div class="select-popper">
<span :class="{ color_text: jskBidQueryDto.phonePoint.length }">
有无联系电话{{jskBidQueryDto.phonePoint.length? jskBidQueryDto.phonePoint.length + "项": ""}}
<i class="el-icon-caret-bottom"></i>
</span>
<el-select v-model="jskBidQueryDto.phonePoint" class="select-multiple" multiple placeholder="请选择" @change="phonePointBtn">
<el-option v-for="(item, i) in phonePointType" :key="i" :label="item.label":value="item.value">
</el-option>
</el-select>
</div>
</div>
</div>
<div class="content_item content_item_padding0">
<div class="geduan">
</div>
</div>
<div class="content_item content_item_padding0">
<div class="search-new">
<span @click="search()">查询</span>
<span @click="reset">重置</span>
</div>
</div>
</div>
<div id="tender_wrap">
<div class="data_list" v-if="false">
<div style="height: 16px;width: 1200px;background:#F7F9FC;margin-left: -16px;"></div>
<div class="data_list_head">
共为您找到<span class="data_list_count"> {{ total }} </span>条相关结果
<div class="bottom-toolbar-right float_right" style="position:relative;top:1px;">
<el-popover v-model="fieldshow" placement="bottom-end" trigger="click"
popper-class="viewlist-el-popover">
<ul class="pup_list">
<li v-for="(itme,i) in fieldOptions" :class="itme.status?'active':''"
@click="handsequencingList(i)" :key="i">
{{itme.value}}
</li>
</ul>
<span slot="reference" class="toolbar-right-download"
style="width: auto;padding: 0px 8px;margin-right:4px;">
{{fieldText}}<i class="el-icon-caret-bottom"
:style="{transform:fieldshow?'rotate(180deg)':''}"></i>
</span>
</el-popover>
<span size="small" class="toolbar-right-download toolbar-right-download1"
@click="search('','','isExport')">
导出数据
</span>
</div>
</div>
<div style="border-top:1px solid #efefef;padding-bottom:1px;width: 1200px;margin-left: -16px;"
v-if="total<1">
<div class="search_empty_wrap">
<ul>
<li class="search_empty_wrap_li search_empty_wrap_li1">没有找到相关数据,您可尝试:</li>
<li class="search_empty_wrap_li"><i class="disc"></i>输入更准确的关键词,重新搜索</li>
<li class="search_empty_wrap_li"><i class="disc"></i>尝试减少输入的关键词,增加搜索范围</li>
<li class="search_empty_wrap_li"><i class="disc"></i>更换筛选条件,重新搜索</li>
<li class="search_empty_wrap_li"><i
class="disc"></i>联系客服进行反馈<span>400-023-5755</span>(工作日09:00-18:00)或<span><nuxt-link
title="意见反馈" :to="`/feedback/`" target="_blank">意见反馈</nuxt-link></span></li>
</ul>
</div>
</div>
<div v-else>
<div v-for="(item, index) in tableData" class="data_list_item" :key="index">
<nuxt-link class="data_list_h1 data_list_h1_1" :to="`/biz/bx/${deleteChar(item.id)}.html`"
target="_blank"
:title="item.projectName.replace(/<font color='#FF204E'>/g,'').replace(/<\/font>/g,'')"
v-if="item.id && item.projectName" v-html="item.projectName"></nuxt-link>
<div class="data_list_h1" v-else-if="item.projectName" v-html="item.projectName"></div>
<div class="label_box" v-if="
item.tenderStage ||
item.domicile ||
item.tenderingManner ||
item.projectType
">
<span class="label_span label_span1"
v-if="item.tenderStage&&item.tenderStage!='其他'&&item.tenderStage!='空白'">{{
item.tenderStage
}}</span>
<span class="label_span label_span2" v-if="item.domicile">{{
item.domicile
}}</span>
<span class="label_span label_span3"
v-if="item.tenderingManner&&item.tenderingManner!='其他'&&item.tenderingManner!='空白'">{{
item.tenderingManner
}}</span>
<span class="label_span label_span3"
v-if="item.projectType&&item.projectType!='其他'&&item.projectType!='空白'">{{
item.projectType
}}</span>
</div>
<div class="label_wrap" v-if="item.companyName || item.agency">
<template v-if="item.companyName">
<span class="label_item">招采单位:</span>
</template>
<template v-if="item.agency">
<span class="label_item">代理单位:</span>
</template>
</div>
<div class="label_wrap" v-if="item.bidMoney || item.agencyContactTel || item.contactTel">
<template v-if="item.bidMoney">
<span class="label_item">预算金额:</span><span
class="label_con">{{ item.bidMoney }}万元</span>
</template>
<template v-if="item.contactTel || item.agencyContactTel">
<span class="label_item">联系方式:</span><span class="label_con">
<template v-if="item.contactTel">招采单位 {{ item.contact }} {{ item.contactTel
}}{{
item.contactTel && item.agencyContactTel ? ";" : ""
}}</template>
<template v-if="item.agencyContactTel">代理单位 {{ item.agencyContact }}
{{ item.agencyContactTel }}</template>
</span>
</template>
</div>
<div class="label_wrap" v-if="item.contentInfo">
<span class="label_item" style="position:relative;top:-4px;">正文内容:</span><span
class="label_con label_con1" v-html="item.contentInfo"></span>
</div>
<div class="label_wrap" v-if="item.punishDate || item.overTime">
<template v-if="item.punishDate">
<span class="label_item">发布时间:</span><span
class="label_con">{{ item.punishDate }}</span>
</template>
<template v-if="item.overTime">
<span class="label_item">报名截止日期:</span><span
class="label_con">{{ item.overTime }}</span>
</template>
<template v-if="item.source">
<span class="label_item">来源网站:</span>
<span class="label_con">{{ item.source }}</span>
<!--<el-popover
placement="bottom"
trigger="hover"
:content="item.otherSourceText">
<span slot="reference" class="label_con label_con2" >
<template v-for="(item1,index) in item.otherSource" >
{{item1.sourceName}}{{index == item.otherSource.length - 1 ?"":"、"}}
</template>
</span>
</el-popover>-->
</template>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
// import Select from "@/components/businessOpportunities/Select.vue";
import jsk_data from '../../../../../public/jsk.json';
export default {
name: 'Tender',
components: {
// Select
},
data() {
return {
//有无联系方式
phonePointType: [{
value: '',
label: '不限'
},
{
value: 'hasPhone',
label: '有联系电话'
},
{
value: 'hasContactTel',
label: '有招标单位联系电话'
},
{
value: 'hasAgencyTel',
label: '有代理机构联系电话'
},
{
value: 'noPhone',
label: '无联系电话'
}
],
phonePointList: [],
punishDateOptions: [{
label: "不限",
value: "",
},
{
label: "今天",
value: "今天",
},
{
label: "近3日",
value: "近3日",
},
{
label: "近7日",
value: "近7日",
},
{
label: "近1个月",
value: "近1个月",
},
{
label: "近3个月",
value: "近3个月",
},
{
label: "近半年",
value: "近半年",
},
{
label: "近1年",
value: "近1年",
},
],
addressList: [],
addressType: [],
props: {
multiple: true,
expandTrigger: "hover",
value: "id",
},
keyword: "",
keywordNot: "",
tenderType: "",
tenderTypeOptions: [{
value: "不限",
key: "",
status: true,
},
{
value: "招标采购信息",
key: "招标采购信息",
status: false,
},
{
value: "中标、成交信息",
key: "中标、成交信息",
status: false,
},
{
value: "参投信息",
key: "参投信息",
status: false,
},
],
tenderStageOptions: [{
value: "招标公告",
label: "招标公告",
},
{
value: "招标计划",
label: "招标计划",
},
{
value: "补充公告",
label: "补充公告",
},
{
value: "终止公告",
label: "终止公告",
},
{
value: "废标公告",
label: "废标公告",
},
{
value: "流标公告",
label: "流标公告",
},
{
value: "重新招标",
label: "重新招标",
},
{
value: "更正公告",
label: "更正公告",
},
{
value: "资格预审公告",
label: "资格预审公告",
},
{
value: "澄清公告",
label: "澄清公告",
},
{
value: "答疑补遗公告",
label: "答疑补遗公告",
}
],
tenderStageOptions2: [{
value: "中标公示",
label: "中标公示",
},
{
value: "中标公告",
label: "中标公告",
},
{
value: "成交",
label: "成交",
},
{
value: "终止",
label: "终止",
},
{
value: "非标",
label: "非标",
},
{
value: "流标",
label: "流标",
},
{
value: "合同及验收",
label: "合同及验收",
},
],
tenderStageOptions3: [{
value: "开标",
label: "开标",
},
{
value: "参投记录",
label: "参投记录",
},
],
tenderingMannerOptions: [{
value: "询价",
label: "询价",
},
{
value: "比选",
label: "比选",
},
{
value: "邀请",
label: "邀请",
},
{
value: "竞争性谈判",
label: "竞争性谈判",
},
{
value: "竞争性磋商",
label: "竞争性磋商",
},
{
value: "单一来源",
label: "单一来源",
},
{
value: "直接发包",
label: "直接发包",
},
{
value: "竞价",
label: "竞价",
},
{
value: "公开招标",
label: "公开招标",
},
{
value: "其他",
label: "其他",
},
],
scopeOptions: [{
value: "contentInfo",
label: "正文",
},
{
value: "companyName",
label: "企业名称",
},
{
value: "projectName",
label: "项目名称",
},
],
selectedHeight: 64,
projectTypeOptions: [],
contactOptions: [{
value: "不限",
label: "不限",
},
{
value: "有招采单位联系人",
label: "有招采单位联系人",
},
{
value: "有中标单位联系人",
label: "有中标单位联系人",
},
{
value: "有招标代理机构联系人",
label: "有招标代理机构联系人",
},
],
subjectMatterOptions: [
],
jskBidQueryDto: {
province: [],
city: [],
county: [],
tenderStage: [],
tenderingManner: [],
queryScope: [],
projectType: [],
subjectMatter: [],
source: [],
phonePoint: [],
},
page: 1,
limit: 20,
pageFlag: true,
punishDate: "",
punishDateShowPopper: false,
punishDateValue: "",
startBidMoney: "",
endBidMoney: "",
bidMoneyShowPopper: false,
bidMoneyOptions: [{
value: "不限",
label: "不限",
},
{
value: [0, 100],
label: "100万元以下",
},
{
value: [100, 300],
label: "100万-300万元",
},
{
value: [300, 1000],
label: "300万-1000万元",
},
{
value: [1000, 5000],
label: "1000万-5000万元",
},
{
value: [5000, 20000],
label: "5000万-2亿元",
},
{
value: [20000, ""],
label: "2亿元以上",
},
],
fieldshow: false,
fieldText: '默认排序',
field: '', //查询结果排序方式
fieldOptions: [{
key: "",
value: "默认排序",
status: true,
},
{
key: "punishDate",
value: "发布日期从晚到早",
status: false,
},
{
key: "projectAmount",
value: "预算金额从大到小",
status: false,
},
{
key: "overTime",
value: "报名截止日期从晚到早",
status: false,
},
],
domicile: [],
conditionsArr: [],
total: 6000,
page: 1,
pageSize: 20
};
},
computed: {
checkjskBidQueryDto() {
let arr = [];
let flag = false;
let data = {};
let keyid, value, title;
if (this.domicile.length > 0) {
data = {
title: "行政区划:",
value: this.domicile.join(","),
}
arr.push(data)
}
if (this.keyword) {
data = {
title: "项目包含:",
value: this.keyword,
}
arr.push(data)
flag = true;
}
if (this.keywordNot) {
data = {
title: "项目排除:",
value: this.keywordNot,
}
arr.push(data)
flag = true;
}
if (this.punishDateValue == "自定义") {
data = {
title: "发布时间:",
value: this.jskBidQueryDto.startPunishDate + "~" + this.jskBidQueryDto.endPunishDate,
}
arr.push(data)
}
if (this.punishDateValue && this.punishDateValue != "自定义") {
data = {
title: "发布时间:",
value: this.punishDateValue,
}
arr.push(data)
}
for (var i in this.jskBidQueryDto) {
if (this.jskBidQueryDto[i]) {
keyid = i;
value = this.jskBidQueryDto[i];
if (
Object.prototype.toString.call(this.jskBidQueryDto[i]) ===
"[object Array]"
) {
if (this.jskBidQueryDto[i].length > 0) {
flag = true;
switch (i) {
case 'tenderStage':
title = "招采环节阶段:";
break;
case 'tenderingManner':
title = "招采交易类型:";
break;
case 'projectType':
title = "项目类别:";
break;
case 'subjectMatter':
title = "招标采购分类:";
break;
case 'source':
title = "来源网站:";
break;
case 'phonePoint':
title = "有无联系方式:";
break;
default:
title = "";
break;
}
} else {
title = ""
}
} else {
title = ""
flag = true;
}
if (title) {
data = {
keyid: keyid,
value: value,
title: title,
key: value
}
arr.push(data)
}
}
}
this.conditionsArr = arr
return flag;
},
},
created() {
// this.$axios.get('https://files.jiansheku.com/file/json/common/searchDic.json').then(res => {
// if (res && res.status == 200) {
// this.projectTypeOptions = res.data.projectType;
// this.subjectMatterOptions = res.data.subjectMatter
// }
// }).catch(error=>{
//   
// });
},
mounted() {
this.addressListfn();
},
methods: {
//有无联系方式
phonePointBtn(e) {
for (var i = 0; e.length > i; i++) {
if (!e[i]) {
this.jskBidQueryDto.phonePoint = []
}
}
},
// 返回单条权限
permissionsJudge(permission, field, pilist) {
return permissionsJudge(permission, field, pilist);
},
goThrough(el, data) {
return goThrough(el, data, this);
},
permissionsField(tagName, permission) {
return permissionsField(tagName, permission);
},
refresh(value) {
if (value) {
this.$router.go(0)
}
},
search(page, limit, exportFlag) {
if (!page) {
this.page = 1;
}
if (!limit) {
this.limit = 20;
}
if (!page && !limit) {
this.reloadPage();
}
var data = JSON.parse(JSON.stringify(this.jskBidQueryDto));
data.province = data.province.join(",");
data.city = data.city.join(",");
data.county = data.county.join(",");
data.tenderStage = data.tenderStage.join(",");
data.tenderingManner = data.tenderingManner.join(",");
data.queryScope = data.queryScope.join(",");
data.projectType = data.projectType.join(",");
data.subjectMatter = data.subjectMatter.join(",");
data.source = data.source.join(",");
data.phonePoint = data.phonePoint.join(",");
let params = {
page: {
page: this.page,
limit: this.limit,
field: this.field,
},
jskBidQueryDto: data,
};
params.keyword = this.keyword;
params.keywordNot = this.keywordNot;
this.$emit("search", params)
},
selectedHeightfn() {
if (this.selectedHeight == 64) {
this.selectedHeight = 'auto'
} else {
this.selectedHeight = 64;
}
},
reset() {
Object.assign(this.$data, this.$options.data.call(this)); //重置data
this.$refs.sourceNameSelect.selectValue = []
this.addressListfn();
this.$axios.get('https://files.jiansheku.com/file/json/common/searchDic.json').then(res => {
if (res && res.status == 200) {
this.projectTypeOptions = res.data.projectType;
this.subjectMatterOptions = res.data.subjectMatter
}
}).catch(error => {
});
this.search();
this.$emit("reset");
},
handsequencingList(index) {
this.fieldshow = false;
this.field = this.fieldOptions[index].key;
for (let i = 0; i < this.fieldOptions.length; i++) {
this.fieldOptions[i].status = false;
}
this.fieldText = this.fieldOptions[index].value;
this.fieldOptions[index].status = true;
this.search();
},
reloadPage() {
this.pageFlag = false;
this.$nextTick(() => {
this.pageFlag = true;
});
},
handleCurrentChange(page) {
this.page = page;
this.search(page, this.limit);
},
handleSizeChange(limit) {
this.limit = limit;
this.search(this.page, limit);
},
addressListfn() {
var str = [];
for (let x = 0; x < 3; x++) {
for (let i = 0; i < jsk_data.length; i++) {
if (jsk_data[i].regionLevel == x + 1 && x + 1 == 1) {
str.push({
id: jsk_data[i].id,
label: jsk_data[i].regionName,
short: jsk_data[i].short,
value: jsk_data[i].parentId,
children: jsk_data[i].id == 900000 ? undefined : [],
});
} else if (jsk_data[i].regionLevel == x + 1 && x + 1 == 2 && str) {
for (let j = 0; j < str.length; j++) {
if (str[j].id == jsk_data[i].parentId) {
str[j].children.push({
id: jsk_data[i].id,
label: jsk_data[i].regionName,
short: jsk_data[i].short,
value: jsk_data[i].parentId,
children: [],
});
}
}
} else if (jsk_data[i].regionLevel == x + 1 && x + 1 == 3) {
for (let j = 0; j < str.length; j++) {
if (str[j].children) {
for (let k = 0; k < str[j].children.length; k++) {
if (str[j].children[k].id == jsk_data[i].parentId) {
str[j].children[k].children.push({
id: jsk_data[i].id,
label: jsk_data[i].regionName,
short: jsk_data[i].short,
value: jsk_data[i].parentId,
});
}
}
}
}
}
}
}
this.addressList = str;
},
deleteDomicile() {
this.$refs.address.handleClear();
},
domicileChange() {
let arr = this.$refs.address.getCheckedNodes();
let province = [],
city = [],
county = [];
this.domicile = [];
for (var i in arr) {
if (arr[i].parent) {
if (!arr[i].parent.checked) {
arr[i].hasChildren && city.push(arr[i].value);
arr[i].hasChildren && this.domicile.push(arr[i].label);
!arr[i].hasChildren && county.push(arr[i].value);
!arr[i].hasChildren && this.domicile.push(arr[i].label);
}
} else {
province.push(arr[i].value);
this.domicile.push(arr[i].label);
}
}
var obj = JSON.parse(JSON.stringify(this.jskBidQueryDto));
obj.province = province;
obj.city = city;
obj.county = county;
this.jskBidQueryDto = obj;
},
bidMoneyhandleCommand(command) {
if (command) {
this.$refs.bidMoneyShowPopper.hide();
var obj = JSON.parse(JSON.stringify(this.jskBidQueryDto));
this.startBidMoney = "";
this.endBidMoney = "";
if (command == "不限") {
obj.startBidMoney = "";
obj.endBidMoney = "";
} else {
obj.startBidMoney = command[0];
obj.endBidMoney = command[1];
}
this.jskBidQueryDto = obj;
}
},
bidMoneyPopperConfirm() {
if (
this.startBidMoney &&
this.endBidMoney &&
!(Number(this.endBidMoney) > Number(this.startBidMoney))
) {
return this.$message.warning("最小值必须小于最大值,请重新输入!");
}
this.bidMoneyShowPopper = false;
var obj = JSON.parse(JSON.stringify(this.jskBidQueryDto));
obj.startBidMoney = this.startBidMoney;
obj.endBidMoney = this.endBidMoney;
this.jskBidQueryDto = obj;
this.$refs.bidMoneyShowPopper.hide();
},
bidMoneyCancel() {
this.bidMoneyShowPopper = false;
this.$refs.bidMoneyShowPopper.hide();
},
punishDatehandleCommand(command) {
var obj = JSON.parse(JSON.stringify(this.jskBidQueryDto));
if (command && command != "自定义") {
this.punishDateValue = command;
this.$refs.punishDateShowPopper.hide();
const datetime = new Date();
var startTime, endTime, Year, Month, Day;
Year = datetime.getFullYear();
Month = datetime.getMonth() + 1;
Day = datetime.getDate();
switch (command) {
case "今天":
startTime = Year + "-" + Month + "-" + Day;
endTime = Year + "-" + Month + "-" + Day;
break;
case "近3日":
var newTime = datetime.getTime() - 3 * 24 * 60 * 60 * 1000;
startTime =
new Date(newTime).getFullYear() +
"-" +
(new Date(newTime).getMonth() + 1) +
"-" +
new Date(newTime).getDate();
endTime = Year + "-" + Month + "-" + Day;
break;
case "近7日":
var newTime = datetime.getTime() - 7 * 24 * 60 * 60 * 1000;
startTime =
new Date(newTime).getFullYear() +
"-" +
(new Date(newTime).getMonth() + 1) +
"-" +
new Date(newTime).getDate();
endTime = Year + "-" + Month + "-" + Day;
break;
case "近1个月":
if (Month > 1) {
startTime = Year + "-" + (Month - 1) + "-1";
} else {
startTime = Year - 1 + "-" + (12 + Month - 1) + "-1";
}
endTime = Year + "-" + Month + "-" + Day;
break;
case "近3个月":
if (Month > 3) {
startTime = Year + "-" + (Month - 3) + "-1";
} else {
startTime = Year - 1 + "-" + (12 + Month - 3) + "-1";
}
endTime = Year + "-" + Month + "-" + Day;
break;
case "近半年":
if (Month > 6) {
startTime = Year + "-" + (Month - 6) + "-1";
} else {
startTime = Year - 1 + "-" + (12 + Month - 6) + "-1";
}
endTime = Year + "-" + Month + "-" + Day;
break;
case "近1年":
startTime = Year - 1 + "-" + Month + "-" + Day;
endTime = Year + "-" + Month + "-" + Day;
break;
case "近3年":
startTime = Year - 3 + "-" + Month + "-" + Day;
endTime = Year + "-" + Month + "-" + Day;
break;
case "自定义":
if (!this.punishDate) {
this.punishDateValue = "";
}
break;
}
if (startTime) {
var start = startTime.split('-');
startTime = start.map((item) => {
if (item.length == 1) {
return '0' + item
} else {
return item
}
})
startTime = startTime.join('-')
}
if (endTime) {
var end = endTime.split('-');
endTime = end.map((item) => {
if (item.length == 1) {
return '0' + item
} else {
return item
}
})
endTime = endTime.join('-')
}
obj.startPunishDate = startTime;
obj.endPunishDate = endTime;
} else if (command == "自定义") {
this.$refs.datePicker.pickerVisible = true;
} else {
this.$refs.punishDateShowPopper.hide();
this.punishDateValue = "";
this.punishDate = "";
obj.startPunishDate = "";
obj.endPunishDate = "";
}
this.jskBidQueryDto = obj;
},
clearContractSignTime() {
this.punishDate = "";
this.punishDateValue = "";
var obj = JSON.parse(JSON.stringify(this.jskBidQueryDto));
obj.startPunishDate = "";
obj.endPunishDate = "";
this.jskBidQueryDto = obj;
},
changepunishDate() {
if (this.punishDate) {
this.punishDateValue = "自定义";
var obj = JSON.parse(JSON.stringify(this.jskBidQueryDto));
obj.startPunishDate = this.punishDate[0];
obj.endPunishDate = this.punishDate[1];
this.jskBidQueryDto = obj;
}
},
hidePoper() {
if (this.$refs.datePicker) {
this.$refs.datePicker.pickerVisible = false;
}
},
mouseenter() {
this.punishDateShowPopper = true;
if (this.punishDateValue == '自定义') {
this.$nextTick(() => {
//this.$refs.datePicker.focus()
this.$refs.datePicker.pickerVisible = true;
});
}
},
tenderTypeClick(index) {
this.tenderTypeOptions.map((item) => {
item.status = false;
});
if (index == 2) {
this.tenderStageOptions = this.tenderStageOptions2;
}
if (index == 3) {
this.tenderStageOptions = this.tenderStageOptions3;
}
this.tenderTypeOptions[index].status = true;
},
getSourceName(arr) {
for (var a in arr) {
if (arr[a] == "不限") {
this.jskBidQueryDto.source = [];
this.$refs.sourceNameSelect.selectValue = [];
this.$refs.sourceNameSelect.$refs.select.blur();
} else {
this.jskBidQueryDto.source = arr;
}
}
},
},
};
</script>
<style lang="scss" scoped>
.content {
padding: 0px 16px;
border-radius: 4px 4px 4px 4px;
background: #FFFFFF;
.content_item {
padding-top: 12px;
display: flex;
align-items: center;
.label {
width: 84px;
font-size: 14px;
font-weight: 400;
color: rgba(35, 35, 35, 0.8);
}
.content_right {
.ename_input {
width: 640px;
margin-right: 20px;
}
.land_ipt_470 {
width: 640px;
}
}
.item_ckquery_list {
display: flex;
}
.item_ckquery_list .el-input__icon {
position: relative;
top: 1px;
}
.ckquery_list_right {
width: 640px;
}
.register_count_ipt {
margin-left: 0px;
}
.register_count_ipt .el-input__inner {
width: 174px;
}
::v-deep .el-input-group__prepend {
padding: 0 8px;
}
.content-projecttype {
display: flex;
align-items: center;
justify-content: center;
.projecttype {
font-weight: 400;
color: #232323;
padding: 1px 5px;
margin-right: 4px;
cursor: pointer;
border-radius: 3px 3px 3px 3px;
font-size: 14px;
}
.projecttype:first-child {
padding-left: 0px;
}
.projecttype:hover {
background: #F3F4F5;
padding: 1px 5px;
}
.activetype {
background: #F3F4F5;
padding: 1px 5px !important;
}
}
}
.content_item_padding0 {
padding: 0;
}
}
.bottomlist {
width: 100%;
background-color: #FFFFFF;
border-radius: 4px 4px 4px 4px;
.bottomlist-title {
display: flex;
justify-content: end;
align-items: center;
margin-top: 12px;
padding: 24px;
border-bottom: 1px solid #EFEFEF;
p:first-child {
font-size: 12px;
font-weight: 400;
color: #3D3D3D;
margin-right: 10px;
}
p:last-child {
font-size: 14px;
font-weight: 400;
color: rgba(35, 35, 35, 0.8);
}
img {
width: 18px;
height: 18px;
}
}
.bottomlist-content {
padding-bottom: 0px;
}
.bottomlist-list {
padding: 14px;
font-size: 14px;
border-bottom: 1px solid #EFEFEF;
padding-bottom: 14px;
.list-titel {
font-size: 16px;
font-weight: 700;
color: #3D3D3D;
line-height: 19px;
.list-titel-a {
text-decoration: none;
color: #3D3D3D;
}
a:hover,
a:visited,
a:link,
a:active {
color: #3D3D3D;
}
}
.content-label {
margin-top: 7px;
.list-label {
background: #F3F3FF;
color: #8491E8;
border-radius: 1px 1px 1px 1px;
padding: 3px 7px;
font-size: 12px;
}
}
.list-content {
margin-top: 3px;
display: flex;
justify-content: start;
align-items: center;
.list-content-text {
margin-top: 7px;
display: flex;
justify-content: start;
align-items: center;
margin-right: 27px;
font-size: 14px;
span:first-child {
font-weight: 400;
color: rgba(35, 35, 35, 0.4);
line-height: 15px
}
span:last-child {
font-weight: 400;
color: rgba(35, 35, 35, 0.8);
line-height: 15px
}
.blue {
color: #0081FF !important;
cursor: pointer;
}
}
}
}
.bottomlist-list:hover {
background: #F6F9FC;
cursor: pointer;
}
.pagination {
padding: 14px;
.el-pagination {
float: right;
}
}
}
</style>
<style lang="scss" scoped>
#tender_wrap {
padding: 0 16px;
font-size: 14px;
.tender_content_wrap {
display: flex;
.tender_content_wrap_label {
color: #666666;
margin-right: 4px;
}
.tender_content_wrap_item {
display: inline-block;
height: 28px;
line-height: 28px;
padding: 0 12px;
margin-right: 24px;
color: #333333;
cursor: pointer;
&:hover {
background: #e5f2ff;
color: #0081ff;
border-radius: 2px 2px 2px 2px;
}
}
.tender_content_wrap_item_active {
background: #0081ff;
color: #ffffff;
border-radius: 2px 2px 2px 2px;
}
}
.tender_content_wrap1 {
margin-bottom: -2.5px;
}
.data_list {
width: 1200px;
margin: 0 auto;
margin-left: -16px;
padding: 0 16px;
box-sizing: border-box;
.data_list_head {
height: 50px;
line-height: 50px;
color: #666666;
.data_list_count {
color: #ff2a00;
font-weight: bold;
}
}
.data_list_item {
border-top: 1px solid #efefef;
padding: 24px 16px;
padding-left: 16px;
margin-left: -16px;
width: 1200px;
&:hover {
background: #f5faff;
}
.data_list_h1 {
width: 1168px;
font-size: 18px;
font-weight: bold;
color: #333333;
line-height: 24px;
margin-bottom: 10px;
word-break: break-all;
display: inline-block;
}
.data_list_h1_1 {
cursor: pointer;
}
.label_box {
padding-bottom: 6px;
display: flex;
.label_span {
padding: 0 8px;
display: inline-block;
height: 22px;
line-height: 22px;
border-radius: 2px 2px 2px 2px;
margin-right: 8px;
font-size: 12px;
}
.label_span1 {
background: #e4f3fd;
color: #41A1FD;
}
.label_span2 {
background: #f3f3ff;
color: #8491e8;
}
.label_span3 {
background: #e8f7f0;
color: #38c8bf;
}
}
.label_wrap {
font-size: 14px;
margin-top: 10px;
line-height: 18px;
display: flex;
.label_item {
color: #999999;
}
.company {
color: #0081ff;
cursor: pointer;
margin-right: 20px;
}
.label_con {
color: #333333;
margin-right: 20px;
}
.label_con1 {
width: 1095px;
margin: 0;
text-overflow: ellipsis;
white-space: nowrap;
display: inline-block;
overflow: hidden;
}
.label_con2 {
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
max-width: 560px;
display: inline-block;
}
}
}
}
.content_li {
padding: 16px 0;
display: flex;
align-items: center;
position: relative;
.content_item {
.include-keywords {
display: flex;
align-items: center;
position: relative;
.lefttltel {
display: inline-block;
background: #f5f5f5;
color: #333;
border: 1px solid #efefef;
border-right: none;
opacity: 1;
width: 71px;
height: 40px;
text-align: center;
line-height: 40px;
}
.el-input {
line-height: 40px;
border-radius: 0;
.el-input__inner {
width: 100%;
height: 40px;
line-height: 40px;
border-radius: 0;
}
}
.commonly-input {
.el-input__inner {
padding-right: 100px;
}
}
.commonly {
position: absolute;
top: 10px;
right: 16px;
font-size: 14px;
font-weight: 400;
color: #0081ff;
cursor: pointer;
}
}
}
}
}
</style>
\ No newline at end of file
<template> <template>
<!-- 招标公告 --> <!-- 标讯pro -->
<div > <div >
<div class="content"> <div class="content">
<div class="content_item"> <div class="content_item">
...@@ -41,11 +40,21 @@ ...@@ -41,11 +40,21 @@
<div class="content_item"> <div class="content_item">
<div class="label">项目名称</div> <div class="label">项目名称</div>
<div class="content_right"> <div class="content_right content_right1">
<el-input class="ename_input" <div class="include-keywords">
placeholder="请输入项目名称关键字" v-model="keyword" ></el-input> <span class="lefttltel" style=" border-radius: 1px 0px 0px 1px;">包含</span>
<el-input class="commonly-input" v-model="keyword" style="width: 660px;"placeholder="多个关键词用空格隔开,如:市政 园林" />
<span class="commonly" @click="cliclikeywoder()">推荐关键词</span>
</div>
<div class="include-keywords">
<span class="lefttltel" style=" border-radius: 1px 0px 0px 1px;">排除</span>
<el-input style="width: 472px;" v-model="keywordNot" placeholder="多个关键词用空格隔开,如:市政 园林" />
</div>
</div> </div>
</div> </div>
<div class="content_item"> <div class="content_item">
<div class="label">项目名称</div> <div class="label">项目名称</div>
<div class="content_right"> <div class="content_right">
...@@ -160,13 +169,13 @@ ...@@ -160,13 +169,13 @@
</div> </div>
</div> </div>
<div class="content_item"> <div class="content_item">
<div class="label">项目</div> <div class="label">项目投资</div>
<div class="content_right content_right1"> <div class="content_right content_right1">
<div class="land_content_wrap-flex"> <div class="land_content_wrap-flex">
<div class="land_content_wrap_label" > <!-- <div class="land_content_wrap_label" >
项目投资额
</div>
</div> -->
<el-input class="other_ipt" placeholder="输入最低金额" @change="changeMoney('start','startProjectAmount','endProjectAmount')" v-limit-num clearable <el-input class="other_ipt" placeholder="输入最低金额" @change="changeMoney('start','startProjectAmount','endProjectAmount')" v-limit-num clearable
v-model="jskBidNewsDto.startProjectAmount"></el-input> v-model="jskBidNewsDto.startProjectAmount"></el-input>
<span class="other_label_span"></span> <span class="other_label_span"></span>
...@@ -204,33 +213,13 @@ ...@@ -204,33 +213,13 @@
</div> </div>
</div> </div>
</div> <div class="content_item">
<div class="content"> <div class="label">建安费暂估</div>
<!--条件--> <div class="content_right content_right1">
<div id="tender_wrap" class="content_wrap">
<template>
<div class="land_content_wrap ">
</div>
<div v-show="selectedHeights">
<div class="land_content_wrap ">
<div class="land_content_wrap-flex"> <div class="land_content_wrap-flex">
<div class="land_content_wrap_label" >建安费暂估
</div>
<el-input class="other_ipt" placeholder="输入最低金额" @change="changeMoney('start','startProjectSafeAmount','endProjectSafeAmount')" v-limit-num clearable <el-input class="other_ipt" placeholder="输入最低金额" @change="changeMoney('start','startProjectSafeAmount','endProjectSafeAmount')" v-limit-num clearable
v-model="jskBidNewsDto.startProjectSafeAmount"></el-input> v-model="jskBidNewsDto.startProjectSafeAmount"></el-input>
<span class="land_content_wrap_label_span"></span> <span class="other_label_span"></span>
<el-input placeholder="输入最高金额" @change="changeMoney('end','startProjectSafeAmount','endProjectSafeAmount')" v-limit-num <el-input placeholder="输入最高金额" @change="changeMoney('end','startProjectSafeAmount','endProjectSafeAmount')" v-limit-num
v-model="jskBidNewsDto.endProjectSafeAmount" clearable class="other_ipt other_ipt1"> v-model="jskBidNewsDto.endProjectSafeAmount" clearable class="other_ipt other_ipt1">
<el-button slot="append" type="primary">万元</el-button> <el-button slot="append" type="primary">万元</el-button>
...@@ -242,7 +231,7 @@ ...@@ -242,7 +231,7 @@
</div> </div>
<el-input class="other_ipt" placeholder="输入最低金额" @change="changeMoney('start','startProjectSurveyAmount','endProjectSurveyAmount')" v-limit-num clearable <el-input class="other_ipt" placeholder="输入最低金额" @change="changeMoney('start','startProjectSurveyAmount','endProjectSurveyAmount')" v-limit-num clearable
v-model="jskBidNewsDto.startProjectSurveyAmount"></el-input> v-model="jskBidNewsDto.startProjectSurveyAmount"></el-input>
<span class="land_content_wrap_label_span"></span> <span class="other_label_span"></span>
<el-input placeholder="输入最高金额" @change="changeMoney('end','startProjectSurveyAmount','endProjectSurveyAmount')" v-limit-num <el-input placeholder="输入最高金额" @change="changeMoney('end','startProjectSurveyAmount','endProjectSurveyAmount')" v-limit-num
v-model="jskBidNewsDto.endProjectSurveyAmount" clearable class="other_ipt other_ipt1"> v-model="jskBidNewsDto.endProjectSurveyAmount" clearable class="other_ipt other_ipt1">
<el-button slot="append" type="primary">万元</el-button> <el-button slot="append" type="primary">万元</el-button>
...@@ -254,302 +243,166 @@ ...@@ -254,302 +243,166 @@
</div> </div>
<el-input class="other_ipt" placeholder="输入最低金额" @change="changeMoney('start','startProjectDesignAmount','endProjectDesignAmount')" v-limit-num clearable <el-input class="other_ipt" placeholder="输入最低金额" @change="changeMoney('start','startProjectDesignAmount','endProjectDesignAmount')" v-limit-num clearable
v-model="jskBidNewsDto.startProjectDesignAmount"></el-input> v-model="jskBidNewsDto.startProjectDesignAmount"></el-input>
<span class="land_content_wrap_label_span"></span> <span class="other_label_span"></span>
<el-input placeholder="输入最高金额" @change="changeMoney('end','startProjectDesignAmount','endProjectDesignAmount')" v-limit-num <el-input placeholder="输入最高金额" @change="changeMoney('end','startProjectDesignAmount','endProjectDesignAmount')" v-limit-num
v-model="jskBidNewsDto.endProjectDesignAmount" clearable class="other_ipt other_ipt1"> v-model="jskBidNewsDto.endProjectDesignAmount" clearable class="other_ipt other_ipt1">
<el-button slot="append" type="primary">万元</el-button> <el-button slot="append" type="primary">万元</el-button>
</el-input> </el-input>
</div> </div>
</div>
</div> </div>
<div class="land_content_wrap" style="margin-top: 16px"> <div class="content_item">
<span class="land_content_wrap_label" style="">资质要求</span> <div class="label">资质要求</div>
<el-input <div class="content_right">
style="margin-left:12px;" <el-input class="ename_input"
v-model="jskBidNewsDto.qualiLimit" placeholder="请输入关键词句,如:施工总承包三级" v-model="jskBidNewsDto.qualiLimit" ></el-input>
clearable
placeholder="请输入关键词句,如:施工总承包三级"
>
</el-input>
<span class="land_content_wrap_label_tipspan"> <span class="land_content_wrap_label_tipspan">
<el-tooltip popper-class="explain_tooltip" content="根据输入的关键词全称进行匹配" <el-tooltip popper-class="explain_tooltip" content="根据输入的关键词全称进行匹配"
placement="bottom" effect="light"> placement="bottom" effect="light">
<img class="tip_svg" src="@/assets/images/bxpro/tipf.png" alt="排除资质-建设库"> <img class="tip_svg" src="@/assets/images/bxpro/tipf.png" >
</el-tooltip> </el-tooltip>
</span> </span>
<span class="land_content_wrap_label" style="margin-left: 24px;margin-right:16px;width: 58px;">业绩要求</span> </div>
<el-input </div>
style="margin-left:12px;" <div class="content_item">
v-model="jskBidNewsDto.projectLimit" <div class="label">业绩要求</div>
clearable <div class="content_right">
placeholder="请输入关键词句,如:建筑工程" <el-input class="ename_input"
> placeholder="请输入关键词句,如:建筑工程" v-model="jskBidNewsDto.projectLimit" ></el-input>
</el-input>
<span class="land_content_wrap_label_tipspan"> <span class="land_content_wrap_label_tipspan">
<el-tooltip popper-class="explain_tooltip" content="根据输入的关键词全称进行匹配" <el-tooltip popper-class="explain_tooltip" content="根据输入的关键词全称进行匹配"
placement="bottom" effect="light"> placement="bottom" effect="light">
<img class="tip_svg" src="@/assets/images/bxpro/tipf.png" alt="排除资质-建设库"> <img class="tip_svg" src="@/assets/images/bxpro/tipf.png" >
</el-tooltip> </el-tooltip>
</span> </span>
</div> </div>
</div>
<div class="land_content_wrap"> <div class="content_item">
<span class="land_content_wrap_label" style="line-height:34px;">人员要求</span> <div class="label">人员要求</div>
<el-input <div class="content_right">
style="margin-left:12px;" <el-input class="ename_input"
v-model="jskBidNewsDto.personLimit" placeholder="请输入关键词句,如:建筑工程" v-model="jskBidNewsDto.personLimit" ></el-input>
clearable
placeholder="请输入关键词句,如:一级建造师"
>
</el-input>
<span class="land_content_wrap_label_tipspan"> <span class="land_content_wrap_label_tipspan">
<el-tooltip popper-class="explain_tooltip" content="根据输入的关键词全称进行匹配" <el-tooltip popper-class="explain_tooltip" content="根据输入的关键词全称进行匹配"
placement="bottom" effect="light"> placement="bottom" effect="light">
<img class="tip_svg" src="@/assets/images/bxpro/tipf.png" alt="排除资质-建设库"> <img class="tip_svg" src="@/assets/images/bxpro/tipf.png" >
</el-tooltip> </el-tooltip>
</span> </span>
</div> </div>
</div>
<div class="content_item content_item_padding0">
<div class="geduan">
<div class="line"></div>
<div class="land_content_wrap" style="margin-top: 16px">
<span class="land_content_wrap_label" style="margin-left: 14px;">招标人
</span>
<el-input
style="margin-left:12px;"
v-model="jskBidNewsDto.tenderee"
clearable
placeholder="请输入关键字"
>
</el-input>
<span class="land_content_wrap_label" style="margin-left: 24px;margin-right:16px;width: 58px;">代理机构
</span>
<el-input
v-model="jskBidNewsDto.agency"
clearable
placeholder="请输入关键字"
></el-input>
</div> </div>
</div> </div>
<div class="content_item content_item_padding0">
<div class="label">招标人</div>
<div class="content_right content_right1">
<div class="search-new" style="padding: 0px 0px 16px 76px !important;border: 0;margin: 0;"> <div class="content_right1-flex">
<span @click="bxproggSearch()">查询</span> <el-input style="width: 520px;" v-model="jskBidNewsDto.tenderee"clearable placeholder="请输入关键字"/>
<span @click="reset1">重置</span>
</div> </div>
</template>
<div class="data_list" v-if="showList"> <div class="content_right1-flex" style="margin-left: 106px;">
<div style="height: 16px;width: 1200px;background: #F7F9FC;margin-left: -16px;"></div> <div class="label-zi" >
<div class="data_list_head"> 代理机构
共为您找到<span class="data_list_count"> {{ total }} </span>条相关结果 </div>
<div class="bottom-toolbar-right float_right" style="padding-top: 1px;"> <el-input style="width: 520px;" v-model="jskBidNewsDto.agency" clearable placeholder="请输入关键字"/>
<span size="small" class="toolbar-right-download toolbar-right-download1" style="margin-right:0;" @click="bxproggSearch('','','isExport')">
导出数据
</span>
</div> </div>
<div class="bottom-toolbar-right float_right" style="position:relative;top:1px;"> </div>
<el-popover v-model="fieldshow" placement="bottom-end" trigger="click" popper-class="viewlist-el-popover"> </div>
<ul class="pup_list"> <div class="content_item content_item_padding0">
<li v-for="(itme,i) in fieldOptions" :class="itme.status?'active':''" <div class="geduan">
@click="handsequencingList(i)" :key="i">
<div style="position: relative;">
{{itme.value}}
</div> </div>
</li>
</ul>
<span slot="reference" class="toolbar-right-download" style="width: auto;padding: 0px 8px;" >
{{fieldText}}<i class="el-icon-caret-bottom" :style="{transform:fieldshow?'rotate(180deg)':''}"></i>
</span>
</el-popover>
</div> </div>
<div class="data_list_btn float_right"> <div class="content_item content_item_padding0">
<el-checkbox-group v-model="checkList" @change="lowerRateClick()">
<el-checkbox :label="item.value" v-for="(item, index) in checkType" :key="index">{{item.name}}</el-checkbox> <div class="search-new">
</el-checkbox-group> <span @click="search()">查询</span>
<!-- <el-checkbox @change="lowerRateClick()" v-model="checked">只看有符合企业的项目</el-checkbox>--> <span @click="reset">重置</span>
<!--<div @click="lowerRateClick(0)" :class="activeIndex==0?'data_list_btn_active':''">只看有符合企业的项目</div>-->
<!--<div @click="lowerRateClick(1)" :class="[activeIndex==1?'data_list_btn_active':'']">按符合企业</div>-->
</div> </div>
</div> </div>
<div v-if="total > 0" class="bxpro_list">
<div style="border-top:1px solid #efefef;padding-top: 25px">
<el-table
:data="tableData"
border
max-height="608"
ref="multipleTable"
style="width: 100%;">
<el-table-column
:resizable="false"
label="发布日期"
width="112">
<template slot-scope="scope">
{{ scope.row.pubdate ? scope.row.pubdate : '--' }}
</template>
</el-table-column>
<el-table-column
:resizable="false"
label="项目名称"
min-width="186">
<template slot-scope="scope">
<span class="bxpro_list_titles" v-if="!scope.row.id && scope.row.projectName" v-html="scope.row.projectName"></span>
<span class="bxpro_list_titles" v-html="scope.row.projectName"></span>
</template>
</el-table-column>
<el-table-column
:resizable="false"
label="工程用途"
width="115">
<template slot-scope="scope">
<span v-if="scope.row.projectPurposes">{{scope.row.projectPurposes}}</span>
<span v-else>--</span>
</template>
</el-table-column>
<el-table-column
:resizable="false"
label="项目金额"
width="190">
<template slot-scope="scope">
<ul class="bxpro_list_money">
<template v-if="scope.row.projectInvestmentAmount ||
scope.row.projectContractAmount ||
scope.row.projectSafeAmount ||
scope.row.projectSurveyAmount ||
scope.row.projectDesignAmount">
<li v-if="scope.row.projectInvestmentAmount">
<span >
<span >投资额:{{ scope.row.projectInvestmentAmount }}万元</span>
</span>
</li>
<li v-if="scope.row.projectContractAmount">
<span >
<span >控制价:{{ scope.row.projectContractAmount }}万元</span> </div>
</span> <div class="bottomlist">
</li> <div class="bottomlist-title">
<li v-if="scope.row.projectSafeAmount"> <div></div>
<span > <div class="title-right">
<span >建安费:{{ scope.row.projectSafeAmount }}万元</span> <p>共有{{total}}条</p>
</span> <p>
</li> <img src="@/assets/images/EXCEL.png" alt="">
<li v-if="scope.row.projectSurveyAmount"> <span>导出EXCEL</span>
<span > </p>
<span >勘察费:{{ scope.row.projectSurveyAmount }}万元</span> </div>
</span>
</li>
<li v-if="scope.row.projectDesignAmount">
<span >
<span >设计费:{{ scope.row.projectDesignAmount }}万元</span> </div>
</span> <div class="table-item">
</li> <el-table :data="tableData" element-loading-text="Loading" border fit highlight-current-row>
</template> <el-table-column label="序号" width="60">
<li v-else>--</li>
</ul>
</template>
</el-table-column>
<el-table-column
:resizable="false"
label="投标保证金"
width="128">
<template slot-scope="scope"> <template slot-scope="scope">
<ul class="bxpro_list_money"> 1
<template v-if="scope.row.projectEnsureAmount">
<li>
<span >
<span >{{ scope.row.projectEnsureAmount }}万元</span>
</span>
</li>
</template>
<li v-else>--</li>
</ul>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="发布日期" width="160" >
:resizable="false"
label="评标办法"
width="105">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.bidAssessmentWay">{{scope.row.bidAssessmentWay}}</span> 通过
<span v-else>--</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="项目名称" >
:resizable="false"
label="评标委员会有无业主代表"
width="105">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.bidMettingHasProjectUnit == 0">未公示</span> <router-link :to="'/radar/bxprozbgg/details/'+ 1" tag="a" class="list-titel-a" >绿色节能型压缩机基础件、汽车零配件新建项目 (芜湖旭日机械制造有限公司)</router-link>
<span v-if="scope.row.bidMettingHasProjectUnit == 1"></span>
<span v-if="scope.row.bidMettingHasProjectUnit == 2"></span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="工程用途" width="200" >
:resizable="false"
label="有无预付款"
width="102">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.hasAdvanceAmount == 0">未公示</span> --
<span v-if="scope.row.hasAdvanceAmount == 1"></span>
<span v-if="scope.row.hasAdvanceAmount == 2"></span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="zj" label="项目金额" width="200" >
:resizable="false"
label="招标人"
width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<ul class="bxpro_list_money"> 2022-08-28
<li>
<div v-if="!scope.row.tendereeId && scope.row.tenderee">{{scope.row.tenderee}}</div>
<div v-else>--</div>
</li>
</ul>
</template> </template>
</el-table-column>
</el-table-column>
</el-table> </el-table>
</div> </div>
</div>
<div v-else style="border-top:1px solid #efefef;padding-bottom:1px;width: 1200px;margin-left: -16px;" >
<div class="search_empty_wrap">
<ul>
<li class="search_empty_wrap_li search_empty_wrap_li1">没有找到相关数据,您可尝试:</li>
<li class="search_empty_wrap_li"><i class="disc"></i>输入更准确的关键词,重新搜索</li>
<li class="search_empty_wrap_li"><i class="disc"></i>尝试减少输入的关键词,增加搜索范围</li>
<li class="search_empty_wrap_li"><i class="disc"></i>更换筛选条件,重新搜索</li>
<li class="search_empty_wrap_li"><i class="disc"></i>联系客服进行反馈<span>023-62798729</span>(工作日09:00-18:00)或<span><nuxt-link title="意见反馈" :to="`/feedback/`" target="_blank">意见反馈</nuxt-link></span></li>
</ul>
</div>
</div>
</div>
</div>
<div class="pagination clearfix" v-show="total>0">
<el-pagination
background
:page-size="pageSize"
:current-page="page"
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total">
</el-pagination>
</div> </div>
</div> </div>
<!-- 关键词弹窗 -->
<Keyword ref="keyword" @keywordClick="keywordClick" />
</div>
</template> </template>
<script> <script>
import jsk_data from '../../../../../public/jsk.json'; import jsk_data from '../../../../../public/jsk.json';
import Keyword from "@/components/Keyword";
export default { export default {
name: "bxprozbgg", name: "bxprozbgg",
components: { components: {
Keyword
}, },
data(){ data(){
return{ return{
...@@ -897,10 +750,20 @@ import jsk_data from '../../../../../public/jsk.json'; ...@@ -897,10 +750,20 @@ import jsk_data from '../../../../../public/jsk.json';
projectLevel: [], projectLevel: [],
}, },
tableData: [],
id:"", id:"",
companyName1:"", companyName1:"",
type:"", type:"",
tableData: [{
id: 0,
name: '20重庆债14(2005938)',
time: '2020-09-18',
gm: '285.24',
zj: '否',
}],
total:6000,
page:1,
pageSize:20,
permissions:{ permissions:{
"search": [ "search": [
{ {
...@@ -1984,7 +1847,7 @@ import jsk_data from '../../../../../public/jsk.json'; ...@@ -1984,7 +1847,7 @@ import jsk_data from '../../../../../public/jsk.json';
}); });
}, },
reset1(){ reset(){
Object.assign(this.$data, this.$options.data.call(this)); //重置data Object.assign(this.$data, this.$options.data.call(this)); //重置data
// this.clickProvince(0,1); // this.clickProvince(0,1);
this.bxproggSearch(); this.bxproggSearch();
...@@ -2116,6 +1979,52 @@ import jsk_data from '../../../../../public/jsk.json'; ...@@ -2116,6 +1979,52 @@ import jsk_data from '../../../../../public/jsk.json';
} }
} }
.include-keywords {
display: flex;
align-items: center;
position: relative;
.lefttltel {
display: inline-block;
background: #F3F4F5;
color: #333;
border: 1px solid #F3F4F5;
border-right: none;
opacity: 1;
width: 44px;
height: 34px;
text-align: center;
line-height: 34px;
}
.el-input {
line-height: 34px;
border-radius: 0;
::v-deep .el-input__inner {
height: 34px;
line-height:34px;
border-radius: 0;
}
}
.commonly-input {
::v-deep .el-input__inner {
padding-right: 100px;
}
}
.commonly {
position: absolute;
top: 8px;
right: 16px;
font-size: 14px;
font-weight: 400;
color: #0081ff;
cursor: pointer;
}
}
.ename_input{ .ename_input{
width: 640px; width: 640px;
margin-right: 20px; margin-right: 20px;
...@@ -2125,8 +2034,8 @@ import jsk_data from '../../../../../public/jsk.json'; ...@@ -2125,8 +2034,8 @@ import jsk_data from '../../../../../public/jsk.json';
} }
.land_content_wrap-flex{ .land_content_wrap-flex{
display: flex; display: flex;
line-height: 34px; line-height: 28px;
margin-right: 33px; margin-right: 102px;
} }
.land_content_wrap-flex:last-child{ .land_content_wrap-flex:last-child{
margin-right: 0; margin-right: 0;
...@@ -2140,9 +2049,11 @@ import jsk_data from '../../../../../public/jsk.json'; ...@@ -2140,9 +2049,11 @@ import jsk_data from '../../../../../public/jsk.json';
.other_ipt { .other_ipt {
width: 104px; width: 104px;
height: 34px; height: 28px;
line-height: 28px;
::v-deep .el-input__inner { ::v-deep .el-input__inner {
width: 104px; height: 28px;
line-height: 28px;
padding: 0 8px; padding: 0 8px;
} }
...@@ -2155,7 +2066,13 @@ import jsk_data from '../../../../../public/jsk.json'; ...@@ -2155,7 +2066,13 @@ import jsk_data from '../../../../../public/jsk.json';
span{ span{
color: #333333; color: #333333;
} }
.el-button{
height: 26px;
line-height: 26px;
}
width: 49px; width: 49px;
height: 26px;
line-height: 26px;
padding: 0 8px; padding: 0 8px;
} }
} }
...@@ -2166,10 +2083,30 @@ import jsk_data from '../../../../../public/jsk.json'; ...@@ -2166,10 +2083,30 @@ import jsk_data from '../../../../../public/jsk.json';
font-weight: 400; font-weight: 400;
color: #232323; color: #232323;
} }
.land_content_wrap_label_tipspan{
display: inline-block;
line-height: 34px;
position: relative;
.tip_svg{
width: 16px;
height: 16px;
margin-left: 4px;
}
}
} }
.content_right1{ .content_right1{
display: flex; display: flex;
.content_right1-flex{
align-items: center;
display: flex;
.label-zi{
font-size: 14px;
font-weight: 400;
color: rgba(35, 35, 35, 0.8);
margin-right:24px ;
}
}
} }
.item_ckquery_list { .item_ckquery_list {
...@@ -2239,7 +2176,6 @@ import jsk_data from '../../../../../public/jsk.json'; ...@@ -2239,7 +2176,6 @@ import jsk_data from '../../../../../public/jsk.json';
align-items: center; align-items: center;
margin-top: 12px; margin-top: 12px;
padding: 16px ; padding: 16px ;
border-bottom: 1px solid #EFEFEF;
.title-right{ .title-right{
display: flex; display: flex;
...@@ -2264,491 +2200,25 @@ import jsk_data from '../../../../../public/jsk.json'; ...@@ -2264,491 +2200,25 @@ import jsk_data from '../../../../../public/jsk.json';
} }
} }
.bottomlist-content{ .table-item{
padding:0px 16px;
padding-bottom: 0px;
}
.bottomlist-list{
padding: 16px;
font-size: 14px;
border-bottom: 1px solid #EFEFEF;
padding-bottom: 14px;
.list-titel{
font-size: 16px;
font-weight: 700;
color: #3D3D3D;
line-height: 19px;
.list-titel-a{ .list-titel-a{
text-decoration: none; color:#0081FF;
color:#3D3D3D;
}
a:hover, a:visited, a:link, a:active{
color:#3D3D3D;
}
}
.content-label{
margin-top: 7px;
.list-label{
background: #F3F3FF;
color: #8491E8;
border-radius: 1px 1px 1px 1px;
padding: 3px 7px;
font-size: 12px;
}
}
.list-content{
margin-top: 3px;
display: flex;
justify-content: start;
align-items: center;
.list-content-text{
margin-top: 7px;
display: flex;
justify-content: start;
align-items: center;
margin-right: 27px;
font-size: 14px;
span:first-child{
font-weight: 400;
color: rgba(35,35,35,0.4);
line-height: 15px
}
span:last-child{
font-weight: 400;
color: rgba(35,35,35,0.8);
line-height: 15px
}
.blue{
color: #0081FF !important;
cursor: pointer;
} }
} }
.bottomlist-content{
padding-bottom: 0px;
}
.list-addree{
width: auto;
background: #F3F4F5;
display: inline-flex;
margin-top: 7px;
.list-content-text{
margin-top: 0px;
span{
line-height: 30px!important;
}
}
img{
width: 14px;
margin: 0 8px;
}
} }
}
.bottomlist-list:hover{
background: #F6F9FC;
cursor: pointer;
}
.pagination{ .pagination{
padding: 14px ; padding: 14px ;
.el-pagination{ .el-pagination{
float: right; float: right;
} margin-right:-8px;
}
}
</style>
<style lang="scss" scoped>
.report_wrap{
position: fixed;
bottom: 56px;
left: 24px;
.report_img{
width: 183px;
height: 249px;
}
.to_library{
width: 104px;
height: 32px;
display: block;
line-height: 32px;
text-align: center;
font-size: 14px;
margin: 16px auto;
color: #FFFFFF;
background: #0081FF;
border-radius: 5px 5px 5px 5px;
cursor: pointer;
&:hover{
background: #185ECA;
}
}
.close_img{
position: absolute;
right: -26px;
top: -12px;
width: 21px;
height: 20px;
cursor: pointer;
}
}
#tender_wrap {
//padding: 0 16px;
font-size: 14px;
.data_list_btn {
margin: 9px 16px 0 0;
height: 32px;
line-height: 32px;
border-radius: 2px 2px 2px 2px;
opacity: 1;
color: #333333;
box-sizing: border-box;
position: relative;
div {
text-align: center;
display: inline-block;
cursor: pointer;
//padding: 0 6px;
box-sizing: border-box;
}
::v-deep .el-checkbox__label{
padding-left:4px;
}
.data_list_btn_active {
height: 32px;
line-height: 32px;
}
}
.land_content_wrap{
margin-bottom: 16px;
}
.tender_content_wrap{
margin-top: 16px;
}
.content_li {
padding: 16px 0;
display: flex;
align-items: center;
position: relative;
.content_item {
.include-keywords {
display: flex;
align-items: center;
position: relative;
.lefttltel {
display: inline-block;
background: #f5f5f5;
color: #333;
border: 1px solid #efefef;
border-right: none;
opacity: 1;
width: 44px;
height: 40px;
text-align: center;
line-height: 40px;
}
.el-input {
line-height: 40px;
border-radius: 0;
::v-deep .el-input__inner {
width: 100%;
height: 40px;
line-height: 40px;
border-radius: 0;
}
}
.commonly-input {
::v-deep .el-input__inner {
padding-right: 100px;
}
}
.commonly {
position: absolute;
top: 10px;
right: 16px;
font-size: 14px;
font-weight: 400;
color: #0081ff;
cursor: pointer;
}
}
}
}
.data_list_head {
height: 50px;
line-height: 50px;
color: #666666;
.data_list_count {
color: #ff2a00;
font-weight: bold;
}
}
}
.dropdown_item:hover{
background-color: #F4F6F9;
color: #0081FF;
}
#search-bxprozbgg {
.businessOpportunities_box{
position: relative;
.businessOpportunities_dow{
position: absolute;
top: 12px;
right: 15px;
.dow-dropdown-link{
display: block;
width: 138px;
height: 32px;
line-height: 32px;
background: #FFFFFF;
border-radius: 2px 2px 2px 2px;
border: 1px solid #0081FF;
text-align: center;
font-size: 14px;
color: #0081FF;
}
::v-deep .el-select{
width: 90px;
height: 32px;
line-height: 32px;
background: #FFFFFF;
border-radius: 2px 2px 2px 2px;
text-align: center;
margin: 0;
font-size: 14px;
color: #0081FF;
position: absolute;
left: -96px;
top: -1px;
.el-input{
width: 100%;
height: 32px;
line-height: 32px;
}
.el-input__inner{
width: 100%;
height: 32px;
line-height: 32px;
border: 1px solid #0081FF;
color: #0081FF;
}
.el-input__inner::-webkit-input-placeholder {
color: #0081FF !important;
}
.el-input__inner::-moz-placeholder {
color: #0081FF !important;
}
.el-select__caret{
color: #0081FF;
}
}
}
}
.land_content_wrap_label_tipspan{
display: inline-block;
line-height: 34px;
position: relative;
.tip_svg{
width: 16px;
height: 16px;
margin-left: 4px;
}
}
}
.tip_svg-popper-img{
position: absolute;
top: -7px;
right: 4px;
}
.activeTab {
font-weight: bold;
color: #333333;
border-bottom: 2px solid #0081FF;
}
.lowerRate_img{
position: absolute;
top: 7px;
right: -30px;
width: 36px;
height: 14px;
}
.bxpro_list{
::v-deep .el-table{
th{
line-height: 23px;
color: #999;
background: #f2f9fc;
.cell{
overflow: unset;
color: #999999;
font-weight: 400;
}
}
.cell{
font-size: 14px;
color: #333333;
}
}
.bxpro_list_title{
font-weight: 400;
color: #0081FF;
line-height: 18px;
//margin-bottom: 10px;
}
.bxpro_list_titles{
display: block;
max-height: 55px;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 3;
line-clamp: 3;
-webkit-box-orient: vertical;
}
.bxpro_list_fl{
overflow: hidden;
span{
float: left;
padding: 4px 8px;
font-size: 12px;
line-height: 12px;
color: #41A1FD;
background: #E4F3FD;
margin-right: 12px;
margin-top: 4px;
&:last-child{
margin-right: 0;
} }
} }
} }
.bxpro_list_money{
li{
margin-bottom: 8px;
line-height: 18px;
display: flex;
&:last-child{
margin-bottom: 0;
}
}
}
.bxpro_list_yjhq{
display: block;
text-align: center;
width: 100%;
//height: 28px;
//line-height: 28px;
//border-radius: 2px 2px 2px 2px;
font-size: 14px;
margin: 0 auto;
cursor:pointer;
}
.bxpro_list_yjhq1{
&:hover{
color: #0081FF;
}
}
.bxpro_list_yjhq_ns{
color: #333333;
//border: 1px solid #0081FF;
}
.bxpro_list_yjhq_hs{
color: #999999;
//background: #C8C8C8;
}
.tip_svg{
margin-right: 6px;
position: relative;
top: -1px;
}
}
.bxprozbgg_yjlq{
.bxprozbgg_yjlq_h1{
font-weight: 400;
color: #3D3D3D;
line-height: 22px;
font-size:16px;
}
.bxprozbgg_yjlq_p{
p{
font-weight: 400;
color: #666666;
line-height: 22px;
}
}
}
.bxpro_list_ellipsis{
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
line-clamp: 2;
-webkit-box-orient: vertical;
}
.pup_list .pup_list_svip_img {
position: absolute;
top: 0;
right: -10px;
width: 24px;
}
.el-popover .pup_list li div{
display: inline-block;
}
.content .content_wrap .content_item{
padding: 0 !important;
}
.bxprozbsh{
max-height: 70px;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 3; // 控制多行的行数
-webkit-box-orient: vertical;
}
::v-deep .el-table__fixed-right{
height: 100% !important;
}
::v-deep .el-table__fixed{
height: 100% !important;
}
::v-deep .el-table__body-wrapper::-webkit-scrollbar{
height:10px;
width: 10px;
}
::v-deep .el-table__body-wrapper::-webkit-scrollbar-track{
background-color:#FFFFFF;
}
::v-deep .el-table__body-wrapper::-webkit-scrollbar-thumb{
background-color:#E1E1E1;
}
</style> </style>
...@@ -72,8 +72,8 @@ ...@@ -72,8 +72,8 @@
<div class="content_item content_item_padding0"> <div class="content_item content_item_padding0">
<div class="search-new"> <div class="search-new">
<span>查询</span> <span @click="search()">查询</span>
<span>重置</span> <span @click="reset">重置</span>
</div> </div>
</div> </div>
...@@ -448,6 +448,12 @@ ...@@ -448,6 +448,12 @@
}, },
handleCurrentChange(val){ handleCurrentChange(val){
},
search(){
},
reset(){
} }
} }
} }
......
...@@ -21,6 +21,9 @@ ...@@ -21,6 +21,9 @@
<Establishment v-if="personnelHerf=='Establishment'" /> <Establishment v-if="personnelHerf=='Establishment'" />
<!-- 标讯pro --> <!-- 标讯pro -->
<bxprozbgg v-if="personnelHerf=='bxprozbgg'" /> <bxprozbgg v-if="personnelHerf=='bxprozbgg'" />
<!-- 公招标讯 -->
<Tender v-if="personnelHerf=='Tender'" />
</div> </div>
...@@ -30,10 +33,12 @@ ...@@ -30,10 +33,12 @@
import Land from "./components/Land/index.vue"; import Land from "./components/Land/index.vue";
import Establishment from "./components/Establishment/index.vue"; import Establishment from "./components/Establishment/index.vue";
import bxprozbgg from "./components/bxprozbgg/index.vue"; import bxprozbgg from "./components/bxprozbgg/index.vue";
import Tender from "./components/Tender/index.vue";
import "@/assets/styles/public.css"; import "@/assets/styles/public.css";
export default { export default {
name: 'radar', name: 'radar',
components: { debtProject,Land,Establishment,bxprozbgg }, components: { debtProject,Land,Establishment,bxprozbgg,Tender },
data() { data() {
return { return {
// tablist // tablist
...@@ -68,7 +73,7 @@ ...@@ -68,7 +73,7 @@
}, },
{ {
key: 'KeyPersonnel', key: 'Tender',
status: false, status: false,
value: '公招标讯', value: '公招标讯',
......
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