diff --git a/App.vue b/App.vue
index 52efa1a..38ef2d8 100644
--- a/App.vue
+++ b/App.vue
@@ -25,4 +25,5 @@ export default {
@import "./assets/css/base.less";
@import "./assets/css/reset.less";
@import "./assets/css/style.less";
+@import "./assets/css/v12-style.less";
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/assets/css/v12-style.less b/assets/css/v12-style.less
new file mode 100644
index 0000000..94dc2f5
--- /dev/null
+++ b/assets/css/v12-style.less
@@ -0,0 +1,143 @@
+/*================变量==================*/
+@primary-color: #C52733;
+@dark-color: #333333;
+@white-color: #fff;
+
+@colors: #C52733, #333333, #fff, #666, #F0F0F0;
+@classnames: primary, dark, white, secondary-dark, grey;
+/*=====================================*/
+
+each(@colors, {
+ @color: extract(@colors, @index);
+ @classname: extract(@classnames, @index);
+ .v12-@{classname} {
+ background-color: @color !important;
+ background: @color !important;
+ }
+ .v12-@{classname}-text{
+ color: @color !important;
+ }
+ .v12-@{classname}-border{
+ border: 1px solid @color !important;
+ }
+});
+
+/*===================字体大小======================*/
+.generateFontSize(@i) when (@i <= 80) {
+ .v12-font-@{i} {
+ font-size: @i * 1rpx !important;
+ }
+ .generateFontSize(@i + 2);
+}
+
+.generateFontSize(0);
+
+.v12-font-bold{
+ font-weight: bold !important;
+}
+.generateFontWeight(@n, @i: 100) when (@i <= @n) {
+ .v12-font-weight-@{i} {
+ font-weight: @i !important;
+ }
+ .generateFontWeight(@n, (@i + 100))
+}
+.generateFontWeight(900);
+
+/*==================内外边距====================*/
+.generateMarginAndPadding(@n, @i:0) when (@i<= @n) {
+ @baseNum: @i * 8rpx;
+ .v12-mt-@{i} {
+ margin-top: @baseNum;
+ }
+ .v12-ml-@{i} {
+ margin-left: @baseNum;
+ }
+ .v12-mr-@{i} {
+ margin-right: @baseNum;
+ }
+ .v12-mb-@{i} {
+ margin-bottom: @baseNum;
+ }
+ .v12-ma-@{i} {
+ margin: @baseNum;
+ }
+ .v12-mx-@{i} {
+ margin: 0 @baseNum;
+ }
+ .v12-my-@{i} {
+ margin: @baseNum 0;
+ }
+ .v12-pt-@{i} {
+ padding-top: @baseNum;
+ }
+ .v12-pl-@{i} {
+ padding-left: @baseNum;
+ }
+ .v12-pr-@{i} {
+ padding-right: @baseNum;
+ }
+ .v12-pb-@{i} {
+ padding-bottom: @baseNum;
+ }
+ .v12-pa-@{i} {
+ padding: @baseNum;
+ }
+ .v12-px-@{i} {
+ padding: 0 @baseNum
+ }
+ .v12-py-@{i} {
+ padding: @baseNum 0
+ }
+ .generateMarginAndPadding(@n, (@i + 1))
+}
+.generateMarginAndPadding(40);
+
+/*==================圆角====================*/
+.generateRadius(@n, @i: 0) when (@i <= @n) {
+ @baseRadius: @i * 1rpx;
+ .v12-radius-@{i} {
+ border-radius: @baseRadius
+ }
+ .generateRadius(@n, (@i + 1))
+}
+.generateRadius(100);
+/*=========================================*/
+
+/*====================flex 函数表达式=====================*/
+
+.v12-d-flex{
+ display: flex !important;
+}
+.v12-flex-column {
+ flex-direction: column;
+}
+.v12-align-center{
+ display: flex;
+ align-items: center;
+}
+.v12-align-start{
+ display: flex;
+ align-items: start;
+}
+.v12-align-end{
+ display: flex;
+ align-items: end;
+}
+.v12-justify-center{
+ display: flex;
+ justify-content: center;
+}
+.v12-justify-between{
+ display: flex;
+ justify-content: space-between;
+}
+.v12-d-grid-columns-2 {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+}
+
+
+
+
+
+
diff --git a/components/CheckboxIcon.vue b/components/CheckboxIcon.vue
index 1ff67c1..e50fab9 100644
--- a/components/CheckboxIcon.vue
+++ b/components/CheckboxIcon.vue
@@ -1,6 +1,7 @@
-
+
+
@@ -43,7 +44,7 @@ export default {
width: 32rpx;
height: 32rpx;
box-sizing: border-box;
- border: 2rpx solid #D5D7D8;
+ border: 2px solid #D5D7D8;
border-radius: 50%;
}
@@ -53,7 +54,6 @@ export default {
}
.isSelected {
- border: 3px solid #FD5749;
- background: #FD5749;
+ border: 3px solid #C52733;
}
\ No newline at end of file
diff --git a/pages.json b/pages.json
index 6a8584a..50f12b8 100644
--- a/pages.json
+++ b/pages.json
@@ -597,6 +597,13 @@
"navigationStyle": "custom"
}
},
+ {
+ "path": "views/famousQianxianVillageShop",
+ "style": {
+ "navigationBarTitleText": "千县名品",
+ "navigationStyle": "custom"
+ }
+ },
{
"path": "views/famousQianxianInvestment",
"style": {
@@ -829,6 +836,7 @@
},
"tabBar": {
"color": "#8B8F99",
+ "custom": true,
"selectedColor": "#FF564A",
"borderStyle": "black",
"backgroundColor": "#ffffff",
diff --git a/pages/cart.vue b/pages/cart.vue
index e4059db..f764b2d 100644
--- a/pages/cart.vue
+++ b/pages/cart.vue
@@ -41,49 +41,51 @@
class="store-cover"
mode="scaleToFill"
/>
- {{ item['merName'] }}
+ {{ item['merName'] }}
- 进店逛逛
-
+
-
-
-
+
+
+
+
+
{{ good['productInfo']['storeName'] }}
规格:{{ good['productInfo']['attrInfo']['sku'] }}
+
- ¥
- {{ good['truePrice'] }}
+ ¥
+ {{ good['truePrice'] }}
changeNumHandle(index, gIndex, good, e)"
>
-
+
- {{ good['cartNum'] }}
+ {{ good['cartNum'] }}
-
+
@@ -139,13 +149,15 @@
:mark="[-1]"
@change="onChange"
/>
- 全选({{ selectCount }})
+ 全选({{ selectCount }})
- 合计:
- ¥{{ total }}
+
+ 合计:
+ ¥
+ {{ total }}
- 结算
+ 结算
\ No newline at end of file
diff --git a/pkg_product/views/famousQianxianShop.vue b/pkg_product/views/famousQianxianShop.vue
index 0333000..e3cd48f 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 }}
@@ -57,7 +57,7 @@
- {{ inn.name }}
+ {{ inn.name }}
@@ -240,7 +240,7 @@
图片
-
+
@@ -388,7 +389,7 @@
{{ tab.name }}
-
+
-
+
更多政策
+
+
+
+
+
+
+
+ {{ tab.name }}
+
+
+
+
+
+
+
+
+
+
+ {{ village.address }}
+
+
+
+
+
+ {{ village.intro }}
+
+
+
+
+ {{ village.name }}
+
+
+
+
+
+ 暂无村屋出租
+
+
+
+
@@ -458,7 +525,8 @@ import {
postCountyFamousNewsView,
getCountyFamousIndustry,
getCountyFamousIndustryProject,
- getCountyFamousInvestmentFile
+ getCountyFamousInvestmentFile,
+ getCountyFamousVillage
} from '@/api/qianxian'
import {formatDateTime} from '@/utils'
import {getUrlParam} from '@/utils/common.js'
@@ -518,9 +586,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 +652,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
@@ -625,7 +706,7 @@ export default {
}).then(res => {
const { data } = res
_this.loading = false
- _this.infoArray.push.apply(_this.infoArray, data.records.map((info) => {
+ _this.infoArray.push.apply(_this.infoArray, _this.toTop(data.records).map((info) => {
var pt = info.createTime.replace(/-/g, "/")
info.year = formatDateTime(pt, 'yyyy')
info.monthDay = formatDateTime(pt, 'MM/dd')
@@ -633,12 +714,18 @@ export default {
info.showMore = false
return info
}))
+ // console.log(this.toTop(_this.infoArray));
}).finally(() => {
_this.loading = false
_this.isLoadInfoListSuccess = true
uni.stopPullDownRefresh()
})
},
+ toTop(arr) {
+ return arr.sort((a, b) => {
+ return b.isTop - a.isTop
+ })
+ },
// 攻略
getGuideReq() {
const _this = this
@@ -863,8 +950,11 @@ export default {
}
})
},
- gotoInvestment() {
- uni.navigateTo({ url: `/pkg_product/views/famousQianxianInvestment?id=${this.id}` })
+ gotoInvestment(title = '', type = 'investment', id = '') {
+ uni.navigateTo({ url: `/pkg_product/views/famousQianxianInvestment?id=${id || this.id}&title=${title}&type=${type}` })
+ },
+ villageItemClick(item) {
+ uni.navigateTo({ url: `/pkg_product/views/famousQianxianVillageShop?id=${item.id}` })
}
}
}
@@ -1275,12 +1365,12 @@ export default {
}
}
.pic-list {
- display: flex;
- flex-wrap: wrap;
+ // display: flex;
+ // flex-wrap: wrap;
width: 100%;
padding: 30rpx 0 0 0;
.item {
- width: calc(50% - 10rpx);
+ // width: calc(50% - 10rpx);
margin: 0 20rpx 20rpx 0;
.img {
display: block;
@@ -1330,12 +1420,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 +1510,90 @@ 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;
+ margin-top: 8rpx;
+ }
+ .name-wrap {
+ display: flex;
+ align-items: center;
+ .logo {
+ display: block;
+ width: 48rpx;
+ height: 48rpx;
+ margin: 0 8rpx 0 0;
+ border-radius: 50%;
+ }
+ .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/famousQianxianTheme.vue b/pkg_product/views/famousQianxianTheme.vue
index 9b4717e..e55ebd1 100644
--- a/pkg_product/views/famousQianxianTheme.vue
+++ b/pkg_product/views/famousQianxianTheme.vue
@@ -8,13 +8,17 @@
transparent="auto"
color='#ffffff'
/>
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/pkg_product/views/famousQianxianVillageShop.vue b/pkg_product/views/famousQianxianVillageShop.vue
new file mode 100644
index 0000000..e2e69cd
--- /dev/null
+++ b/pkg_product/views/famousQianxianVillageShop.vue
@@ -0,0 +1,653 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ inn.cityName }}
+
+
+
+
+
+
+
+
+
+ {{ inn.name }}
+
+ {{ inn.contact }}/联系人
+
+
+
+
+
+
+
+ {{ inn.intro }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ inn.address }}
+
+
+
+
+ 导航
+
+
+
+ 客服
+
+
+
+
+
+
+
+ {{ item.text }}
+
+
+
+
+
+
+
+
+
+
+
+ 暂无图片~
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 暂无资讯~
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pkg_user/views/myFavorite.vue b/pkg_user/views/myFavorite.vue
index 7b05c69..dfe2d9f 100644
--- a/pkg_user/views/myFavorite.vue
+++ b/pkg_user/views/myFavorite.vue
@@ -328,6 +328,9 @@ export default {
case 2:
countList = this.videoList
break
+ case 3:
+ countList = this.countyFamousList
+ break
}
countList.forEach(item => {
@@ -393,6 +396,7 @@ export default {
break
case 3:
this.countyFamousList[mark]['state'] = state
+ console.log(this.countyFamousList);
this.isAll = this.selectCount === this.countyFamousList.length
break
}
@@ -452,6 +456,7 @@ export default {
const res = await removeFavorite(ids)
if (res.success) {
_this.isAll = false
+ _this.page = 1
_this.fetchData()
_this.removeAfter()
}
@@ -459,6 +464,11 @@ export default {
}
})
},
+ computedIsManage(arr) {
+ if(this.isManage && arr.length === 0) {
+ this.isManage = false
+ }
+ },
removeAfter() {
switch (this.tabsIndex) {
case 0:
@@ -486,6 +496,7 @@ export default {
item.state = false
_this.productList.push(item)
})
+ _this.computedIsManage(_this.productList)
_this.page++
}
},
@@ -501,6 +512,7 @@ export default {
item.state = false
_this.storeList.push(item)
})
+ _this.computedIsManage(_this.storeList)
_this.page++
}
},
@@ -515,6 +527,7 @@ export default {
item.state = false
_this.videoList.push(item)
})
+ _this.computedIsManage(_this.videoList)
_this.page++
}
},
@@ -529,6 +542,7 @@ export default {
item.state = false
_this.countyFamousList.push(item)
})
+ _this.computedIsManage(_this.countyFamousList)
_this.page++
}
},
diff --git a/static/tabbar/icon-cart-hot.png b/static/tabbar/icon-cart-hot.png
index 60aa990..ce85313 100644
Binary files a/static/tabbar/icon-cart-hot.png and b/static/tabbar/icon-cart-hot.png differ
diff --git a/static/tabbar/icon-home.png b/static/tabbar/icon-home.png
index e82384b..bdc7c0c 100644
Binary files a/static/tabbar/icon-home.png and b/static/tabbar/icon-home.png differ
diff --git a/static/tabbar/icon-user.png b/static/tabbar/icon-user.png
index e921103..a077609 100644
Binary files a/static/tabbar/icon-user.png and b/static/tabbar/icon-user.png differ