Commit e2fe0da5 authored by shilei's avatar shilei

Merge branch 'dev' of http://101.201.78.203/cfld-front/shuchengminipro into dev

parents c6f0e158 3854ab39
...@@ -30,4 +30,6 @@ export default { ...@@ -30,4 +30,6 @@ export default {
queryFiltersList: '/postcard/api/sysDictData/listByCodes', queryFiltersList: '/postcard/api/sysDictData/listByCodes',
/** 登录 */ /** 登录 */
login: '/postcard/user/login', login: '/postcard/user/login',
/** 主导产业 */
queryIndustryList: '/postcard/api/parkInfo/v1.0/industryList',
} }
...@@ -164,8 +164,7 @@ export default { ...@@ -164,8 +164,7 @@ export default {
}, },
computed: { computed: {
popupBox() { popupBox() {
return `top : ${this.top + "rpx"}; return `border-radius: 0 0 ${this.radius} ${this.radius};`;
border-radius: 0 0 ${this.radius} ${this.radius};`;
}, },
scrollPopup() { scrollPopup() {
return `opacity: ${this.isShow ? 1 : 0};`; return `opacity: ${this.isShow ? 1 : 0};`;
...@@ -305,10 +304,10 @@ export default { ...@@ -305,10 +304,10 @@ export default {
.popup-box { .popup-box {
width: 100%; width: 100%;
height: auto; height: auto;
position: fixed; position: relative;
overflow: hidden; overflow: hidden;
background-color: #ffffff; background-color: #ffffff;
z-index: 99999 !important; z-index: 5001;
.scroll-popup { .scroll-popup {
width: 100%; width: 100%;
...@@ -385,7 +384,7 @@ export default { ...@@ -385,7 +384,7 @@ export default {
right: 0; right: 0;
bottom: 0; bottom: 0;
background: rgba(0, 0, 0, 0.8); background: rgba(0, 0, 0, 0.8);
z-index: 99998 !important; z-index: 5000 !important;
overflow: hidden; overflow: hidden;
} }
</style> </style>
...@@ -10,13 +10,13 @@ ...@@ -10,13 +10,13 @@
<template v-slot:rightMedia> <template v-slot:rightMedia>
<view> <view>
<div class="f24 flex right-footer"> <div class="f24 flex right-footer">
<div style="width: 200rpx"> <div class="nowrap" style="width: 200rpx">
<span class="c80">级别:</span> <span class="c80">产业园级别:</span>
<span>{{ detail.levelName || "--" }}</span> <span>{{ parkInfo.levelName || "--" }}</span>
</div> </div>
<div style="margin-left: 10rpx"> <div class="nowrap" style="margin-left: 10rpx">
<span class="c80">面积:</span <span class="c80">占地面积:</span
>{{ detail.coverArea ? detail.coverArea + "亩" : "--" }} >{{ parkInfo.coverArea ? parkInfo.coverArea + "亩" : "--" }}
</div> </div>
</div> </div>
</view> </view>
...@@ -64,4 +64,7 @@ export default { ...@@ -64,4 +64,7 @@ export default {
.c80 { .c80 {
color: #808080; color: #808080;
} }
.nowrap {
white-space: nowrap;
}
</style> </style>
<!-- 走进园区 --> <!-- 走进园区 -->
<template> <template>
<view class="container"> <view class="container">
<view class="tab_bar"> <div class="top-cell">
<view class="tab_bar relative z-5001">
<view <view
class="tab_item" class="tab_item"
:class="{ active: activeBar === index }" :class="{ active: activeBar === index }"
...@@ -14,8 +15,8 @@ ...@@ -14,8 +15,8 @@
</view> </view>
</view> </view>
<div <div
class="flex align-center justify-between" class="flex align-center justify-between relative z-5001"
style="padding: 25rpx 23rpx;background: #fff;position: fixed;top: 60rpx;width: 100vw " style="padding: 25rpx 23rpx;background: #fff;width: 100vw "
> >
<div class="flex align-center"> <div class="flex align-center">
<div class="search-input"> <div class="search-input">
...@@ -48,6 +49,7 @@ ...@@ -48,6 +49,7 @@
</div> </div>
</div> </div>
</div> </div>
<div v-show="activeBar !== 1">
<dropdown-vue <dropdown-vue
ref="dropDown" ref="dropDown"
:menuList="$u.deepClone(menuList[activeBar])" :menuList="$u.deepClone(menuList[activeBar])"
...@@ -56,9 +58,10 @@ ...@@ -56,9 +58,10 @@
themeColor="#4374EF" themeColor="#4374EF"
:top="166" :top="166"
></dropdown-vue> ></dropdown-vue>
<div style="height: 246rpx"></div> </div>
<div v-if="mode === 'list'"> </div>
<view class="tab-contant">
<view v-if="mode === 'list'" class="tab-contant content" :class="{'no-filter': activeBar === 1}">
<view <view
class="media-card" class="media-card"
v-for="cardInfo in dataList" v-for="cardInfo in dataList"
...@@ -69,7 +72,6 @@ ...@@ -69,7 +72,6 @@
<land-card-vue :key-words="keyword" :detail="cardInfo" v-if="activeBar == 1"></land-card-vue> <land-card-vue :key-words="keyword" :detail="cardInfo" v-if="activeBar == 1"></land-card-vue>
<carrier-card-vue :key-words="keyword" :detail="cardInfo" v-if="activeBar == 2"></carrier-card-vue> <carrier-card-vue :key-words="keyword" :detail="cardInfo" v-if="activeBar == 2"></carrier-card-vue>
</view> </view>
</view>
<u-loadmore <u-loadmore
v-if="dataList.length && (!haveMore || isLoading)" v-if="dataList.length && (!haveMore || isLoading)"
:status="isLoading ? 'loading' : 'nomore'" :status="isLoading ? 'loading' : 'nomore'"
...@@ -92,8 +94,8 @@ ...@@ -92,8 +94,8 @@
marginTop="120" marginTop="120"
> >
</u-empty> </u-empty>
</div> </view>
<div v-else> <div v-else class="content z-100">
<map id="mapId" @markertap="handleMarkerClick" @callouttap="handleMarkerClick" :scale='10' style="width: 100%;height: calc(100vh - 246rpx)" latitude="31.464086" longitude="116.944909" class="map" :markers="markers"> <map id="mapId" @markertap="handleMarkerClick" @callouttap="handleMarkerClick" :scale='10' style="width: 100%;height: calc(100vh - 246rpx)" latitude="31.464086" longitude="116.944909" class="map" :markers="markers">
</map> </map>
<div v-if="activeInfo.id" :key="activeInfo.id" @click="toDetail(activeInfo)" style="position: fixed;padding: 0 30rpx;bottom: 30rpx;width: 100vw;z-index: 999;box-sizing: border-box;"> <div v-if="activeInfo.id" :key="activeInfo.id" @click="toDetail(activeInfo)" style="position: fixed;padding: 0 30rpx;bottom: 30rpx;width: 100vw;z-index: 999;box-sizing: border-box;">
...@@ -133,7 +135,7 @@ export default { ...@@ -133,7 +135,7 @@ export default {
[ [
{ {
id: 1, id: 1,
name: "级别", name: "主导产业",
isMultiple: false, //是否多选 isMultiple: false, //是否多选
showType: 3, //下拉框类型(1、2、3、4) showType: 3, //下拉框类型(1、2、3、4)
}, },
...@@ -146,18 +148,18 @@ export default { ...@@ -146,18 +148,18 @@ export default {
}, },
], ],
[ [
{ // {
id: 1, // id: 1,
name: "土地类型", // name: "土地类型",
isMultiple: false, //是否多选 // isMultiple: false, //是否多选
showType: 3, //下拉框类型(1、2、3、4) // showType: 3, //下拉框类型(1、2、3、4)
}, // },
{ // {
id: 2, // id: 2,
name: "面积", // name: "面积",
isMultiple: false, //是否多选 // isMultiple: false, //是否多选
showType: 3, //下拉框类型(1、2、3、4) // showType: 3, //下拉框类型(1、2、3、4)
}, // },
], ],
[ [
{ {
...@@ -170,7 +172,7 @@ export default { ...@@ -170,7 +172,7 @@ export default {
id: 2, id: 2,
name: "建筑结构", name: "建筑结构",
isMultiple: false, //是否多选 isMultiple: false, //是否多选
showType: 1, //下拉框类型(1、2、3、4) showType: 3, //下拉框类型(1、2、3、4)
}, },
{ {
id: 3, id: 3,
...@@ -205,10 +207,15 @@ export default { ...@@ -205,10 +207,15 @@ export default {
}, },
mounted() { mounted() {
this.getList(); this.getList();
store.dispatch('getFilterEnum').then(() => { this.initFilterList();
},
methods: {
initFilterList() {
const list = [this.initIndustryList(), store.dispatch('getFilterEnum')];
Promise.all(list).then(([industryList]) => {
this.filterList = [ this.filterList = [
{ {
itemList1: this.filterEnum.park_level, itemList1: industryList.map((i) => ({ dictLabel: i, dictValue: i, dictType: 'primaryIndustry' })),
itemList2: this.filterEnum.park_area, itemList2: this.filterEnum.park_area,
}, },
{ {
...@@ -223,7 +230,30 @@ export default { ...@@ -223,7 +230,30 @@ export default {
] ]
}) })
}, },
methods: { initIndustryList() {
return this.$fetch({
url: API.queryIndustryList,
methods: "get",
data: {},
});
} ,
handleParams(params) {
const config = {
park_area: 'parkArea',
carrier_type: 'carrierType',
carrier_construction: 'carrierConstruction',
carrier_area: 'carrierArea',
}
const result = Object.entries(params).map(([key, value]) => {
const target = config[key];
if (target) {
return [target, value];
} else {
return [key, value];
}
});
return Object.fromEntries(result);
},
getList() { getList() {
if (!this.haveMore) return; if (!this.haveMore) return;
this.isLoading = true; this.isLoading = true;
...@@ -240,6 +270,7 @@ export default { ...@@ -240,6 +270,7 @@ export default {
} }
} }
searchCondition.name = this.searchKey searchCondition.name = this.searchKey
searchCondition = this.handleParams(searchCondition);
this.$fetch({ this.$fetch({
url: this.api, url: this.api,
methods: "post", methods: "post",
...@@ -385,8 +416,8 @@ export default { ...@@ -385,8 +416,8 @@ export default {
padding: 0 10rpx; padding: 0 10rpx;
padding-top: 15rpx; padding-top: 15rpx;
background-color: #fff; background-color: #fff;
position: fixed; // position: fixed;
top: 0; // top: 0;
width: 100vw; width: 100vw;
box-sizing: border-box; box-sizing: border-box;
} }
...@@ -414,6 +445,12 @@ export default { ...@@ -414,6 +445,12 @@ export default {
.tab-contant { .tab-contant {
padding: 20rpx 30rpx; padding: 20rpx 30rpx;
} }
.content {
padding-top: 250rpx + 20rpx;
&.no-filter {
padding-top: 250rpx + 20rpx - 80rpx;
}
}
.media-card { .media-card {
margin-bottom: 15rpx; margin-bottom: 15rpx;
} }
...@@ -452,4 +489,21 @@ export default { ...@@ -452,4 +489,21 @@ export default {
margin-right: 16rpx; margin-right: 16rpx;
} }
} }
.top-cell {
position: fixed;
top: 0;
right: 0;
left: 0;;
background-color: white;
z-index: 101;
}
.z-5001 {
z-index: 5001;
}
.z-100 {
z-index: 100;
}
.relative {
position: relative;
}
</style> </style>
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<p class="many-content" style="color: #606266;padding-left: 6rpx;">{{primaryIndustryList[pageId].titleIntroduce}}</p> <p class="many-content" style="color: #606266;padding-left: 6rpx;">{{primaryIndustryList[pageId].titleIntroduce}}</p>
</div> </div>
<div v-if="primaryIndustryList[pageId].parkList.length > 0"> <div v-if="primaryIndustryList[pageId].parkList.length > 0">
<section-title title="相关载体"> <section-title title="相关产业园">
</section-title> </section-title>
<div v-for="item in primaryIndustryList[pageId].parkList" :key="item.id" style="margin-bottom: 20rpx;" @click="toDetail(item)"> <div v-for="item in primaryIndustryList[pageId].parkList" :key="item.id" style="margin-bottom: 20rpx;" @click="toDetail(item)">
<park-card :detail="item"></park-card> <park-card :detail="item"></park-card>
......
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