Commit 9c20c3b7 authored by 远方不远's avatar 远方不远

hy

parent cb271d59
......@@ -37,6 +37,7 @@ input {
background: none;
outline: none;
}
html {
height: 100%;
box-sizing: border-box;
......@@ -112,6 +113,7 @@ select {
.float_right {
float: right;
}
.el-input {
width: 100%;
}
......@@ -129,7 +131,10 @@ select {
.el-input__icon {
line-height: 34px;
}
.el-dropdown-link{
cursor: pointer;
color: #333333;
}
.el-dropdown-link .el-input {
width: 100%;
}
......@@ -141,6 +146,7 @@ select {
.el-input--suffix .el-input__inner {
padding-right: 15px;
}
.el-select .el-input.is-focus .el-input__inner,
.el-input.is-active .el-input__inner,
.el-input__inner:focus,
......@@ -148,9 +154,13 @@ select {
.el-range-editor.is-active:focus-within {
border-color: #3181fa;
}
.el-popper[x-placement^=top] {
margin-bottom: 12px;
}
.el-popper[x-placement^=bottom]{
margin-top: 12px;
}
.el-select-dropdown .popper__arrow {
display: none;
}
......@@ -158,6 +168,7 @@ select {
.el-popper .popper__arrow {
display: none;
}
.select-popper {
text-align: center;
display: inline-block;
......@@ -217,6 +228,7 @@ select {
.select-popper::-webkit-scrollbar-corner {
background: #fff;
}
.select-popper .el-select {
width: 100%;
}
......@@ -255,11 +267,100 @@ select {
.content_item .select-popper:hover .select-caret {
color: #0074E5;
}
.content_item .select-caret:focus {
border: none;
outline: none;
}
.content_item .geduan{
.select-multiple {
position: absolute;
left: 0;
top: 0px;
opacity: 0;
line-height: 16px;
}
.select-multiple .el-input {
width: 100%;
line-height: 16px;
}
.select-multiple .el-input .el-input__inner {
width: 100%;
height: 16px !important;
}
.select-multiple .el-tag__close.el-icon-close {
display: none;
}
.el-dropdown-land{
margin-right: 24px;
}
.el-dropdown-land .el-icon-caret-bottom{
color: #333333;
margin-left: 4px;
}
.land_date_picker{
position: absolute!important;
visibility: hidden;
left: 100px;
top: 206px;
}
.jabph_popper_box {
position: absolute;
left: 146px;
bottom: -1px;
background: #ffffff;
width: 186px;
color: #606266;
text-indent: 0;
padding: 16px;
padding-top: 0px;
border: 1px solid #e0e0e0;
}
.jabph_popper_box .jabph_popper_wrap {
margin-top: 16px;
display: inline-block;
}
.jabph_popper_box .jabph_popper_wrap .jabph_popper_input {
width: 100px;
display: inline-block;
margin: 0px 8px;
.el-input__inner {
width: 100px;
}
}
.jabph_popper_box div:last-child {
display: flex;
justify-content: center;
margin-top: 16px;
}
.jabph_popper_box1 {
left: 0;
border: none;
}
.jabph_popper_box2 {
left: 101px;
}
.jabph_popper_box3 {
left: 115px;
}
.content_item .geduan {
width: 100%;
height: 0px;
opacity: 1;
......
......@@ -4,6 +4,8 @@ import dialogDrag from './dialog/drag'
import dialogDragWidth from './dialog/dragWidth'
import dialogDragHeight from './dialog/dragHeight'
import clipboard from './module/clipboard'
import limitNum from './limitNum/limitNum'
const install = function(Vue) {
Vue.directive('hasRole', hasRole)
......@@ -12,6 +14,7 @@ const install = function(Vue) {
Vue.directive('dialogDrag', dialogDrag)
Vue.directive('dialogDragWidth', dialogDragWidth)
Vue.directive('dialogDragHeight', dialogDragHeight)
Vue.directive('limitNum', limitNum)
}
if (window.Vue) {
......
export default {
bind(el) {
el.oninput = () => {
el.children[0].value = el.children[0].value.replace(/[^\d.]/g,""); //清除“数字”和“.”以外的字符
el.children[0].value = el.children[0].value.replace(/\.{2,}/g,"."); //只保留第一个. 清除多余的
el.children[0].value = el.children[0].value.replace(/^\./g,""); //必须保证第一个为数字而不是.
el.children[0].value = el.children[0].value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
if(el.children[0].value.indexOf(".")< 0 && el.children[0].value !=""){//以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额
el.children[0].value= parseFloat(el.children[0].value);
}
};
},
}
\ No newline at end of file
......@@ -14,6 +14,7 @@ import directive from './directive' // directive
import plugins from './plugins' // plugins
import { download } from '@/utils/request'
import './assets/icons' // icon
import './permission' // permission control
import { getDicts } from "@/api/system/dict/data";
......
<template>
<div>
<div id="bidRecord_wrap">
<div>
<div class="content_li">
<div class="content_item content_item_nopadding">
<div class="include-keywords">
<span class="lefttltel" style=" border-radius: 1px 0px 0px 1px;">项目包含</span>
<el-input class="commonly-input" v-model="keyword" style="width: 607px;" placeholder="请输入项目名称、文章关键词,多关键词用空格隔开,如:房建 地基"></el-input>
</div>
</div>
</div>
<div class="land_content_wrap " style="margin-bottom:8px;">
<div class="land_content_wrap_label" >投标报价</div>
<el-input class="other_ipt" placeholder="请输入最低金额" style="margin-left:12px;" @change="changeMoney('start')" clearable v-model="jskBidQueryDto.startBidMoney"></el-input>
<span style="margin:0 8px;"></span>
<el-input style="position:relative;top:2px;" placeholder="请输入最高金额" @change="changeMoney('end')" v-model="jskBidQueryDto.endBidMoney" clearable class="other_ipt other_ipt1">
<el-button slot="append" type="primary">万元</el-button>
</el-input>
<el-checkbox style="margin-left:24px;" v-model="jskBidQueryDto.hasMoney" true-label="yes" false-label="">包含投标报价未公示
</el-checkbox>
</div>
<div class="land_content_wrap">
<span class="land_content_wrap_label">相关条件</span>
<div class="select-popper" style="margin-bottom:8px;">
<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>
<el-dropdown @command="tenderDatehandleCommand" 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>
</div>
<div class="land_content_wrap">
<span class="land_content_wrap_label" style="line-height:34px;">参投单位</span>
<el-input style="margin-left:12px;" v-model="jskBidQueryDto.companyName" clearable placeholder="请输入参投单位名称关键词"> </el-input>
</div>
<div class="search-new" style="padding: 16px 0px 16px 76px">
<span @click="search()">查询</span>
<span @click="reset">重置</span>
</div>
<div class="data_list" v-if="showList">
<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="padding-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/tbjl/${item.id}.html`" target="_blank" :title="item.projectName.replace(/<font color='#FF204E'>/g,'').replace(/<\/font>/g,'')" v-if="item.id" v-html="item.projectName"></nuxt-link>
<div class="data_list_h1" v-else v-html="item.projectName"></div>
<div class="label_box" v-if="item.domicile">
<span class="label_span label_span2">{{ item.domicile}}</span>
</div>
<div class="label_wrap">
<template v-if="item.source">
<span class="label_item">来源网站:</span>
<span class="label_con" v-html="item.source"></span>
</template>
<template v-if="item.tenderTime">
<span class="label_item" >开标时间:</span><span class="label_con">{{ item.tenderTime }}</span>
</template>
<template v-if="item.punishDate">
<span class="label_item" >发布时间:</span>
<span class="label_con">{{ item.punishDate }}</span>
</template>
</div>
</div>
</div>
</div>
</div>
<div class="performance_pagination_wrap" v-if="showList&&total>0">
<Pagination
v-if="pageFlag"
ref="page"
:page='permissions.page'
@handle-current-change="handleCurrentChange"
@handle-size-change="handleSizeChange"
:total="total"
/>
</div>
</div>
</div>
</template>
<script>
import jsk_data from '../../../../../public/jsk.json';
export default {
name: 'BidRecord',
data() {
return {
addressList: [],
addressType: [],
props: {
multiple: true,
expandTrigger: "hover",
value: "id",
},
keyword:"",
keywordNot:"",
fieldshow: false,
fieldText: '默认排序',
field: '', //查询结果排序方式
fieldOptions: [
{
key: "",
value: "默认排序",
status: true,
},
{
key: "publishDate",
value: "发布日期从晚到早",
status: false,
},
],
page: 1,
limit: 20,
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: {
hasMoney:"",
province: [],
city: [],
county: []
},
domicile: [],
provinceText:[],
provinceList:[],
punishDate: "",
punishDateShowPopper: false,
tenderDateValue: "",
tenderDate: "",
tenderDateShowPopper: false,
pageFlag: true,
conditionsArr: [],
showList:true,
total:0,
tableData:[],
};
},
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() {
if (this.$route.query.keyword) {
this.keyword = this.$route.query.keyword;
}
this.addressListfn();
},
methods: {
// 关键词推荐
cliclikeywoder() {
this.$refs.keyword.show();
},
keywordClick(val) {
this.keyword = val
},
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.$emit("search",params)
},
//关闭支付弹窗
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;
},
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">
#bidRecord_wrap{
.other_ipt {
width: 174px;
height: 34px;
.el-input__inner {
width: 174px;
}
}
.other_ipt1 {
width: 187px;
.el-input-group__append {
padding: 0 8px;
}
}
}
</style>
<style lang="scss" scoped>
#bidRecord_wrap {
padding: 0 16px;
font-size: 14px;
.land_content_wrap {
display: flex;
line-height: 34px;
.land_content_wrap_label {
color: #666666;
margin-right: 4px;
}
}
.data_list {
width: 1184px;
margin: 0 auto;
.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;
&:hover {
background: #f5faff;
}
.data_list_h1 {
width: 1168px;
font-size: 18px;
font-weight: bold;
color: #333333;
line-height: 24px;
margin-bottom: 10px;
text-decoration:none;
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: #0081ff;
}
.label_span2 {
background: #f3f3ff;
color: #8491e8;
}
.label_span3 {
background: #e3f6f8;
color: #44bcc4;
}
.label_span4 {
background: #e3f6f8;
color: #44bcc4;
}
}
.label_wrap {
font-size: 14px;
margin-top: 10px;
line-height: 18px;
display: flex;
.label_item {
color: #999999;
}
.label_item1{
position: relative;
top: -3px;
}
.company {
color: #0081ff;
cursor: pointer;
margin-right: 20px;
}
.label_con {
color: #333333;
margin-right: 20px;
max-width: 900px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.label_con1 {
width: 1042px;
display: inline-block;
margin: 0;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
}
}
}
.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;
::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;
}
}
}
}
}
</style>
<template>
<div>
<div class="content">
<div class="content_item">
<div class="label">项目名称</div>
<div class="content_right">
<el-input class="ename_input"
placeholder="请输入项目名称关键字" v-model="landMarketDto.keyword" ></el-input>
</div>
</div>
<div class="content_item">
<div class="label">土地信息</div>
<div class="content_right">
<div class="select-popper">
<span :class="{ color_text:landMarketDto.province.length ||landMarketDto.city.length ||landMarketDto.area.length,}">
行政区划{{landMarketDto.province.length ||landMarketDto.city.length ||landMarketDto.area.length? landMarketDto.province.length +landMarketDto.city.length +landMarketDto.area.length +"项": ""
}}
<i class="el-icon-caret-bottom"></i>
</span>
<el-cascader ref="address" class="cascader-region select-location" @change="domicileChange" v-model="addressType"
:options="addressList" :props="props" collapse-tags clearable></el-cascader>
</div>
<div class="select-popper">
<span :class="{ color_text: landMarketDto.landUse.length }">
土地用途{{landMarketDto.landUse.length? landMarketDto.landUse.length + "项": ""}}
<i class="el-icon-caret-bottom"></i>
</span>
<el-select v-model="landMarketDto.landUse" class="select-multiple" multiple placeholder="请选择">
<el-option v-for="(item, i) in landUseOptions" :key="i" :label="item" :value="item">
</el-option>
</el-select>
</div>
<div class="select-popper">
<span :class="{ color_text: landMarketDto.industry.length }">
土地行业分类{{landMarketDto.industry.length? landMarketDto.industry.length + "项": ""}}
<i class="el-icon-caret-bottom"></i>
</span>
<el-select v-model="landMarketDto.industry" class="select-multiple" multiple placeholder="请选择">
<el-option v-for="(item, i) in landMarketIndustryList" :key="i" :label="item" :value="item">
</el-option>
</el-select>
</div>
<div class="select-popper">
<span :class="{ color_text: landMarketDto.supplyLandWay.length }">
供应方式{{landMarketDto.supplyLandWay.length? landMarketDto.supplyLandWay.length + "项": ""}}
<i class="el-icon-caret-bottom"></i>
</span>
<el-select v-model="landMarketDto.supplyLandWay" class="select-multiple" multiple placeholder="请选择">
<el-option v-for="(item, i) in supplyLandWayOptions" :key="i" :label="item" :value="item">
</el-option>
</el-select>
</div>
<el-dropdown @command="handleCommand" class="el-dropdown-land" trigger="click" ref="popper" :hide-on-click="false">
<span class="el-dropdown-link" :class="landMarketDto.startAcreage || landMarketDto.endAcreage? 'color_text': ''">
出让面积{{landMarketDto.startAcreage || landMarketDto.endAcreage? " 1项": ""}}<i class="el-icon-caret-bottom"></i>
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item v-for="(item, i) in acreageOptions" :class="landMarketDto.startAcreage == item.value[0] &&landMarketDto.endAcreage == item.value[1] &&
!startAcreage && !endAcreage? 'color_text': ''" :key="i" :command="item.value">{{ item.label }}</el-dropdown-item>
<el-dropdown-item command="" style="padding: 0; text-indent: 20px">
<div @mouseenter="showPopper = true" @mouseleave="showPopper = false">
<span :class="(startAcreage || endAcreage) &&landMarketDto.startAcreage == startAcreage &&landMarketDto.endAcreage == endAcreage
? 'color_text': '' ">
自定义<i class="el-icon-arrow-right"></i>
</span>
<div class="jabph_popper_box jabph_popper_box3" style="position: absolute" v-if="showPopper">
<div class="jabph_popper_wrap">
<el-input class="jabph_popper_input" v-limit-num clearable v-model="startAcreage"></el-input>
</div>
<div class="jabph_popper_wrap">
<el-input class="jabph_popper_input" v-limit-num clearable v-model="endAcreage"></el-input>
</div>
<div style="">
<el-button size="mini" @click="cancel">取消</el-button>
<el-button type="primary" size="mini" @click="popperConfirm">确定</el-button>
</div>
</div>
</div>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<div class="select-popper">
<el-popover placement="bottom" v-model="showIpt" trigger="click">
<div class="jabph_popper_box jabph_popper_box1" style="position: relative">
<div class="jabph_popper_wrap">
最小
<el-input class="jabph_popper_input" v-limit-num clearable v-model="volumeRateLow">
</el-input>
</div>
<div class="jabph_popper_wrap">
最大
<el-input class="jabph_popper_input" v-limit-num clearable v-model="volumeRateHigh">
</el-input>
</div>
<div style="">
<el-button size="mini" @click="showIpt = false">取消</el-button>
<el-button type="primary" size="mini" @click="volumeRateConfirm">确定</el-button>
</div>
</div>
<span slot="reference" :class="{color_text:landMarketDto.volumeRateHigh || landMarketDto.volumeRateLow,}">
约定容积率{{landMarketDto.volumeRateHigh || landMarketDto.volumeRateLow? "1项": ""}}
<i class="el-icon-caret-bottom"></i>
</span>
</el-popover>
</div>
</div>
</div>
<div class="content_item">
<div class="label">成交信息</div>
<div class="content_right">
<el-dropdown @command="transactionPricehandleCommand" class="el-dropdown-land" 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>
<el-dropdown @command="contractSignTimehandleCommand" class="el-dropdown-land" trigger="click" ref="contractSignTimeShowPopper" :hide-on-click="false">
<span class="el-dropdown-link" :class="contractSignTimeValue ? 'color_text' : ''">
签订日期{{ contractSignTimeValue ? " 1项" : ""}}<i class="el-icon-caret-bottom"></i>
</span>
<div>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item v-for="(item, i) in contractSignTimeOptions" :class="contractSignTimeValue && contractSignTimeValue == 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=" contractSignTimeValue == '自定义' ? 'color_text' : ''">
自定义<i class="el-icon-arrow-right"></i>
</span>
<el-date-picker v-if="contractSignTimeShowPopper"@change="changeContractSignTime" class="land_date_picker"v-model="contractSignTime"
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>
</div>
<div class="content_item">
<div class="label">土地坐落</div>
<div class="content_right">
<el-input v-model="landMarketDto.landAddr" 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="landMarketDto.companyName" clearable class="land_ipt_470"
placeholder="请输入受让人或土地使用权人名称,如重庆城投"></el-input>
</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="landInfo_wrap">
<div class="data_list" v-if="showList">
<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">
<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 v-if="total>0">
<div v-for="(item, index) in tableData" class="data_list_item" :key="index">
<router-link class="data_list_h1 data_list_h1_1" :to="`/biz/tdjy/${encodeStr(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"></router-link>
<div class="data_list_h1" v-else-if="item.projectName" v-html="item.projectName"></div>
<div class="label_wrap">
<template v-if="item.companyName">
<span class="label_item">受让人:</span>
<router-link class="company" :to="`/enterprise/${encodeStr(item.companyId)}/`"
target="_blank"
:title="item.companyName.replace(/<font color='#FF204E'>/g,'').replace(/<\/font>/g,'')"
v-if="item.companyId" v-html="item.companyName"></router-link>
<div class="label_con" v-else v-html="item.companyName"></div>
</template>
<template v-if="item.transactionPrice">
<span class="label_item">成交金额:</span><span
class="label_con">{{ item.transactionPrice + "万元" }}</span>
</template>
<template v-if="item.acreage">
<span class="label_item">出让面积:</span><span
class="label_con">{{ item.acreage + "m²" }}</span>
</template>
<template v-if="item.contractSignTime">
<span class="label_item">合同签订:</span><span
class="label_con">{{ item.contractSignTime }}</span>
</template>
</div>
<div class="label_wrap">
<template v-if="item.landUse">
<span class="label_item">土地用途:</span><span class="label_con">{{ item.landUse }}</span>
</template>
<template v-if="item.industry">
<span class="label_item" v-if="item.industry">行业分类:</span><span
class="label_con">{{ item.industry }}</span>
</template>
<template v-if="item.supplyLandWay">
<span class="label_item" v-if="item.supplyLandWay">供应方式:</span><span
class="label_con">{{ item.supplyLandWay }}</span>
</template>
</div>
<div class="label_wrap">
<!-- <img class="landArea_img" v-if="item.domicile" src="~/assets/img/landArea.png" alt="" /> -->
<template v-if="item.domicile">
<span class="label_item" v-if="item.domicile">行政区划:</span><span
class="label_con">{{ item.domicile }}</span>
</template>
<template v-if="item.landAddr">
<span class="label_item" v-if="item.landAddr">土地坐落:</span><span class="label_con"
v-html="item.landAddr"></span>
</template>
</div>
</div>
</div>
</div>
</div>
<!-- <div class="performance_pagination_wrap" v-if="showList&&total>0">
<Pagination
v-if="pageFlag"
ref="page"
:page='permissions.page'
@handle-current-change="handleCurrentChange"
@handle-size-change="handleSizeChange"
:total="total"
/>
</div> -->
</div>
</template>
<script>
import jsk_data from '../../../../../public/jsk.json';
export default {
name: 'Land',
data() {
return {
conditionTitles: {
keyword: "关键词:",
landAddr: "土地坐落:",
companyName: "受让人:",
},
conditionsArr: [],
addressList: [],
addressType: [],
props: {
multiple: true,
expandTrigger: "hover",
value: "id",
},
fieldshow: false,
fieldText: '默认排序',
field: '', //查询结果排序方式
fieldOptions: [{
key: "contractSignTime",
value: "默认排序",
status: true,
},
{
key: "transactionPrice",
value: "成交金额从大到小",
status: false,
},
{
key: "acreage",
value: "出让面积从大到小",
status: false,
},
],
page: 1,
limit: 20,
acreageOptions: [{
value: "不限",
label: "不限",
},
{
value: [0, 500],
label: "500平以下",
},
{
value: [500, 1000],
label: "500-1000平",
},
{
value: [1000, 5000],
label: "1000-5000平",
},
{
value: [5000, 20000],
label: "5000-2万平",
},
{
value: [20000, 50000],
label: "2万-5万平",
},
{
value: [50000, 100000],
label: "5万-10万平",
},
{
value: [100000, ""],
label: "10万平以上",
},
],
transactionPriceOptions: [{
value: "不限",
label: "不限",
},
{
value: [0, 100],
label: "100万元以下",
},
{
value: [100, 1000],
label: "100万-1000万元",
},
{
value: [1000, 5000],
label: "1000万-5000万元",
},
{
value: [5000, 20000],
label: "5000万-2亿元",
},
{
value: [20000, ""],
label: "2亿元以上",
},
],
contractSignTimeOptions: [{
label: "不限",
value: "",
},
{
label: "近1个月",
value: "近1个月",
},
{
label: "近半年",
value: "近半年",
},
{
label: "近1年",
value: "近1年",
},
{
label: "近3年",
value: "近3年",
},
],
contractSignTimeValue: "",
landUseOptions: [],
landMarketIndustryList: [],
supplyLandWayOptions: [
"划拨供地",
"协议出让",
"国有租赁",
"拍卖出让",
"招标出让",
"挂牌出让",
],
landMarketDto: {
landUse: [],
province: [],
city: [],
area: [],
supplyLandWay: [],
industry: [],
},
domicile: [],
startAcreage: "",
endAcreage: "",
showPopper: false,
showIpt: false,
volumeRateHigh: "",
volumeRateLow: "",
startTransactionPrice: "",
endTransactionPrice: "",
transactionPriceShowPopper: false,
contractSignTime: "",
contractSignTimeShowPopper: false,
pageFlag: true,
showList:true,
total:0,
tableData:[],
};
},
computed: {
checkLandMarketDto() {
let arr = [];
let flag = false;
let data = {};
let keyid, value, title;
if (this.domicile.length > 0) {
data = {
title: "行政区划:",
keyid: "domicile",
value: this.domicile.join(","),
key: "domicile"
}
arr.push(data)
}
if (this.contractSignTimeValue == "自定义") {
data = {
title: "签订日期:",
value: this.landMarketDto.contractSignTimeStart + "~" + this.landMarketDto.contractSignTimeEnd,
}
arr.push(data)
}
if (this.contractSignTimeValue && this.contractSignTimeValue != "自定义") {
data = {
title: "签订日期:",
value: this.contractSignTimeValue,
}
arr.push(data)
}
for (var i in this.landMarketDto) {
if (this.landMarketDto[i]) {
keyid = i;
value = this.landMarketDto[i];
if (
Object.prototype.toString.call(this.landMarketDto[i]) ===
"[object Array]"
) {
if (this.landMarketDto[i].length > 0) {
flag = true;
switch (i) {
case 'landUse':
title = "土地用途:";
break;
case 'supplyLandWay':
title = "供应方式:";
break;
case 'industry':
title = "行业分类:";
break;
default:
title = "";
break;
}
} else {
title = ""
}
} else {
title = this.conditionTitles[i];
flag = true;
}
if (title) {
data = {
keyid: keyid,
value: value,
title: title,
key: value
}
arr.push(data)
}
}
}
this.conditionsArr = arr
return flag;
},
},
mounted() {
if (this.$route.query.keyword) {
var obj = JSON.parse(JSON.stringify(this.landMarketDto));
obj.keyword = this.$route.query.keyword;
this.landMarketDto = obj;
}
this.addressListfn();
// this.$axios.get('https://files.jiansheku.com/file/json/common/searchDic.json').then(res => {
// if (res && res.status == 200) {
// this.landMarketIndustryList = res.data.landMarketIndustry;
// this.landUseOptions = res.data.landUse
// }
// }).catch(error => {
// });
// if (this.landUseOptions.length == 0 || this.landMarketIndustryList.length == 0) {
// this.$axios.post("/nationzj/project/recently/typeList", {
// timeout: "49999",
// headers: {
// "Content-Type": "application/json;charset=UTF-8",
// },
// })
// .then((res) => {
// if (res.data.code == 200) {
// this.landUseOptions = res.data.data.landUseList;
// this.landMarketIndustryList = res.data.data.landMarketIndustryList;
// }
// })
// .catch((err) => {});
// }
},
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.landMarketDto));
data.landUse = data.landUse.join(",");
data.province = data.province.join(",");
data.city = data.city.join(",");
data.area = data.area.join(",");
data.supplyLandWay = data.supplyLandWay.join(",");
data.industry = data.industry.join(",");
let params = {
page: {
page: this.page,
limit: this.limit,
field: this.field,
},
landMarketDto: data,
};
this.$emit("search", params)
},
//关闭支付弹窗
resolve(value) {
if (value) {
this.$router.go(0)
}
},
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 = [],
area = [];
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 && area.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.landMarketDto));
obj.province = province;
obj.city = city;
obj.area = area;
this.landMarketDto = obj;
},
popperConfirm() {
if (
this.startAcreage &&
this.endAcreage &&
!(Number(this.endAcreage) > Number(this.startAcreage))
) {
return this.$message.warning("最小值必须小于最大值,请重新输入!");
}
this.showPopper = false;
var obj = JSON.parse(JSON.stringify(this.landMarketDto));
obj.startAcreage = this.startAcreage;
obj.endAcreage = this.endAcreage;
this.landMarketDto = obj;
this.$refs.popper.hide();
},
cancel() {
this.showPopper = false;
this.$refs.popper.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();
},
transactionPriceCancel() {
this.transactionPriceShowPopper = false;
this.$refs.transactionPriceShowPopper.hide();
},
handleCommand(command) {
if (command) {
this.$refs.popper.hide();
var obj = JSON.parse(JSON.stringify(this.landMarketDto));
this.startAcreage = "";
this.endAcreage = "";
if (command == "不限") {
obj.startAcreage = "";
obj.endAcreage = "";
} else {
obj.startAcreage = command[0];
obj.endAcreage = command[1];
}
this.landMarketDto = 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;
}
},
contractSignTimehandleCommand(command) {
var obj = JSON.parse(JSON.stringify(this.landMarketDto));
if (command && command != "自定义") {
this.contractSignTimeValue = command;
this.$refs.contractSignTimeShowPopper.hide();
const datetime = new Date();
var startTime, endTime, Year, Month, Day;
Year = datetime.getFullYear();
Month = datetime.getMonth() + 1;
Day = datetime.getDate();
switch (command) {
case "近1个月":
if (Month > 1) {
startTime = Year + "-" + (Month - 1) + "-1";
} else {
startTime = Year - 1 + "-" + (12 + Month - 1) + "-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.contractSignTime) {
this.contractSignTimeValue = "";
}
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.contractSignTimeStart = startTime;
obj.contractSignTimeEnd = endTime;
} else if (command == "自定义") {
this.$refs.datePicker.pickerVisible = true;
} else {
this.$refs.contractSignTimeShowPopper.hide();
this.contractSignTimeValue = "";
this.contractSignTime = "";
obj.contractSignTimeStart = "";
obj.contractSignTimeEnd = "";
}
this.landMarketDto = obj;
},
changeContractSignTime() {
if (this.contractSignTime) {
this.contractSignTimeValue = "自定义";
var obj = JSON.parse(JSON.stringify(this.landMarketDto));
obj.contractSignTimeStart = this.contractSignTime[0];
obj.contractSignTimeEnd = this.contractSignTime[1];
this.landMarketDto = 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() {
if (this.$refs.datePicker) {
this.$refs.datePicker.pickerVisible = false;
}
},
mouseenter() {
this.contractSignTimeShowPopper = true;
if (this.contractSignTimeValue == "自定义") {
this.$nextTick(() => {
this.$refs.datePicker.pickerVisible = true;
});
}
},
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();
},
volumeRateConfirm() {
if (
this.volumeRateLow &&
this.volumeRateHigh &&
!(Number(this.volumeRateHigh) > Number(this.volumeRateLow))
) {
return this.$message.warning("最小值必须小于最大值,请重新输入!");
}
var obj = JSON.parse(JSON.stringify(this.landMarketDto));
obj.volumeRateHigh = this.volumeRateHigh;
obj.volumeRateLow = this.volumeRateLow;
this.landMarketDto = obj;
this.showIpt = false;
},
clearContractSignTime() {
this.contractSignTime = "";
this.contractSignTimeValue = "";
var obj = JSON.parse(JSON.stringify(this.landMarketDto));
obj.contractSignTimeStart = "";
obj.contractSignTimeEnd = "";
this.landMarketDto = obj;
},
reset() {
Object.assign(this.$data, this.$options.data.call(this)); //重置data
this.init();
this.$emit("reset");
},
init() {
this.search();
this.addressListfn();
this.$axios.get('https://files.jiansheku.com/file/json/common/searchDic.json').then(res => {
if (res && res.status == 200) {
this.landMarketIndustryList = res.data.landMarketIndustry;
this.landUseOptions = res.data.landUse
}
}).catch(error => {
});
if (this.landUseOptions.length == 0 || this.landMarketIndustryList.length == 0) {
this.$axios.post("/nationzj/project/recently/typeList", {
timeout: "49999",
headers: {
"Content-Type": "application/json;charset=UTF-8",
},
})
.then((res) => {
if (res.data.code == 200) {
this.landUseOptions = res.data.data.landUseList;
this.landMarketIndustryList = res.data.data.landMarketIndustryList;
}
})
.catch((err) => {});
}
},
},
};
</script>
<style lang="scss">
#landInfo_wrap {
}
</style>
<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;
}
}
}
#landInfo_wrap {
padding: 0 16px;
font-size: 14px;
.land_content_wrap {
display: flex;
.land_content_wrap_label {
color: #666666;
margin-right: 4px;
}
}
.data_list {
width: 1184px;
margin: 0 auto;
.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;
&:hover {
background: #f5faff;
}
.data_list_h1 {
width: 1168px;
font-size: 18px;
font-weight: bold;
color: #333333;
line-height: 24px;
margin-bottom: 6px;
word-break: break-all;
display: inline-block;
}
.data_list_h1_1 {
cursor: pointer;
}
.label_wrap {
font-size: 14px;
margin-top: 10px;
line-height: 18px;
display: flex;
.landArea_img {
width: 18px;
height: 17px;
margin-right: 4px;
position: relative;
top: -3px;
}
.label_item {
color: #999999;
}
.company {
color: #0081ff;
cursor: pointer;
margin-right: 20px;
}
.label_con {
color: #333333;
margin-right: 20px;
}
}
}
}
.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;
::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;
}
}
}
}
}
</style>
\ No newline at end of file
......@@ -455,7 +455,6 @@
<style lang="scss" scoped>
.content{
padding: 0px 16px;
border-radius: 4px 4px 4px 4px;
background: #FFFFFF;
.content_item{
......@@ -563,10 +562,11 @@
}
}
.bottomlist-content{
padding: 14px;
padding-bottom: 0px;
}
.bottomlist-list{
padding: 14px;
font-size: 14px;
border-bottom: 1px solid #EFEFEF;
padding-bottom: 14px;
......
......@@ -14,28 +14,30 @@
</div>
</div>
<debtProject v-if="personnelHerf=='debtProject'" />
<Land v-if="personnelHerf=='Land'" />
</div>
</template>
<script>
import debtProject from "./components/debtProject/index.vue";
import Land from "./components/Land/index.vue";
import "@/assets/styles/public.css";
export default {
name: 'radar',
components: { debtProject },
components: { debtProject,Land },
data() {
return {
// tablist
personnelList: [{
key: 'debtProject',
status: true,
status: false,
value: '企业专项债项目',
},
{
key: 'Builder',
status: false,
key: 'Land',
status: true,
value: '土地交易',
},
......@@ -71,7 +73,7 @@
},
],
personnelHerf:'debtProject'
personnelHerf:'Land'
}
},
created() {},
......@@ -81,7 +83,7 @@
this.personnelList[i].status = false;
}
this.personnelList[index].status = true;
this.personnelHerf=this.personnelList[index].key;
},
}
}
......
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