From 7740e8f6a8e0d67428eddff1fd28ec4d52138e06 Mon Sep 17 00:00:00 2001 From: lifizer <913626195@qq.com> Date: Fri, 23 Aug 2024 17:45:06 +0800 Subject: [PATCH] =?UTF-8?q?Feat(=E5=8D=83=E5=8E=BF=E5=BA=97=E9=93=BA):?= =?UTF-8?q?=E6=9D=91=E5=B1=8B=E5=87=BA=E7=A7=9F=E5=8A=9F=E8=83=BD=E5=AE=8C?= =?UTF-8?q?=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/qianxian.js | 15 + pages.json | 7 + pkg_product/views/famousQianxianShop.vue | 180 ++++- .../views/famousQianxianVillageShop.vue | 653 ++++++++++++++++++ 4 files changed, 849 insertions(+), 6 deletions(-) create mode 100644 pkg_product/views/famousQianxianVillageShop.vue diff --git a/api/qianxian.js b/api/qianxian.js index a40aabc..bbe592d 100644 --- a/api/qianxian.js +++ b/api/qianxian.js @@ -79,3 +79,18 @@ export function getCountyFamousIndustryProjectFile(param) { export function getCountyFamousInvestmentFile(param) { return request.get('/countyFamous/investmentFile', param, { login: true }) } + +// 获取千县名品县城村屋列表 +export function getCountyFamousVillage(param) { + return request.get('/countyFamous/village', param, { login: true }) +} + +// 获取千县名品县城村屋详情 +export function getCountyFamousVillageDetail(id) { + return request.get('/countyFamous/village/' + id, {}, { login: true }) +} + +// 获取千县名品县城村屋资讯 +export function getCountyFamousVillageNews(param) { + return request.get('/countyFamous/village/news', param, { login: true }) +} diff --git a/pages.json b/pages.json index 6a8584a..ce30577 100644 --- a/pages.json +++ b/pages.json @@ -597,6 +597,13 @@ "navigationStyle": "custom" } }, + { + "path": "views/famousQianxianVillageShop", + "style": { + "navigationBarTitleText": "千县名品", + "navigationStyle": "custom" + } + }, { "path": "views/famousQianxianInvestment", "style": { diff --git a/pkg_product/views/famousQianxianShop.vue b/pkg_product/views/famousQianxianShop.vue index 0333000..23a6394 100644 --- a/pkg_product/views/famousQianxianShop.vue +++ b/pkg_product/views/famousQianxianShop.vue @@ -44,8 +44,8 @@ class="city-section flex jc-end ai-center" > {{ inn.cityName }} @@ -417,6 +417,72 @@ + + + + + + + + {{ tab.name }} + + + + + + + + + + + {{ village.address }} + + + + + + {{ village.intro }} + + + + + {{ village.name }} + + + + + + 暂无村屋出租 + + + + @@ -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 { diff --git a/pkg_product/views/famousQianxianVillageShop.vue b/pkg_product/views/famousQianxianVillageShop.vue new file mode 100644 index 0000000..e0878a9 --- /dev/null +++ b/pkg_product/views/famousQianxianVillageShop.vue @@ -0,0 +1,653 @@ + + + + +