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

hy

parent bfc6304a
This source diff could not be displayed because it is too large. You can view the blob instead.
* {
padding: 0;
margin: 0;
}
div,
dl,
dt,
dd,
form,
h1,
h2,
h3,
h4,
h5,
h6,
img,
ol,
ul,
li,
table,
th,
td,
p,
span,
a {
border: 0;
}
img,
input {
border: none;
vertical-align: middle;
background: none;
outline: none;
}
html {
height: 100%;
box-sizing: border-box;
}
body {
height: 100%;
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif;
}
ul,
ol {
list-style-type: none;
}
th,
td,
input {
font-size: 12px;
}
h3 {
font-size: 14px;
}
s,
i,
em {
font-style: normal;
text-decoration: none;
}
button {
border: none;
cursor: pointer;
font-size: 12px;
background-color: transparent;
}
select {
border-width: 1px;
_zoom: 1;
border-style: solid;
padding-top: 2px;
font-size: 12px;
}
.clear {
clear: both;
font-size: 1px;
height: 0;
visibility: hidden;
line-height: 0;
}
.clearfix:after {
content: "";
display: block;
clear: both;
}
.clearfix {
zoom: 1;
}
.float_left {
float: left;
}
.float_right {
float: right;
}
.el-input {
width: 100%;
}
.el-input .el-input__inner {
width: 100%;
height: 34px;
line-height: 34px;
background: #ffffff;
border: 1px solid #e0e0e0;
border-radius: 2px;
box-sizing: border-box;
}
.el-input__icon {
line-height: 34px;
}
.el-dropdown-link .el-input {
width: 100%;
}
.el-dropdown-link .el-input__inner {
width: 100%;
}
.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,
.el-select .el-input__inner:focus,
.el-range-editor.is-active:focus-within {
border-color: #3181fa;
}
.el-popper[x-placement^=top] {
margin-bottom: 12px;
}
.el-select-dropdown .popper__arrow {
display: none;
}
.el-popper .popper__arrow {
display: none;
}
.select-popper {
text-align: center;
display: inline-block;
position: relative;
color: #333333;
font-size: 14px;
cursor: pointer;
margin-right: 24px;
}
.select-popper .select-popper-img {
width: 24px;
height: 12px;
position: absolute;
top: -10px;
right: 2px;
}
.select-popper .el-select__tags,
.select-popper .el-cascader__tags,
.select-popper .el-input__suffix {
display: none;
}
.select-popper:hover {
color: #0381fa;
}
.select-popper-active {
color: #0381fa;
}
.select-popper-title {
padding: 4px 6px;
}
.select-popper-title .colorhover {
color: #0381fa;
}
.select-popper::-webkit-scrollbar-thumb {
background-color: #a1a3a9;
border-radius: 6px;
}
.select-popper::-webkit-scrollbar {
width: 6px;
height: 6px;
}
.select-popper::-webkit-scrollbar-track {
background: #fff;
}
.select-popper::-webkit-scrollbar-corner {
background: #fff;
}
.select-popper .el-select {
width: 100%;
}
.cascader-region {
position: absolute;
left: 0;
top: 0px;
opacity: 0;
line-height: 16px;
}
.cascader-region .el-input {
width: 100%;
line-height: 16px;
}
.cascader-region .el-input .el-input__inner {
width: 100%;
height: 16px !important;
}
.content_item .select-caret {
display: flex;
align-items: center;
justify-content: center;
font-size: 14px;
line-height: 16px;
font-weight: 400;
color: #333333;
cursor: pointer;
position: relative;
}
.content_item .select-popper:hover .select-caret {
color: #0074E5;
}
.content_item .select-caret:focus {
border: none;
outline: none;
}
.content_item .geduan{
width: 100%;
height: 0px;
opacity: 1;
border: 1px solid #EFEFEF;
margin: 16px 0px;
}
.content_item .search-new {
width: 100%;
padding-bottom: 16px;
}
.content_item .search-new span:last-child {
display: inline-block;
width: 80px;
text-align: center;
color: #5B5B5B;
line-height: 32px;
cursor: pointer;
border-radius: 2px 2px 2px 2px;
border: 1px solid #D4D4D4;
opacity: 1;
}
.content_item .search-new span:first-child {
margin-right: 12px;
display: inline-block;
width: 80px;
text-align: center;
cursor: pointer;
background: #0089ff;
color: #fff;
line-height: 34px;
border-radius: 2px 2px 2px 2px;
opacity: 1;
}
.content_item .search-new span:first-child:hover {
background: #0080FF;
}
.content_item .search-new span:last-child:hover {
background: #f5faff;
color: #0081FF;
border-color: #0081FF;
}
* {
padding: 0;
margin: 0;
}
div,
dl,
dt,
dd,
form,
h1,
h2,
h3,
h4,
h5,
h6,
img,
ol,
ul,
li,
table,
th,
td,
p,
span,
a {
border: 0;
}
img,
input {
border: none;
vertical-align: middle;
background: none;
outline: none;
}
html {
height: 100%;
box-sizing: border-box;
}
body {
height: 100%;
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif;
}
ul,
ol {
list-style-type: none;
}
th,
td,
input {
font-size: 12px;
}
h3 {
font-size: 14px;
}
s,
i,
em {
font-style: normal;
text-decoration: none;
}
button {
border: none;
cursor: pointer;
font-size: 12px;
background-color: transparent;
}
select {
border-width: 1px;
_zoom: 1;
border-style: solid;
padding-top: 2px;
font-size: 12px;
}
.clear {
clear: both;
font-size: 1px;
height: 0;
visibility: hidden;
line-height: 0;
}
.clearfix:after {
content: "";
display: block;
clear: both;
}
.clearfix {
zoom: 1;
}
.float_left {
float: left;
}
.float_right {
float: right;
}
<template>
<div class="content">
<div class="content_item">
<div class="label">项目名称</div>
<div class="content_right">
<el-input class="ename_input"
placeholder="请输入项目名称关键字" v-model="ename" @input="enamebtn('ename',ename)"></el-input>
<template v-if="ename">
<span v-for=" (item,k) in enameQueryTypeList" :key="k">
<el-radio v-model="enameQueryType" :label="item.key">{{item.value}}</el-radio>
</span>
</template>
</div>
</div>
<div class="content_item">
<div class="label">项目主体</div>
<div class="content_right">
<div class="item_ckquery_list" >
<div class="ckquery_list_right">
<el-input @input="registerIpt(registerCount)" ref="inp"
v-model="registerCount" autocomplete="off" type="text"
class="register_count_ipt" placeholder="请输入企业名称">
<el-dropdown trigger="click" slot="prepend" style="cursor:pointer;"
@command="changeCommand">
<span class="el-dropdown-link">
{{countType.value}}<i class="el-icon-caret-bottom"></i>
</span>
<el-dropdown-menu class="default_header_dropdown" slot="dropdown">
<el-dropdown-item v-for="(item,k) in countTypelist" :key="k" :command="item">{{item.value}}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</el-input>
</div>
</div>
</div>
</div>
<div class="content_item">
<div class="label">项目地区</div>
<div class="content_right">
<div class="select-popper">
<div class=" select-caret" :class="addressType.length>0?'select-active':''">
<span>
项目地区{{addressType.length>0?(addressType.length+'项'):''}}
</span>
<i class="el-icon-caret-bottom"></i>
</div>
<el-cascader ref="address" class="cascader-region select-location" @input="addressListbtn" v-model="addressType"
:options="addressList" :props="props" collapse-tags></el-cascader>
</div>
</div>
</div>
<div class="content_item">
<div class="label">项目类型</div>
<div class="content_right">
<div class="content-projecttype">
<template v-for="(item,i) in projectTypeList">
<span class="projecttype" :class="item.status?'activetype':''">
{{item.value}}
</span>
</template>
</div>
</div>
</div>
<div class="content_item content_item_padding0">
<div class="geduan">
</div>
</div>
<div class="content_item content_item_padding0">
<div class="search-new">
<span>查询</span>
<span>重置</span>
</div>
</div>
</div>
</template>
<script>
import jsk_data from '../../../../../public/jsk.json';
export default {
name: 'debtProject',
data() {
return {
ename:'',
enameQueryTypeList: [{
key: 'and',
status: false,
value: '模糊搜索',
keyid: 'businessScope'
},
{
key: 'or',
status: true,
value: '精准匹配',
keyid: 'businessScope'
},
],
enameQueryType: 'or',
registerCount:'',
countTypelist: [{
key: '1',
value: '项目主体'
},
{
key: '2',
value: '主管部门'
},
{
key: '3',
value: '实施单位'
}
],
countType: {
key: '3',
value: '实施单位'
},
addressList: [],
addressType: [],
props: {
multiple: true,
expandTrigger: "hover",
value: 'id'
},
projectTypeList: [
{
status: true,
value: '不限',
keyid: 'projectType',
key: '不限'
},
{
value: '房屋建筑工程',
status: false,
keyid: 'projectType',
key: '房屋建筑工程'
},
{
value: '市政基础设施工程',
status: false,
keyid: 'projectType',
key: '市政基础设施工程'
},
{
value: '其他',
status: false,
keyid: 'projectType',
key: '其他'
},
{
value: '空白',
status: false,
keyid: 'projectType',
key: '空白'
},
],
projectTypeText: ['不限'],
arrList:[]
}
},
created() {},
created() {
this.addressListfn();
},
methods: {
// 经营范围
enamebtn(key, text) {
var arr = this.ename.trim().split(' ')
for (var i = 0; i < arr.length; i++) {
if (!arr[i]) {
arr.splice(i, 1)
i--
}
}
var data = {
title:'项目名称:',
key: arr,
value: arr,
keyid: key
}
if (text.trim()) {
var n = -1;
for (let x = 0; x < this.arrList.length; x++) {
if (this.arrList[x].keyid == data.keyid) {
n = x;
}
}
if (n == -1) {
this.arrList.push(data)
} else {
this.arrList[n] = data;
}
} else {
for (let x = 0; x < this.arrList.length; x++) {
if (this.arrList[x].keyid == data.keyid) {
this.arrList.splice(x, 1);
x--;
}
}
}
},
registerIpt(registerCount){
},
changeCommand(str) {
this.countType=str;
},
addressListfn() {
var searchid;
if(this.$route.name=='search-combinedYN'){
searchid='530000'
}else{
searchid=''
}
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) {
if(searchid){
if (jsk_data[i].id == searchid) {
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{
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;
},
// 项目属地
addressListbtn() {
for (let i = 0; i < this.arrList.length; i++) {
if (this.arrList[i].keyid == 'address') {
this.arrList.splice(i, 1);
i--;
}
}
let arr = (this.$refs.address.getCheckedNodes())
let provinceCode = [],
cityCode = [],
countyCode = [];
let province = [],
city = [],
county = [];
for (var i in arr) {
if (arr[i].parent) {
if (!arr[i].parent.checked) {
arr[i].hasChildren && cityCode.push(arr[i].value);
!arr[i].hasChildren && countyCode.push(arr[i].value);
}
} else {
provinceCode.push(arr[i].value)
}
}
for (let j = 0; j < jsk_data.length; j++) {
if (provinceCode.length > 0) {
for (let i = 0; i < provinceCode.length; i++) {
if (provinceCode[i] == jsk_data[j].id) {
province.push({
value: jsk_data[j].regionName,
key: provinceCode[i]
})
}
}
}
if (cityCode.length > 0) {
for (let i = 0; i < cityCode.length; i++) {
if (cityCode[i] == jsk_data[j].id) {
city.push({
value: jsk_data[j].regionName,
key: cityCode[i]
})
}
}
}
if (countyCode.length > 0) {
for (let i = 0; i < countyCode.length; i++) {
if (countyCode[i] == jsk_data[j].id) {
county.push({
value: jsk_data[j].regionName,
key: countyCode[i]
})
}
}
}
}
if (province.length > 0 || city.length > 0 || county.length > 0) {
let arrlist = [];
if (province.length > 0) {
for (let i in province) {
arrlist.push(province[i].value)
}
}
if (city.length > 0) {
for (let i in city) {
arrlist.push(city[i].value)
}
}
if (county.length > 0) {
for (let i in county) {
arrlist.push(county[i].value)
}
}
console.log(this.addressType);
this.arrList.push({
value: arrlist,
keyid: 'address',
provinceCode: provinceCode,
cityCode: cityCode,
countyCode: countyCode,
title: '项目属地:',
key: '',
addressType:this.addressType
})
}
// this.landMarketDto = obj
},
}
}
</script>
......@@ -25,6 +380,80 @@
.content{
padding: 0px 16px;
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;
}
}
.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;
}
}
......
......@@ -20,6 +20,7 @@
</template>
<script>
import debtProject from "./components/debtProject/index.vue";
import "@/assets/styles/public.css";
export default {
name: 'radar',
components: { debtProject },
......@@ -87,7 +88,7 @@
</script>
<style lang="scss" scoped>
@import "~@/assets/styles/public.scss";
.app-container {
margin: 12px 24px;
padding: 0;
......@@ -116,7 +117,7 @@
.app-container .combined-title .title-right {
display: flex;
width: 1044px;
width: 100%;
position: relative;
height: 40px;
}
......@@ -150,7 +151,7 @@
height: 1px;
background-color: #EEEEEE;
position: absolute;
bottom: 0px;
bottom: -1px;
left: 0;
z-index: 1;
}
......@@ -168,7 +169,7 @@
.tab div {
cursor: pointer;
color: #666666;
font-size: 14px;
font-size: 16px;
text-align: center;
margin-right: 32px;
line-height: 40px;
......
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