Commit 1b9ac7cd authored by danfuman's avatar danfuman

Merge branch 'dev20230707' of http://192.168.60.201/root/dsk-operate-sys into dev20230707

parents 23fdc0bf 0247ff59
......@@ -2,7 +2,8 @@
<div class="no-data">
<div class="no-data-box">
<img :src="noData" alt="抱歉,没找到相关数据" />
<div>抱歉,没找到相关数据</div>
<div v-if="text">抱歉,您还未添加{{text}}项目</div>
<div v-else>抱歉,没找到相关数据</div>
<span v-if="condition">建议调整关键词或筛选条件,重新搜索</span>
</div>
</div>
......@@ -15,6 +16,10 @@ export default {
condition: {
type: Boolean,
default: false
},
text: {
type: String,
default: ''
}
},
data() {
......
......@@ -143,7 +143,7 @@
</el-table>
</div>
</div>
<no-data v-if="viewData1.length==0"/>
<no-data text="储备" v-if="viewData1.length==0"/>
</el-card>
<el-card class="box-card noborder pd16">
<h3>储备项目资金来源</h3>
......@@ -171,7 +171,7 @@
</el-table>
</div>
</div>
<no-data v-if="viewData2.length==0"/>
<no-data text="储备" v-if="viewData2.length==0"/>
</el-card>
<el-card class="box-card noborder pd16">
<h3>已合作项目统计</h3>
......@@ -199,7 +199,7 @@
</el-table>
</div>
</div>
<no-data v-if="viewData3.length==0"/>
<no-data text="已合作" v-if="viewData3.length==0"/>
</el-card>
<el-card class="box-card noborder pd16">
<h3>公招项目地区统计</h3>
......
<template>
<div class="app-container qyzx-details">
<div class="bottomlist">
<ul class="bottomlist-content">
<li class="bottomlist-list" >
<p class="list-titel">
{{textList.name}}
</p>
<div class="content-label">
<span class="list-label list-label-zb" v-if="textList.province||textList.city||textList.district">
{{textList.province}}
<template v-if="textList.city">
-{{textList.city}}
</template>
<template v-if="textList.district">
-{{textList.district}}
</template>
</span>
</div>
<div class="list-content">
<p class="list-content-text">
<span>发布时间:</span>
<span > {{textList.publishTime||'--'}}</span>
</p>
<p class="list-content-text">
<span>来源网站:</span>
<span>{{textList.source||'--'}}</span>
</p>
</div>
</li>
</ul>
</div>
<div class="content main5">
<div class="common-title">投标人列表</div>
<div class="table-item">
<el-table
:data="tableData"
element-loading-text="Loading"
border
>
<el-table-column label="序号" width="80">
<template slot-scope="scope">
<span>{{(pageNum - 1) *20 + scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="企业名称" >
<template slot-scope="scope">
<router-link v-if="scope.row.uipId||scope.row.companyId" :to="scope.row.uipId?'/enterprise/' + encodeStr(scope.row.companyId) :'/company/' + encodeStr(scope.row.companyId) " tag="a" class="list-titel-a blue" v-html="scope.row.companyName"></router-link>
<span v-else>{{ scope.row.companyName||'--' }}</span>
</template>
</el-table-column>
<el-table-column label="投标报价(万)" width="300" >
<template slot-scope="scope">
{{ scope.row.tenderOffer||'--'}}
</template>
</el-table-column>
<!-- <el-table-column label="工期" width="182" >
<template slot-scope="scope">
{{ scope.row.tenderOffer||'--'}}
</template>
</el-table-column> -->
</el-table>
<!-- <div class="pagination clearfix" v-show="total>10">`
<el-pagination background :page-size="pageSize" :current-page="pageNum"
@current-change="handleCurrentChange" layout="prev, pager, next" :total="total">
</el-pagination>
</div> -->
</div>
</div>
<div class="content main3">
<div class="common-title">原文信息</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>
<a :href="textList.url" target="_blank">原文链接</a>
</span>
</div>
<div class="main3-box" v-html="textList.content">
</div>
</div>
</div>
</template>
<script>
import "@/assets/styles/public.css";
import {encodeStr} from "@/assets/js/common.js"
import api from '@/api/radar/radar.js';
export default {
name: 'BidRecordDetails',
data() {
return {
encodeStr,
id: '',
tableData: [],
"pageNum": 1,
"pageSize": 10,
total: 0,
textList: {},
showimg:true
}
},
created() {
this.id = this.$route.params.id;
this.tenderPage();
this.tenderDetail();
},
methods: {
tenderDetail() {
api.tenderDetail({
id: this.id
}).then(res => {
// console.log(res);
this.textList = res.data;
if(this.textList.companys){
this.textList.companys=JSON.parse(this.textList.companys);
this.tableData = this.textList.companys;
}
}).catch(error => {
});
},
handleCurrentChange(pageNum) {
this.pageNum = pageNum;
this.search(pageNum, this.pageSize);
},
tenderPage(pageNum, pageSize) {
if (!pageNum) {
this.pageNum = 1;
}
if (!pageSize) {
this.pageSize = 20;
}
var data = {
cid: this.id,
pageNum: this.pageNum,
pageSize: this.pageSize
}
// api.tenderPage(data).then(res => {
// // console.log(res);
// this.tableData = res.rows;
// this.total = res.total;
// console.log(this.tableData);
// }).catch(error => {
// });
}
}
}
</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;
.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;
}
}
}
.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 {
.content {
margin-top: 16px;
background: #FFFFFF;
padding: 16px;
border-radius: 4px;
}
.common-title {
margin-bottom: 8px;
}
.main3 {
position: relative;
.main3-box {
margin-top: 22px;
min-height: 400px;
border: 1px solid #D8D8D8;
}
.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;
}
}
.main5 {
.table-item {
margin-top: 22px;
.blue {
color: #0081FF !important;
cursor: pointer;
}
}
.pagination {
padding: 14px;
.el-pagination {
float: right;
}
}
}
}
</style>
\ No newline at end of file
<template>
<div>
<div class="content">
<div class="content_item content_item_padding0">
<div class="label">关键字</div>
<div class="content_right">
<el-input class="ename_input" placeholder="请输入关键字查询" v-model="keyword" ></el-input>
<el-checkbox-group v-model="keywordType" class="keyword_checkbox" >
<el-checkbox v-for="item in keywordTypeList" :label="item" :key="item">{{item}}</el-checkbox>
</el-checkbox-group>
</div>
</div>
<div class="content_item">
<div class="label">基本信息</div>
<div class="content_right">
<div class="select-popper" >
<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" placement="bottom-start" class="el-dropdown-land" 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="el-dropdown-land" :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>
<el-dropdown @command="tenderDatehandleCommand" class="el-dropdown-land" placement="bottom-start" trigger="click" ref="tenderDateShowPopper" :hide-on-click="false" >
<span class="el-dropdown-link" :class="tenderDateValue ? 'color_text' : ''" >开标时间{{ tenderDateValue ? " 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=" tenderDateValue && tenderDateValue == item.value ? 'color_text' : ''" :key="i" :command="item.value">
<div @mouseenter="hidePoper('bid')">{{ item.label }}</div>
</el-dropdown-item>
<el-dropdown-item command="自定义" style="padding: 0; text-indent: 20px">
<div @mouseenter="mouseenter('bid')">
<span :class="tenderDateValue == '自定义' ? 'color_text' : ''">自定义<i class="el-icon-arrow-right"></i></span>
<el-date-picker
v-if="tenderDateShowPopper"
@change="changepunishDate('bid')"
class="land_date_picker"
v-model="tenderDate"
ref="tenderDatePicker"
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>
<el-dropdown @command="transactionPricehandleCommand" class="el-dropdown-land" placement="bottom-start" trigger="click" ref="transactionPriceShowPopper" :hide-on-click="false">
<span class="el-dropdown-link" :class="landMarketDto.startTransactionPrice ||landMarketDto.endTransactionPrice ? 'color_text': ''">
项目投资额(万元){{landMarketDto.startTransactionPrice ||landMarketDto.endTransactionPrice? " 1项": ""}}<i class="el-icon-caret-bottom"></i>
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item v-for="(item, i) in transactionPriceOptions" :class="landMarketDto.startTransactionPrice == item.value[0] &&landMarketDto.endTransactionPrice == item.value[1] &&
!startTransactionPrice &&!endTransactionPrice? 'color_text': '' " :key="i" :command="item.value">{{ item.label }}</el-dropdown-item>
<el-dropdown-item command="" style="padding: 0; text-indent: 20px">
<div @mouseenter="transactionPriceShowPopper = true" @mouseleave="transactionPriceShowPopper = false">
<span :class="(startTransactionPrice || endTransactionPrice) &&landMarketDto.startTransactionPrice ==startTransactionPrice &&
landMarketDto.endTransactionPrice == endTransactionPrice? 'color_text': '' ">
自定义<i class="el-icon-arrow-right"></i>
</span>
<div class="jabph_popper_box" style="position: absolute" v-if="transactionPriceShowPopper">
<div class="jabph_popper_wrap">
<el-input class="jabph_popper_input" v-limit-num clearable v-model="startTransactionPrice"></el-input>
</div>
<div class="jabph_popper_wrap">
<el-input class="jabph_popper_input" v-limit-num clearable v-model="endTransactionPrice"></el-input>
</div>
<div style="">
<el-button size="mini" @click="transactionPriceCancel">取消</el-button>
<el-button type="primary" size="mini" @click="transactionPricePopperConfirm">确定</el-button>
</div>
</div>
</div>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</div>
<div class="content_item">
<div class="label">项目级别</div>
<div class="content_right">
<el-radio v-model="projectLevel" label="1">省级</el-radio>
<el-radio v-model="projectLevel" label="2">市级</el-radio>
<el-radio v-model="projectLevel" label="3">区/县级</el-radio>
</div>
</div>
<div class="content_item content_item1">
<div class="label">项目类型</div>
<div class="content_right">
<el-checkbox-group v-model="projectType">
<template v-for="(item,index) in projectTypeList">
<el-checkbox v-if="index<showNum" :label="item" :key="index">{{item}}</el-checkbox>
</template>
</el-checkbox-group>
<span class="more" v-if="showNum==11" @click="showNum=99">更多<img src="@/assets/images/more.png" alt=""></span>
<span class="more more1" v-if="showNum==99" @click="showNum=11">收起<img src="@/assets/images/more.png" alt=""></span>
</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 class="bottomlist">
<div class="bottomlist-title">
<div class="bottomlist-title-left" >
<p class="title-left">
查询结果
</p>
</div>
<div class="title-right">
<p>共有{{total}}条</p>
<p>
<img src="@/assets/images/EXCEL.png" alt="">
<span class="excel" @click="$message({message: '功能正在开发中',type: 'warning'})">导出EXCEL</span>
</p>
</div>
</div>
<div class="table-item-jf1" v-if="tableData.length==0&& !isSkeleton">
<img class="item-jf-img" src="@/assets/images/kong.png" alt="">
<div class="item-jf-titel">抱歉,没找到相关数据!</div>
<div class="item-jf-text">建议调整关键词或筛选条件,重新搜索!</div>
</div>
<skeleton style="margin-left:16px;" v-if="isSkeleton"></skeleton>
<ul class="bottomlist-content" v-if="tableData.length>0&& !isSkeleton">
<li class="bottomlist-list" v-for="item in tableData">
<p class="list-titel">
<router-link :to="'/radar/BidRecord/details/'+ item.id" tag="a" class="list-titel-a" v-html="item.projectName"></router-link>
</p>
<div class="content-label" v-if="item.domicile">
<span class="list-label list-label-zb" v-if="item.domicile">
{{item.domicile}}
</span>
</div>
<div class="list-content list-content1" v-if="item.tenderTime||item.source||item.punishDate">
<p class="list-content-text" v-if="item.tenderTime">
<span>开标时间:</span>
<span>{{item.tenderTime||'--'}}</span>
</p>
<p class="list-content-text" v-if="item.punishDate">
<span>发布时间:</span>
<span>{{item.punishDate||'--'}}</span>
</p>
<p class="list-content-text" v-if="item.source">
<span>来源网站:</span>
<span>{{item.source||'--'}}</span>
</p>
</div>
</li>
</ul>
<div class="pagination clearfix" v-show="total>0">
<el-pagination
background
:page-size="limit"
:current-page="page"
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total">
</el-pagination>
</div>
</div>
</div>
</template>
<script>
import jsk_data from '../../../../../public/jsk.json';
import {encodeStr} from "@/assets/js/common.js"
import skeleton from '@/views/project/projectList/component/skeleton'
import api from '@/api/radar/radar.js';
export default {
name: 'BidRecord',
components:{skeleton},
data() {
return {
isSkeleton:true,
addressList: [],
addressType: [],
props: {
multiple: true,
expandTrigger: "hover",
value: "id",
},
keyword:"",
keywordType:[],
keywordTypeList:['项目名称','项目法人','主管单位','建设规模'],
landMarketDto: {
landUse: [],
province: [],
city: [],
area: [],
supplyLandWay: [],
industry: [],
},
startTransactionPrice: "",
endTransactionPrice: "",
transactionPriceShowPopper: false,
projectLevel:"",
projectType:"",
projectTypeList:['项目名称','项目法人','主管单位','建设规模','项目名称','项目法人','主管单位','建设规模','项目名称','项目法人','主管单位','建设规模','项目名称','项目法人','主管单位','建设规模'],
transactionPriceOptions: [
{
value: [0, 20000],
label: "2亿以下",
},
{
value: [20000, ""],
label: "2亿以上",
},
{
value: [50000, ""],
label: "5亿以上",
},
{
value: [80000, ""],
label: "8亿以上",
},
{
value: [100000, ""],
label: "10亿以上",
},
],
showNum:11,
keywordNot:"",
fieldshow: false,
fieldText: '默认排序',
field: '', //查询结果排序方式
fieldOptions: [
{
key: "",
value: "默认排序",
status: true,
},
{
key: "publishDate",
value: "发布日期从晚到早",
status: false,
},
],
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年",
},
],
punishDateValue: "",
jskBidQueryDto: {
province: [],
city: [],
county: []
},
domicile: [],
provinceText:[],
provinceList:[],
punishDate: "",
punishDateShowPopper: false,
tenderDateValue: "",
tenderDate: "",
tenderDateShowPopper: false,
pageFlag: true,
conditionsArr: [],
tableData:[],
total:0,
page: 1,
limit: 20,
};
},
computed: {
checkJskBidQueryDto() {
let arr = [];
let flag = false;
let data = {};
if(this.keyword){
data = {
title: "项目包含:",
keyid: "keyword",
value: this.keyword,
key: "keyword"
}
flag = true;
arr.push(data)
}
if(this.keywordNot){
data = {
title: "项目排除:",
keyid: "keywordNot",
value: this.keywordNot,
key: "keywordNot"
}
flag = true;
arr.push(data)
}
if(this.jskBidQueryDto.companyName){
data = {
title: "参投单位:",
keyid: "companyName",
value: this.jskBidQueryDto.companyName,
key: "companyName"
}
flag = true;
arr.push(data)
}
if(this.jskBidQueryDto.startBidMoney){
data = {
title: "最低金额:",
keyid: "startBidMoney",
value: this.jskBidQueryDto.startBidMoney,
key: "startBidMoney"
}
flag = true;
arr.push(data)
}
if(this.jskBidQueryDto.endBidMoney){
data = {
title: "最高金额:",
keyid: "endBidMoney",
value: this.jskBidQueryDto.endBidMoney,
key: "endBidMoney"
}
flag = true;
arr.push(data)
}
if(this.jskBidQueryDto.hasMoney){
data = {
title: "包含投标报价未公示",
keyid: "hasMoney",
value: this.jskBidQueryDto.hasMoney,
key: "hasMoney"
}
flag = true;
arr.push(data)
}
if (this.domicile.length > 0) {
data = {
title: "行政区划:",
keyid: "domicile",
value: this.domicile.join(","),
key: "domicile"
}
flag = true;
arr.push(data)
}
if(this.punishDateValue=="自定义"){
data = {
title: "发布时间:",
keyid: "punishDate",
value: this.jskBidQueryDto.startPunishDate +"~" +this.jskBidQueryDto.endPunishDate,
key: "punishDate"
}
flag = true;
arr.push(data)
}
if(this.punishDateValue&&this.punishDateValue!="自定义"){
data = {
title: "发布时间:",
keyid: "punishDate",
value: this.punishDateValue,
key: "punishDate"
}
flag = true;
arr.push(data)
}
if(this.tenderDateValue=="自定义"){
data = {
title: "开标时间:",
keyid: "tenderDate",
value: this.jskBidQueryDto.startTenderTime +"~" +this.jskBidQueryDto.endTenderTime,
key: "tenderDate"
}
flag = true;
arr.push(data)
}
if(this.tenderDateValue&&this.tenderDateValue!="自定义"){
data = {
title: "开标时间:",
keyid: "tenderDate",
value: this.tenderDateValue,
key: "tenderDate"
}
flag = true;
arr.push(data)
}
this.conditionsArr = arr
return flag;
},
},
mounted() {
this.addressListfn();
this.search();
},
methods: {
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(",");
let params = {
page: {
page: this.page,
limit: this.limit,
field: this.field,
},
jskBidQueryDto: data,
};
if(this.keyword){
params.keyword = this.keyword
}else{
delete params.keyword
}
if(this.keywordNot){
params.keywordNot = this.keywordNot
}else{
delete params.keywordNot
}
this.isSkeleton = true;
api.jskBidTenderPage(params).then(res=>{
this.isSkeleton = false;
if (res.code==200) {
this.tableData=res.data.list;
this.total=res.data.total;
}
}).catch(error=>{
});
},
//关闭支付弹窗
resolve(value) {
if (value) {
this.$router.go(0)
}
},
provinceChange(arr){
this.provinceText = [];
if(arr.length>0){
arr.map(item=>{
this.provinceText.push(item.label);
})
}
},
changeMoney(text) {
if (
this.jskBidQueryDto.startBidMoney &&
this.jskBidQueryDto.endBidMoney &&
Number(this.jskBidQueryDto.startBidMoney) >
Number(this.jskBidQueryDto.endBidMoney)
) {
this.$message.warning("最低金额不能大于最高金额!");
text == "start" ?
(this.jskBidQueryDto.startBidMoney = "") :
(this.jskBidQueryDto.endBidMoney = "");
}
},
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);
},
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;
},
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日":
endTime = Year + "-" + Month + "-" + Day;
if (Day > 3) {
startTime = Year + "-" + Month + "-" +(Day-3);
} else {
let newTime = datetime.getTime()-3*24*60*60*1000
Year = new Date(newTime).getFullYear();
Month = new Date(newTime).getMonth() + 1;
Day = new Date(newTime).getDate();
startTime = Year + "-" + Month +"-" + Day;
}
break;
case "近7日":
endTime = Year + "-" + Month + "-" + Day;
if (Day > 7) {
startTime = Year + "-" + Month + "-" +(Day-7);
} else {
let newTime = datetime.getTime()-7*24*60*60*1000
Year = new Date(newTime).getFullYear();
Month = new Date(newTime).getMonth() + 1;
Day = new Date(newTime).getDate();
startTime = Year + "-" + Month +"-" + Day;
}
break;
case "近1个月":
endTime = Year + "-" + Month + "-" + Day;
if (Month > 1) {
startTime = Year + "-" + (Month - 1) + "-1";
} else {
startTime = Year - 1 + "-" + (12 + Month - 1) + "-1";
}
break;
case "近3个月":
endTime = Year + "-" + Month + "-" + Day;
if (Month > 3) {
startTime = Year + "-" + (Month - 3) + "-1";
} else {
startTime = Year - 1 + "-" + (12 + Month - 3) + "-1";
}
break;
case "近半年":
endTime = Year + "-" + Month + "-" + Day;
if (Month > 6) {
startTime = Year + "-" + (Month - 6) + "-1";
} else {
startTime = Year - 1 + "-" + (12 + Month - 6) + "-1";
}
break;
case "近1年":
startTime = Year - 1 + "-" + 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;
},
transactionPricehandleCommand(command) {
if (command) {
this.$refs.transactionPriceShowPopper.hide();
var obj = JSON.parse(JSON.stringify(this.landMarketDto));
this.startTransactionPrice = "";
this.endTransactionPrice = "";
if (command == "不限") {
obj.startTransactionPrice = "";
obj.endTransactionPrice = "";
} else {
obj.startTransactionPrice = command[0];
obj.endTransactionPrice = command[1];
}
this.landMarketDto = obj;
}
},
transactionPriceCancel() {
this.transactionPriceShowPopper = false;
this.$refs.transactionPriceShowPopper.hide();
},
transactionPricePopperConfirm() {
if (
this.startTransactionPrice &&
this.endTransactionPrice &&
!(Number(this.endTransactionPrice) > Number(this.startTransactionPrice))
) {
return this.$message.warning("最小值必须小于最大值,请重新输入!");
}
this.transactionPriceShowPopper = false;
var obj = JSON.parse(JSON.stringify(this.landMarketDto));
obj.startTransactionPrice = this.startTransactionPrice;
obj.endTransactionPrice = this.endTransactionPrice;
this.landMarketDto = obj;
this.$refs.transactionPriceShowPopper.hide();
},
transactionPricehandleCommand(command) {
if (command) {
this.$refs.transactionPriceShowPopper.hide();
var obj = JSON.parse(JSON.stringify(this.landMarketDto));
this.startTransactionPrice = "";
this.endTransactionPrice = "";
if (command == "不限") {
obj.startTransactionPrice = "";
obj.endTransactionPrice = "";
} else {
obj.startTransactionPrice = command[0];
obj.endTransactionPrice = command[1];
}
this.landMarketDto = obj;
}
},
tenderDatehandleCommand(command) {
var obj = JSON.parse(JSON.stringify(this.jskBidQueryDto));
if (command && command != "自定义") {
this.tenderDateValue = command;
this.$refs.tenderDateShowPopper.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日":
endTime = Year + "-" + Month + "-" + Day;
if (Day > 3) {
startTime = Year + "-" + Month + "-" +(Day-3);
} else {
let newTime = datetime.getTime()-3*24*60*60*1000
Year = new Date(newTime).getFullYear();
Month = new Date(newTime).getMonth() + 1;
Day = new Date(newTime).getDate();
startTime = Year + "-" + Month +"-" + Day;
}
break;
case "近7日":
endTime = Year + "-" + Month + "-" + Day;
if (Day > 7) {
startTime = Year + "-" + Month + "-" +(Day-7);
} else {
let newTime = datetime.getTime()-7*24*60*60*1000
Year = new Date(newTime).getFullYear();
Month = new Date(newTime).getMonth() + 1;
Day = new Date(newTime).getDate();
startTime = Year + "-" + Month +"-" + Day;
}
break;
case "近1个月":
endTime = Year + "-" + Month + "-" + Day;
if (Month > 1) {
startTime = Year + "-" + (Month - 1) + "-1";
} else {
startTime = Year - 1 + "-" + (12 + Month - 1) + "-1";
}
break;
case "近3个月":
endTime = Year + "-" + Month + "-" + Day;
if (Month > 3) {
startTime = Year + "-" + (Month - 3) + "-1";
} else {
startTime = Year - 1 + "-" + (12 + Month - 3) + "-1";
}
break;
case "近半年":
endTime = Year + "-" + Month + "-" + Day;
if (Month > 6) {
startTime = Year + "-" + (Month - 6) + "-1";
} else {
startTime = Year - 1 + "-" + (12 + Month - 6) + "-1";
}
break;
case "近1年":
startTime = Year - 1 + "-" + Month + "-" + Day;
endTime = Year + "-" + Month + "-" + Day;
break;
case "自定义":
if (!this.tenderDate) {
this.tenderDateValue = "";
}
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.startTenderTime = startTime;
obj.endTenderTime = endTime;
} else if (command == "自定义") {
this.$refs.tenderDatePicker.pickerVisible = true;
} else {
this.$refs.tenderDateShowPopper.hide();
this.tenderDateValue = "";
this.tenderDate = "";
obj.startTenderTime = "";
obj.endTenderTime = "";
}
this.jskBidQueryDto = obj;
},
changepunishDate(type) {
if(type=='bid'&&this.tenderDate){
this.tenderDateValue = "自定义";
var obj = JSON.parse(JSON.stringify(this.jskBidQueryDto));
obj.startTenderTime = this.tenderDate[0];
obj.endTenderTime = this.tenderDate[1];
this.jskBidQueryDto = obj;
}else 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;
}
},
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;
},
hidePoper(type) {
if(type=='bid'&&this.$refs.tenderDatePicker){
this.$refs.tenderDatePicker.pickerVisible = false;
}else if(this.$refs.datePicker){
this.$refs.datePicker.pickerVisible = false;
}
},
mouseenter(type) {
if(type=='bid'){
this.tenderDateShowPopper = true;
if(this.tenderDateValue=="自定义"){
this.$nextTick(() => {
this.$refs.tenderDatePicker.pickerVisible = true;
});
}
}else{
this.punishDateShowPopper = true;
if(this.punishDateValue=="自定义"){
this.$nextTick(() => {
this.$refs.datePicker.pickerVisible = true;
});
}
}
},
clearpunishDate(type) {
var obj = JSON.parse(JSON.stringify(this.jskBidQueryDto));
if(type=='bid'){
this.tenderDate = "";
this.tenderDateValue = "";
obj.startTenderTime = "";
obj.endTenderTime = "";
}else{
this.punishDate = "";
this.punishDateValue = "";
obj.startPunishDate = "";
obj.endPunishDate = "";
}
this.jskBidQueryDto = obj;
},
reset() {
Object.assign(this.$data, this.$options.data.call(this)); //重置data
this.init();
this.$emit("reset");
},
init(){
this.search();
this.addressListfn();
},
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();
},
},
};
</script>
<style lang="scss" scoped>
.content{
padding: 0px 16px;
padding-top: 16px;
border-radius: 4px 4px 4px 4px;
background: #FFFFFF;
.content_item{
padding-top: 20px;
display: flex;
align-items: baseline;
.label{
width: 84px;
font-size: 14px;
font-weight: 400;
color: rgba(35,35,35,0.8);
}
.content_right{
display: flex;
position: relative;
.ename_input{
width: 240px;
margin-right: 20px;
}
.keyword_checkbox{
margin-top: 6px;
}
.el-checkbox-group{
width: 1064px
}
.el-checkbox{
margin-right: 24px;
height: 22px;
line-height: 22px;
margin-bottom: 16px;
}
.more{
font-size: 12px;
cursor: pointer;
color: #0081FF;
position: absolute;
right: 0;
img{
width: 12px;
height: 8px;
}
}
.more1{
img{
}
}
}
.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_item1{
display: block;
}
.content_item_padding0{
padding: 0;
}
}
.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;
}
.excel{
cursor: pointer;
}
}
.bottomlist-title-left{
display: inline-flex;;
align-items: center;
.title-left{
border-left:2px solid #445781;
padding-left:8px;
padding-right:32px;
font-size: 16px;
height:16px;
line-height: 16px;
font-weight: bold;
color: #232323;
}
}
}
.bottomlist-content{
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{
text-decoration: none;
color:#3D3D3D;
}
a:hover, a:visited, a:link, a:active{
color:#3D3D3D;
}
}
.content-label{
margin-top: 8px;
.list-label{
background: #F3F3FF;
color: #8491E8;
border-radius: 1px 1px 1px 1px;
padding: 3px 7px;
font-size: 12px;
}
}
.list-content{
margin-top: 8px;
display: flex;
justify-content: start;
align-items: center;
.list-content-text{
display: flex;
justify-content: start;
align-items: center;
margin-right: 32px;
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;
}
}
}
.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;
}
}
.list-content1{
margin-top: 12px;
}
}
.bottomlist-list:hover{
background: #F6F9FC;
cursor: pointer;
}
.pagination{
padding: 14px ;
.el-pagination{
float: right;
}
}
}
.jabph_popper_box{
left: 101px;
}
</style>
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