Feat(千县店铺):村屋出租功能完成

This commit is contained in:
lifizer
2024-08-23 17:45:06 +08:00
parent 99dd695553
commit 7740e8f6a8
4 changed files with 849 additions and 6 deletions
+174 -6
View File
@@ -44,8 +44,8 @@
class="city-section flex jc-end ai-center"
>
<image
:src="webUrl + '/20210807215539157727.png'"
style="width: 22rpx;height: 22rpx;margin-right: 8rpx;"
:src="webUrl + '/page/qianxian/icon-09.png'"
style="width: 28rpx;height: 28rpx;margin-right: 8rpx;"
/>
<text class="one-t" style="font-size: 24rpx;color: #fff;">{{ inn.cityName }}</text>
</view>
@@ -417,6 +417,72 @@
</view>
</view>
</view>
<view v-if="industryTabIndex === 2">
<view class="card-wrap">
<image
:src="webUrl + '/page/qianxian/card-bg3.png'"
class="bg bg3"
/>
<view class="card-cont">
<view class="tab-wrap">
<view
v-for="(tab, tabIndex) in industryTab"
:key="tabIndex"
:class="industryTabIndex === tabIndex ? 'active' : ''"
class="item"
@click="industryTabItemClick(tabIndex)"
>
<image
:src="webUrl + tab.icon"
class="icon"
/>
{{ tab.name }}
</view>
</view>
<view class="village-wrap">
<view v-if="villageList.length > 0" class="village-list">
<view
v-for="(village, villageIndex) in villageList"
:key="villageIndex"
class="village-item"
@click="villageItemClick(village)"
>
<view class="img-wrap">
<image
:src="village.cover + (village.coverType === 2 ? '?vframe/jpg/offset/1' : '')"
class="img"
/>
<view class="location">
<image
:src="webUrl + '/page/qianxian/icon-08.png'"
class="icon"
/>
<view class="addr one-t">
{{ village.address }}
</view>
</view>
</view>
<view class="info">
<view class="intro more-t">
{{ village.intro }}
</view>
<view class="name-wrap">
<image
:src="village.logo"
class="logo"
/>
<view class="name one-t">
{{ village.name }}
</view>
</view>
</view>
</view>
</view>
<view v-else class="no-data">暂无村屋出租</view>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
@@ -458,7 +524,8 @@ import {
postCountyFamousNewsView,
getCountyFamousIndustry,
getCountyFamousIndustryProject,
getCountyFamousInvestmentFile
getCountyFamousInvestmentFile,
getCountyFamousVillage
} from '@/api/qianxian'
import {formatDateTime} from '@/utils'
import {getUrlParam} from '@/utils/common.js'
@@ -518,9 +585,12 @@ export default {
industryProjectList: [],
// 招商政策文件列表
investmentFileList: [],
// 村屋列表
villageList: [],
industryTab: [
{ name: '产业项目', icon: '/page/qianxian/icon-04.png' },
{ name: '招商政策', icon: '/page/qianxian/icon-03.png' }
{ name: '招商政策', icon: '/page/qianxian/icon-03.png' },
{ name: '村屋出租', icon: '/page/qianxian/icon-07.png' }
],
industryTabIndex: 0
}
@@ -581,6 +651,16 @@ export default {
this.investmentFileList = data.records || []
}
})
getCountyFamousVillage({
countyFamousDataId: this.id,
page: 1,
limit: 9999
}).then(res => {
const { success, data } = res
if (success) {
this.villageList = data.records || []
}
})
},
getShopDetailReq() {
const _this = this
@@ -865,6 +945,9 @@ export default {
},
gotoInvestment() {
uni.navigateTo({ url: `/pkg_product/views/famousQianxianInvestment?id=${this.id}` })
},
villageItemClick(item) {
uni.navigateTo({ url: `/pkg_product/views/famousQianxianVillageShop?id=${item.id}` })
}
}
}
@@ -1330,12 +1413,15 @@ export default {
z-index: 2;
display: block;
width: 750rpx;
height: 530rpx;
height: 518rpx;
}
.bg3 {
height: 1159rpx;
}
.card-cont {
position: absolute;
z-index: 5;
top: 30rpx;
top: 20rpx;
left: 30rpx;
right: 30rpx;
.tab-wrap {
@@ -1417,6 +1503,88 @@ export default {
}
}
}
.village-wrap {
height: 980rpx;
padding: 16rpx 0 0 0;
overflow-y: auto;
}
.village-list {
display: flex;
flex-wrap: wrap;
width: 660rpx;
margin: 0 auto;
.village-item {
width: 320rpx;
height: 480rpx;
margin: 0 20rpx 20rpx 0;
border-radius: 16rpx;
background-color: #f0f0f0;
&:nth-child(2n) {
margin-right: 0;
}
.img-wrap {
position: relative;
.img {
display: block;
width: 320rpx;
height: 320rpx;
border-radius: 16rpx;
}
.location {
position: absolute;
bottom: 0;
left: 0;
right: 0;
z-index: 5;
display: flex;
align-items: center;
height: 60rpx;
padding: 0 20rpx;
border-radius: 0 0 16rpx 16rpx;
font-size: 28rpx;
line-height: 36rpx;
color: #fff;
background: linear-gradient(180deg, rgba(0,0,0,0) 0%, #000000 100%);
.icon {
display: block;
width: 28rpx;
height: 28rpx;
margin: 0 8rpx 0 0;
}
.addr {
width: calc(100% - 40rpx);
}
}
}
.info {
padding: 6rpx 8rpx 16rpx 8rpx;
.intro {
height: 80rpx;
line-height: 40rpx;
font-size: 30rpx;
font-weight: bold;
color: #333;
}
.name-wrap {
display: flex;
align-items: center;
.logo {
display: block;
width: 48rpx;
height: 48rpx;
margin: 0 8rpx 0 0;
}
.name {
width: calc(100% - 60rpx);
padding: 10rpx 0 0 0;
font-size: 28rpx;
line-height: 48rpx;
color: #999;
}
}
}
}
}
}
}
.project-wrap {