Merge branch 'dev' into test
This commit is contained in:
@@ -25,4 +25,5 @@ export default {
|
|||||||
@import "./assets/css/base.less";
|
@import "./assets/css/base.less";
|
||||||
@import "./assets/css/reset.less";
|
@import "./assets/css/reset.less";
|
||||||
@import "./assets/css/style.less";
|
@import "./assets/css/style.less";
|
||||||
|
@import "./assets/css/v12-style.less";
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -79,3 +79,18 @@ export function getCountyFamousIndustryProjectFile(param) {
|
|||||||
export function getCountyFamousInvestmentFile(param) {
|
export function getCountyFamousInvestmentFile(param) {
|
||||||
return request.get('/countyFamous/investmentFile', param, { login: true })
|
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 })
|
||||||
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="components-checkbox-icon jc-center ai-center" :class="{'isSelected':isSelected}" @click="change">
|
<view class="components-checkbox-icon jc-center ai-center" :class="{'isSelected':isSelected}" @click="change">
|
||||||
<image class="icon-hook" :src="webUrl + '/20240109175325131970.png'" mode="scaleToFill" v-if="isSelected"/>
|
<!-- <image class="icon-hook" :src="webUrl + '/20240109175325131970.png'" mode="scaleToFill" v-if="isSelected"/> -->
|
||||||
|
<u-icon name="checkmark-circle-fill" color="#C52733" v-if="isSelected"></u-icon>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -43,7 +44,7 @@ export default {
|
|||||||
width: 32rpx;
|
width: 32rpx;
|
||||||
height: 32rpx;
|
height: 32rpx;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
border: 2rpx solid #D5D7D8;
|
border: 2px solid #D5D7D8;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -53,7 +54,6 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.isSelected {
|
.isSelected {
|
||||||
border: 3px solid #FD5749;
|
border: 3px solid #C52733;
|
||||||
background: #FD5749;
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
@@ -597,6 +597,13 @@
|
|||||||
"navigationStyle": "custom"
|
"navigationStyle": "custom"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": "views/famousQianxianVillageShop",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "千县名品",
|
||||||
|
"navigationStyle": "custom"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": "views/famousQianxianInvestment",
|
"path": "views/famousQianxianInvestment",
|
||||||
"style": {
|
"style": {
|
||||||
@@ -829,6 +836,7 @@
|
|||||||
},
|
},
|
||||||
"tabBar": {
|
"tabBar": {
|
||||||
"color": "#8B8F99",
|
"color": "#8B8F99",
|
||||||
|
"custom": true,
|
||||||
"selectedColor": "#FF564A",
|
"selectedColor": "#FF564A",
|
||||||
"borderStyle": "black",
|
"borderStyle": "black",
|
||||||
"backgroundColor": "#ffffff",
|
"backgroundColor": "#ffffff",
|
||||||
|
|||||||
+73
-31
@@ -41,26 +41,27 @@
|
|||||||
class="store-cover"
|
class="store-cover"
|
||||||
mode="scaleToFill"
|
mode="scaleToFill"
|
||||||
/>
|
/>
|
||||||
<view class="mer-name">{{ item['merName'] }}</view>
|
<view class="mer-name v12-font-24 v12-font-bold">{{ item['merName'] }}</view>
|
||||||
</view>
|
</view>
|
||||||
<view
|
<view
|
||||||
class="flex ai-center hotle-btn"
|
class="flex ai-center hotle-btn v12-primary-text"
|
||||||
@click="navToStore(item['hotelId'])"
|
@click="navToStore(item['hotelId'])"
|
||||||
>
|
>
|
||||||
进店逛逛
|
进店逛逛>
|
||||||
<image
|
<!-- <image
|
||||||
:src="$VUE_APP_RESOURCES_URL + '/20240109234706982937.png'"
|
:src="$VUE_APP_RESOURCES_URL + '/20240109234706982937.png'"
|
||||||
style="width: 24rpx;height: 24rpx"
|
style="width: 24rpx;height: 24rpx"
|
||||||
mode="scaleToFill"
|
mode="scaleToFill"
|
||||||
/>
|
/> -->
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="good-box">
|
<view class="good-box">
|
||||||
<view
|
<view
|
||||||
v-for="(good, gIndex) in item['carts']"
|
v-for="(good, gIndex) in item['carts']"
|
||||||
:key="gIndex"
|
:key="gIndex"
|
||||||
class="good flex ai-center"
|
class="good flex v12-align-start"
|
||||||
>
|
>
|
||||||
|
<view class="v12-align-center">
|
||||||
<CheckboxIcon
|
<CheckboxIcon
|
||||||
:default-state="good['state']"
|
:default-state="good['state']"
|
||||||
:mark="[index, gIndex]"
|
:mark="[index, gIndex]"
|
||||||
@@ -70,7 +71,7 @@
|
|||||||
<image
|
<image
|
||||||
v-if="good['productInfo']['attrInfo']['image']"
|
v-if="good['productInfo']['attrInfo']['image']"
|
||||||
:src="good['productInfo']['attrInfo']['image']"
|
:src="good['productInfo']['attrInfo']['image']"
|
||||||
class="good-cover flex-0"
|
class="good-cover flex-0 v12-radius-16"
|
||||||
mode="scaleToFill"
|
mode="scaleToFill"
|
||||||
@click="navToGood(good)"
|
@click="navToGood(good)"
|
||||||
/>
|
/>
|
||||||
@@ -81,9 +82,10 @@
|
|||||||
class="good-cover flex-0"
|
class="good-cover flex-0"
|
||||||
@click="navToGood(good)"
|
@click="navToGood(good)"
|
||||||
/>
|
/>
|
||||||
|
</view>
|
||||||
<view style="width: 100%">
|
<view style="width: 100%">
|
||||||
<view
|
<view
|
||||||
class="one-t"
|
class="one-t v12-font-28"
|
||||||
@click="navToGood(good)"
|
@click="navToGood(good)"
|
||||||
>{{ good['productInfo']['storeName'] }}</view>
|
>{{ good['productInfo']['storeName'] }}</view>
|
||||||
<view
|
<view
|
||||||
@@ -92,16 +94,24 @@
|
|||||||
>
|
>
|
||||||
规格:{{ good['productInfo']['attrInfo']['sku'] }}
|
规格:{{ good['productInfo']['attrInfo']['sku'] }}
|
||||||
</view>
|
</view>
|
||||||
|
<!-- <view class="v12-mt-1 v12-align-center">
|
||||||
|
<view class="v12-primary-text v12-primary-border v12-radius-8 v12-font-24 v12-px-1">
|
||||||
|
<text>券</text>
|
||||||
|
</view>
|
||||||
|
<view class="v12-primary-text v12-primary-border v12-radius-8 v12-font-24 v12-px-1">
|
||||||
|
<text>满100-30</text>
|
||||||
|
</view>
|
||||||
|
</view> -->
|
||||||
<view
|
<view
|
||||||
class="flex jc-between ai-center"
|
class="flex jc-between ai-center"
|
||||||
style="width: 100%;margin-top: 26rpx;"
|
style="width: 100%;margin-top: 4rpx;"
|
||||||
>
|
>
|
||||||
<view
|
<view
|
||||||
style="color:#E92727;font-size: 32rpx;"
|
class="v12-font-bold v12-primary-text"
|
||||||
@click="navToGood(good)"
|
@click="navToGood(good)"
|
||||||
>
|
>
|
||||||
<text class="bold" style="font-size: 24rpx">¥</text>
|
<text class="bold v12-font-22">¥</text>
|
||||||
{{ good['truePrice'] }}
|
<text class="v12-font-36">{{ good['truePrice'] }}</text>
|
||||||
</view>
|
</view>
|
||||||
<u-number-box
|
<u-number-box
|
||||||
:value="good.cartNum"
|
:value="good.cartNum"
|
||||||
@@ -113,15 +123,15 @@
|
|||||||
@change="e => changeNumHandle(index, gIndex, good, e)"
|
@change="e => changeNumHandle(index, gIndex, good, e)"
|
||||||
>
|
>
|
||||||
<template v-slot:minus>
|
<template v-slot:minus>
|
||||||
<view class="num-btn flex jc-center ai-center">
|
<view class="v12-minus-btn v12-font-bold flex jc-center ai-center">
|
||||||
<u-icon name="minus" size="12" color="#FFFFFF"/>
|
<u-icon name="minus" size="12" color="#FFFFFF"/>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
<template v-slot:input>
|
<template v-slot:input>
|
||||||
<view class="num-input tc">{{ good['cartNum'] }}</view>
|
<view class="num-input tc v12-num-input">{{ good['cartNum'] }}</view>
|
||||||
</template>
|
</template>
|
||||||
<template v-slot:plus>
|
<template v-slot:plus>
|
||||||
<view class="num-btn flex jc-center ai-center">
|
<view class="v12-plus-btn v12-font-bold flex jc-center ai-center v12-primary">
|
||||||
<u-icon name="plus" size="12" color="#FFFFFF"/>
|
<u-icon name="plus" size="12" color="#FFFFFF"/>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
@@ -139,13 +149,15 @@
|
|||||||
:mark="[-1]"
|
:mark="[-1]"
|
||||||
@change="onChange"
|
@change="onChange"
|
||||||
/>
|
/>
|
||||||
<text style="color:#666666;font-size: 32rpx">全选({{ selectCount }})</text>
|
<text class="v12-dark-text v12-font-32 v12-font-bold">全选({{ selectCount }})</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="flex ai-center">
|
<view class="flex ai-center">
|
||||||
<view style="margin-right: 20rpx;color:#666666;font-size: 32rpx">合计:
|
<view >
|
||||||
<text class="bold" style="color:#E92727">¥{{ total }}</text>
|
<text class="v12-font-24 v12-dark-text v12-font-weight-550"> 合计:</text>
|
||||||
|
<text class="v12-font-22 v12-primary-text v12-font-bold">¥</text>
|
||||||
|
<text class="v12-font-26 v12-primary-text v12-font-bold">{{ total }}</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="btn-submit bold flex jc-center ai-center" @click="submit">结算</view>
|
<view class="btn-submit v12-mx-3 bold flex jc-center ai-center v12-radius-80 v12-primary" @click="submit">结算</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view
|
<view
|
||||||
@@ -550,6 +562,36 @@ export default {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="less">
|
<style scoped lang="less">
|
||||||
|
.v12-minus-btn{
|
||||||
|
border-radius: 28rpx 0rpx 0rpx 28rpx;
|
||||||
|
border: 1px solid #E6E6E6;
|
||||||
|
background-color: rgba(208,208,208,0.39);
|
||||||
|
height: 40rpx;
|
||||||
|
width: 40rpx;
|
||||||
|
padding: 0 20rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
.v12-plus-btn{
|
||||||
|
border-radius: 0rpx 28rpx 28rpx 0rpx;
|
||||||
|
border: 1px solid #C52733;
|
||||||
|
background-color: #C52733;
|
||||||
|
height: 40rpx;
|
||||||
|
width: 40rpx;
|
||||||
|
padding: 0 20rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
.v12-num-input{
|
||||||
|
height: 40rpx;
|
||||||
|
// width: 40rpx;
|
||||||
|
border: 1px solid #E6E6E6;
|
||||||
|
line-height: 40rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #333;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
view {
|
view {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
@@ -593,10 +635,10 @@ view {
|
|||||||
margin-top: 24rpx;
|
margin-top: 24rpx;
|
||||||
|
|
||||||
.good-cover {
|
.good-cover {
|
||||||
width: 160rpx;
|
width: 140rpx;
|
||||||
height: 160rpx;
|
height: 140rpx;
|
||||||
margin-right: 16rpx;
|
margin-right: 16rpx;
|
||||||
border-radius: 8rpx;
|
border-radius: 16rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.one-t {
|
.one-t {
|
||||||
@@ -609,20 +651,20 @@ view {
|
|||||||
|
|
||||||
.sku {
|
.sku {
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
margin-top: 12rpx;
|
margin: 4rpx;
|
||||||
padding: 10rpx 20rpx;
|
padding: 10rpx 20rpx;
|
||||||
border-radius: 22rpx;
|
border-radius: 60rpx;
|
||||||
background: #FDF1F3;
|
background: rgba(240,240,240,0.6);
|
||||||
color: #999999;
|
color: #666666;
|
||||||
font-size: 28rpx;
|
font-size: 24rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.num-btn {
|
.num-btn {
|
||||||
width: 40rpx;
|
width: 40rpx;
|
||||||
height: 40rpx;
|
height: 40rpx;
|
||||||
background: rgba(236, 236, 238, 1);
|
background: rgba(236, 236, 238, 1);
|
||||||
border: 2px solid rgba(236, 236, 238, 1);
|
// border: 2px solid rgba(236, 236, 238, 1);
|
||||||
border-radius: 50%;
|
border-radius: 40rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.num-input {
|
.num-input {
|
||||||
@@ -644,8 +686,8 @@ view {
|
|||||||
|
|
||||||
.btn-submit {
|
.btn-submit {
|
||||||
width: 196rpx;
|
width: 196rpx;
|
||||||
height: 100rpx;
|
height: 64rpx;
|
||||||
background: #FD5749;
|
background: #C52733;
|
||||||
color: #FFFFFF;
|
color: #FFFFFF;
|
||||||
font-size: 32rpx;
|
font-size: 32rpx;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -260,7 +260,7 @@ export default {
|
|||||||
|
|
||||||
.body {
|
.body {
|
||||||
padding: 20rpx 32rpx;
|
padding: 20rpx 32rpx;
|
||||||
background: #F9F9F9;
|
background: #f5f5f5;
|
||||||
}
|
}
|
||||||
|
|
||||||
.city-box {
|
.city-box {
|
||||||
|
|||||||
@@ -207,7 +207,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<!-- v9 老用户弹窗 -->
|
<!-- v9 老用户弹窗 -->
|
||||||
<u-popup
|
<u-popup
|
||||||
:show="isOldUser && oldUserPopup.image"
|
:show="isOldUser && oldUserPopup.image && lotteryCanDraw"
|
||||||
mode="center"
|
mode="center"
|
||||||
bgColor="transparent"
|
bgColor="transparent"
|
||||||
>
|
>
|
||||||
@@ -294,11 +294,12 @@ export default {
|
|||||||
// 节日专题
|
// 节日专题
|
||||||
contentFestival: {},
|
contentFestival: {},
|
||||||
pageKeyId: Object.freeze('appIndex'),
|
pageKeyId: Object.freeze('appIndex'),
|
||||||
scrollTop: 0
|
scrollTop: 0,
|
||||||
|
lotteryCanDraw: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onLoad() {
|
onLoad() {
|
||||||
uni.hideTabBar()
|
// uni.hideTabBar()
|
||||||
const _this = this
|
const _this = this
|
||||||
_this.init()
|
_this.init()
|
||||||
uni.getSystemInfo({
|
uni.getSystemInfo({
|
||||||
@@ -371,6 +372,7 @@ export default {
|
|||||||
_this.$set(_this, 'contentFestival', data.contentFestivalV2)
|
_this.$set(_this, 'contentFestival', data.contentFestivalV2)
|
||||||
_this.bastLeftList = []
|
_this.bastLeftList = []
|
||||||
_this.bastRightList = []
|
_this.bastRightList = []
|
||||||
|
_this.lotteryCanDraw = data.lotteryCanDraw
|
||||||
for (let i = 0; i < data.bastList.length; i++) {
|
for (let i = 0; i < data.bastList.length; i++) {
|
||||||
if (i % 2 === 0) {
|
if (i % 2 === 0) {
|
||||||
// 店铺排名
|
// 店铺排名
|
||||||
|
|||||||
@@ -376,6 +376,7 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<ProductWindow
|
<ProductWindow
|
||||||
v-on:changeFun="changeFun"
|
v-on:changeFun="changeFun"
|
||||||
:attr="attr"
|
:attr="attr"
|
||||||
@@ -663,8 +664,18 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
goRoom() {
|
goRoom() {
|
||||||
|
const params = {
|
||||||
|
goodsId: this.productId,
|
||||||
|
goodsName: this.attr.productSelect.store_name,
|
||||||
|
skuStr: this.attrValue,
|
||||||
|
price: this.attr.productSelect.price,
|
||||||
|
seckillId: this.activityId,
|
||||||
|
cover: this.attr.productSelect.image,
|
||||||
|
goodsData: '',
|
||||||
|
seckillData: ''
|
||||||
|
}
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: `/pkg_common/views/room?id=${this.storeInfo.merId}&name=${this.storeInfo.merName}`
|
url: `/pkg_common/views/room?id=${this.storeInfo.merId}&name=${this.storeInfo.merName}¶ms=${JSON.stringify(params)}`
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
goodsDetail: function (item) {
|
goodsDetail: function (item) {
|
||||||
@@ -1095,6 +1106,7 @@ export default {
|
|||||||
if (typeof opt !== "object") opt = {};
|
if (typeof opt !== "object") opt = {};
|
||||||
let action = opt.action || "";
|
let action = opt.action || "";
|
||||||
let value = opt.value === undefined ? "" : opt.value;
|
let value = opt.value === undefined ? "" : opt.value;
|
||||||
|
this.cart_num = 1
|
||||||
this[action] && this[action](value);
|
this[action] && this[action](value);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -203,13 +203,18 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- 我的服务结束 -->
|
<!-- 我的服务结束 -->
|
||||||
<view v-if="bannerBgUrl" class="banner-wrap">
|
<view v-if="userCenterCarouselShow === 1 && userCenterCarousel.length > 0" class="banner-wrap">
|
||||||
<image
|
<!-- <image
|
||||||
:src="bannerBgUrl"
|
:src="bannerBgUrl"
|
||||||
mode="widthFix"
|
mode="widthFix"
|
||||||
class="bg"
|
class="bg"
|
||||||
@click="bannerClickHandle"
|
@click="bannerClickHandle"
|
||||||
/>
|
/> -->
|
||||||
|
<u-swiper
|
||||||
|
:list="userCenterCarousel"
|
||||||
|
keyName="image"
|
||||||
|
@click="handleSwiper"
|
||||||
|
></u-swiper>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -264,6 +269,8 @@ export default {
|
|||||||
mixins: [pageListenMixins],
|
mixins: [pageListenMixins],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
userCenterCarousel: [],
|
||||||
|
userCenterCarouselShow: 0,
|
||||||
statusBarHeight: uni.getSystemInfoSync().statusBarHeight,
|
statusBarHeight: uni.getSystemInfoSync().statusBarHeight,
|
||||||
webUrl: this.$VUE_APP_RESOURCES_URL,
|
webUrl: this.$VUE_APP_RESOURCES_URL,
|
||||||
isWeixin: false,
|
isWeixin: false,
|
||||||
@@ -372,6 +379,10 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
...mapMutations(['updateAuthorizationPage']),
|
...mapMutations(['updateAuthorizationPage']),
|
||||||
|
handleSwiper(e) {
|
||||||
|
const url = this.userCenterCarousel[e].url
|
||||||
|
this.linkTo(url)
|
||||||
|
},
|
||||||
goRoomLogs() {
|
goRoomLogs() {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: '/pkg_common/views/roomLogs'
|
url: '/pkg_common/views/roomLogs'
|
||||||
@@ -447,6 +458,8 @@ export default {
|
|||||||
getUserCenterBanner().then(res => {
|
getUserCenterBanner().then(res => {
|
||||||
const { success, data } = res
|
const { success, data } = res
|
||||||
if (success) {
|
if (success) {
|
||||||
|
this.userCenterCarousel = data.userCenterCarousel || []
|
||||||
|
this.userCenterCarouselShow = data.userCenterCarouselShow
|
||||||
if (data.userCenterBanner) {
|
if (data.userCenterBanner) {
|
||||||
this.bannerBgUrl = data.userCenterBanner
|
this.bannerBgUrl = data.userCenterBanner
|
||||||
this.userCenterBannerUrl = data.userCenterBannerUrl || ''
|
this.userCenterBannerUrl = data.userCenterBannerUrl || ''
|
||||||
|
|||||||
@@ -229,7 +229,8 @@ export default {
|
|||||||
'qrcode': '',
|
'qrcode': '',
|
||||||
'tips': '',
|
'tips': '',
|
||||||
'type': ''
|
'type': ''
|
||||||
}
|
},
|
||||||
|
loading: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onShow() {
|
onShow() {
|
||||||
@@ -330,6 +331,9 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
submit() {
|
submit() {
|
||||||
|
if(this.loading) {
|
||||||
|
return
|
||||||
|
}
|
||||||
if (!this.innApplyInfo.logo) {
|
if (!this.innApplyInfo.logo) {
|
||||||
this.$dialog.error('请上传店铺LOGO')
|
this.$dialog.error('请上传店铺LOGO')
|
||||||
return
|
return
|
||||||
@@ -372,6 +376,7 @@ export default {
|
|||||||
if (param.coverType === 2) {
|
if (param.coverType === 2) {
|
||||||
param.cover = param.coverVideo
|
param.cover = param.coverVideo
|
||||||
}
|
}
|
||||||
|
this.loading = true
|
||||||
uni.showLoading()
|
uni.showLoading()
|
||||||
postHotelInfoEdit(param).then((res) => {
|
postHotelInfoEdit(param).then((res) => {
|
||||||
uni.hideLoading()
|
uni.hideLoading()
|
||||||
@@ -380,11 +385,13 @@ export default {
|
|||||||
content: '修改成功!',
|
content: '修改成功!',
|
||||||
showCancel: false,
|
showCancel: false,
|
||||||
success: () => {
|
success: () => {
|
||||||
|
this.loading = false
|
||||||
uni.navigateBack()
|
uni.navigateBack()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}).catch((err) => {
|
}).catch((err) => {
|
||||||
uni.hideLoading()
|
uni.hideLoading()
|
||||||
|
this.loading = false
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: err.msg + '',
|
title: err.msg + '',
|
||||||
icon: 'none',
|
icon: 'none',
|
||||||
|
|||||||
+40
-11
@@ -13,6 +13,7 @@
|
|||||||
<view class="msg" v-if="item.msg_type===1">
|
<view class="msg" v-if="item.msg_type===1">
|
||||||
<image class="img" :src="item.msg_content" @click="preview(item.msg_content)"></image>
|
<image class="img" :src="item.msg_content" @click="preview(item.msg_content)"></image>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
@@ -23,13 +24,31 @@
|
|||||||
<view class="msg" v-if="item.msg_type===1">
|
<view class="msg" v-if="item.msg_type===1">
|
||||||
<image class="img" :src="item.msg_content" @click="preview(item.msg_content)"></image>
|
<image class="img" :src="item.msg_content" @click="preview(item.msg_content)"></image>
|
||||||
</view>
|
</view>
|
||||||
|
<view class="msg v12-d-flex" style="box-sizing: content-box" v-if="item.msg_type===2">
|
||||||
|
<view class="goods-logo">
|
||||||
|
<image class="img v12-radius-8" :src="params.cover"></image>
|
||||||
|
</view>
|
||||||
|
<view class="conent v12-ml-3 v12-justify-between v12-flex-column">
|
||||||
|
<view class="">
|
||||||
|
<view class="goodsName one-t v12-font-26">
|
||||||
|
{{ params.goodsName }}
|
||||||
|
</view>
|
||||||
|
<view class="goodsSku v12-secondary-dark-text v12-font-22 v12-font-weight-400 one-t">
|
||||||
|
{{ params.skuStr }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="price v12-primary-text v12-font-24">
|
||||||
|
¥{{ params.price }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<image class="cover" :src="item.header || webUrl+'/20221114155314348118.png'"/>
|
<image class="cover" :src="item.header || webUrl+'/20221114155314348118.png'"/>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="footer flex jc-between ai-end">
|
<view class="footer flex jc-between ai-end v12-align-center">
|
||||||
<image :src="webUrl+'/20221014095236624035.png'" @click="getUploadToken"></image>
|
<image :src="webUrl+'/20221014095236624035.png'" @click="getUploadToken"></image>
|
||||||
<view class="input-box">
|
<view class="input-box">
|
||||||
<textarea
|
<textarea
|
||||||
@@ -43,7 +62,7 @@
|
|||||||
@confirm="userSend"
|
@confirm="userSend"
|
||||||
/>
|
/>
|
||||||
</view>
|
</view>
|
||||||
<button @click="userSend">发送</button>
|
<button @click="userSend" class="v12-primary">发送</button>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
@@ -67,12 +86,14 @@ export default {
|
|||||||
|
|
||||||
roomId: null, //房间ID
|
roomId: null, //房间ID
|
||||||
content: "", //消息内容
|
content: "", //消息内容
|
||||||
list: [], //消息列表
|
list: [], //消息列表,
|
||||||
|
params: {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onLoad(options) {
|
onLoad(options) {
|
||||||
this.storeId = options.id;
|
this.storeId = options.id;
|
||||||
this.merName = options.name;
|
this.merName = options.name;
|
||||||
|
this.params = options.params && JSON.parse(options.params) || {}
|
||||||
if (this.merName!="undefined" && this.merName!="null") {
|
if (this.merName!="undefined" && this.merName!="null") {
|
||||||
uni.setNavigationBarTitle({
|
uni.setNavigationBarTitle({
|
||||||
title: this.merName
|
title: this.merName
|
||||||
@@ -165,6 +186,11 @@ export default {
|
|||||||
console.log('WebSocket连接已打开!', res);
|
console.log('WebSocket连接已打开!', res);
|
||||||
this.socketOpen = true;
|
this.socketOpen = true;
|
||||||
this.createRoom();
|
this.createRoom();
|
||||||
|
if(Object.values(this.params).length > 0) {
|
||||||
|
this.content = JSON.stringify(this.params)
|
||||||
|
// this.list.push(this.params)
|
||||||
|
this.userSend(2)
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
uni.onSocketError(err => {
|
uni.onSocketError(err => {
|
||||||
@@ -185,7 +211,7 @@ export default {
|
|||||||
this.content = event.detail.value;
|
this.content = event.detail.value;
|
||||||
},
|
},
|
||||||
|
|
||||||
userSend() {
|
userSend(msg_type) {
|
||||||
if (this.content.length === 0) return;
|
if (this.content.length === 0) return;
|
||||||
|
|
||||||
let param = {
|
let param = {
|
||||||
@@ -195,7 +221,7 @@ export default {
|
|||||||
username: this.userInfo.nickname,
|
username: this.userInfo.nickname,
|
||||||
header: this.userInfo.avatar,
|
header: this.userInfo.avatar,
|
||||||
room_id: this.roomId,
|
room_id: this.roomId,
|
||||||
msg_type: 0,
|
msg_type: msg_type === 2 ? msg_type : 0,
|
||||||
content: this.content,
|
content: this.content,
|
||||||
token: this.token
|
token: this.token
|
||||||
}
|
}
|
||||||
@@ -204,6 +230,7 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
createRoom() {
|
createRoom() {
|
||||||
|
|
||||||
let param = {
|
let param = {
|
||||||
type: "join",
|
type: "join",
|
||||||
user_type: 0,
|
user_type: 0,
|
||||||
@@ -265,6 +292,9 @@ export default {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="less">
|
<style scoped lang="less">
|
||||||
|
.goodsName,.goodsSku{
|
||||||
|
max-width: 400rpx;
|
||||||
|
}
|
||||||
.common-room {
|
.common-room {
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
background: #F5F5F5;
|
background: #F5F5F5;
|
||||||
@@ -314,8 +344,8 @@ export default {
|
|||||||
word-wrap: break-word;
|
word-wrap: break-word;
|
||||||
|
|
||||||
.img {
|
.img {
|
||||||
max-width: 214rpx;
|
max-width: 140rpx;
|
||||||
max-height: 214rpx;
|
max-height: 140rpx;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -334,9 +364,9 @@ export default {
|
|||||||
bottom: 0;
|
bottom: 0;
|
||||||
width: 100vw;
|
width: 100vw;
|
||||||
padding: 30rpx 32rpx 28rpx;
|
padding: 30rpx 32rpx 28rpx;
|
||||||
border-radius: 24rpx 24rpx 0 0;
|
border-radius: 40rpx 40rpx 0rpx 0rpx;
|
||||||
background: #FFFFFF;
|
background: #FFFFFF;
|
||||||
|
height: 160rpx;
|
||||||
image {
|
image {
|
||||||
width: 64rpx;
|
width: 64rpx;
|
||||||
height: 64rpx;
|
height: 64rpx;
|
||||||
@@ -359,9 +389,8 @@ export default {
|
|||||||
|
|
||||||
button {
|
button {
|
||||||
width: 120rpx;
|
width: 120rpx;
|
||||||
height: 64rpx;
|
|
||||||
margin: 0;
|
margin: 0;
|
||||||
border-radius: 32rpx;
|
border-radius: 100rpx;
|
||||||
background: #FD574B;
|
background: #FD574B;
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
color: #FFFFFF;
|
color: #FFFFFF;
|
||||||
|
|||||||
@@ -8,9 +8,9 @@
|
|||||||
placeholder="请输入关键词县名~"
|
placeholder="请输入关键词县名~"
|
||||||
placeholder-style="color:#949494"
|
placeholder-style="color:#949494"
|
||||||
class="inp"
|
class="inp"
|
||||||
@confirm="getListReq"
|
@confirm="handlerSearch"
|
||||||
>
|
>
|
||||||
<view class="btn" @click="getListReq">
|
<view class="btn" @click="handlerSearch">
|
||||||
搜索
|
搜索
|
||||||
<image
|
<image
|
||||||
:src="webUrl + '/home/icon-search4.png'"
|
:src="webUrl + '/home/icon-search4.png'"
|
||||||
@@ -47,6 +47,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<view
|
<view
|
||||||
class="toggle-wrap"
|
class="toggle-wrap"
|
||||||
|
v-if="list.length > 6"
|
||||||
@click="toggleStatusHandle"
|
@click="toggleStatusHandle"
|
||||||
>
|
>
|
||||||
<view v-if="!toggleStatus">
|
<view v-if="!toggleStatus">
|
||||||
@@ -75,7 +76,9 @@
|
|||||||
>
|
>
|
||||||
<view class="name">
|
<view class="name">
|
||||||
<view class="txt">
|
<view class="txt">
|
||||||
|
<text class="txt-inner">
|
||||||
{{ item.provinceName }}
|
{{ item.provinceName }}
|
||||||
|
</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view v-if="item.intro" class="desc">
|
<view v-if="item.intro" class="desc">
|
||||||
@@ -153,6 +156,7 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<image
|
<image
|
||||||
|
v-if="!searchEvent"
|
||||||
:src="webUrl + '/home/no-data-bg.png'"
|
:src="webUrl + '/home/no-data-bg.png'"
|
||||||
mode="widthFix"
|
mode="widthFix"
|
||||||
class="loadend"
|
class="loadend"
|
||||||
@@ -160,7 +164,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<image
|
<image
|
||||||
v-if="list.length === 0"
|
v-if="list.length === 0"
|
||||||
:src="webUrl + '/20231023131208675588.png'"
|
:src="webUrl + '/orderIcon/nodata.png'"
|
||||||
class="img-nodata"
|
class="img-nodata"
|
||||||
mode="scaleToFill"
|
mode="scaleToFill"
|
||||||
/>
|
/>
|
||||||
@@ -198,7 +202,8 @@ export default {
|
|||||||
toggleStatus: false,
|
toggleStatus: false,
|
||||||
isLoad: false,
|
isLoad: false,
|
||||||
list: [],
|
list: [],
|
||||||
pageKeyId: Object.freeze('countyFamousIndex')
|
pageKeyId: Object.freeze('countyFamousIndex'),
|
||||||
|
searchEvent: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: mapGetters(['userInfo', 'isLogin']),
|
computed: mapGetters(['userInfo', 'isLogin']),
|
||||||
@@ -226,6 +231,14 @@ export default {
|
|||||||
this.init()
|
this.init()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
handlerSearch() {
|
||||||
|
if(this.keyword) {
|
||||||
|
this.searchEvent = true
|
||||||
|
} else {
|
||||||
|
this.searchEvent = false
|
||||||
|
}
|
||||||
|
this.getListReq()
|
||||||
|
},
|
||||||
init() {
|
init() {
|
||||||
// 分享数据
|
// 分享数据
|
||||||
famousShareImage().then(res => {
|
famousShareImage().then(res => {
|
||||||
@@ -296,7 +309,7 @@ export default {
|
|||||||
.county-index {
|
.county-index {
|
||||||
position: relative;
|
position: relative;
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
background-color: #fff;
|
background-color: #f0f0f0;
|
||||||
.search-wrap {
|
.search-wrap {
|
||||||
padding: 20rpx 50rpx;
|
padding: 20rpx 50rpx;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
@@ -409,12 +422,18 @@ export default {
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
|
z-index: 1;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 6rpx;
|
height: 6rpx;
|
||||||
border-radius: 6rpx;
|
border-radius: 6rpx;
|
||||||
content: " ";
|
content: " ";
|
||||||
background: linear-gradient(90deg, #C52733 0%, rgba(202,56,67,0.92) 51%, rgba(255,255,255,0) 100%);
|
background: linear-gradient(90deg, #C52733 0%, rgba(202,56,67,0.92) 51%, rgba(255,255,255,0) 100%);
|
||||||
}
|
}
|
||||||
|
.txt-inner {
|
||||||
|
position: relative;
|
||||||
|
z-index: 2;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.desc {
|
.desc {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="county-index">
|
<view class="county-index v12-grey">
|
||||||
<view v-if="isLoad">
|
<view v-if="isLoad">
|
||||||
<view class="top-img" @click="gotoQianxianShop">
|
<view class="top-img v12-white" @click="gotoQianxianShop">
|
||||||
<image
|
<image
|
||||||
:src="countyFamous.cover"
|
:src="countyFamous.cover"
|
||||||
class="img"
|
class="img"
|
||||||
@@ -10,7 +10,7 @@
|
|||||||
<view class="info-wrap">
|
<view class="info-wrap">
|
||||||
<view class="name">
|
<view class="name">
|
||||||
{{ countyFamous.countyName }}
|
{{ countyFamous.countyName }}
|
||||||
<view v-if="countyFamous.content" class="content">
|
<view v-if="countyFamous.content" class="content one-t">
|
||||||
{{ countyFamous.content }}
|
{{ countyFamous.content }}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -140,11 +140,12 @@ export default {
|
|||||||
.county-index {
|
.county-index {
|
||||||
position: relative;
|
position: relative;
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
background-color: #fff;
|
background-color: #f0f0f0;
|
||||||
.top-img {
|
.top-img {
|
||||||
position: relative;
|
position: relative;
|
||||||
z-index: 5;
|
z-index: 5;
|
||||||
padding: 21rpx;
|
padding: 21rpx;
|
||||||
|
background-color: #fff;
|
||||||
.img {
|
.img {
|
||||||
display: block;
|
display: block;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@@ -163,6 +164,7 @@ export default {
|
|||||||
margin: 0 0 0 8rpx;
|
margin: 0 0 0 8rpx;
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
color: #aaa;
|
color: #aaa;
|
||||||
|
flex: 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.intro {
|
.intro {
|
||||||
@@ -175,7 +177,6 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.list-wrap {
|
.list-wrap {
|
||||||
background-color: #F0F0F0;
|
|
||||||
.loadend {
|
.loadend {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,19 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="list-page">
|
<view class="list-page">
|
||||||
|
<view class="v12-mb-3">
|
||||||
|
<u-search
|
||||||
|
placeholder="请输入关键词查询"
|
||||||
|
v-model="keyword"
|
||||||
|
shape="round"
|
||||||
|
:show-action="false"
|
||||||
|
height="72rpx"
|
||||||
|
@search="handleSearch"
|
||||||
|
bg-color="#fff">
|
||||||
|
</u-search>
|
||||||
|
</view>
|
||||||
<view v-if="isLoad" class="file-list">
|
<view v-if="isLoad" class="file-list">
|
||||||
<view
|
<view
|
||||||
v-for="(file, fileIndex) in list"
|
v-for="(file, fileIndex) in currentList"
|
||||||
:key="fileIndex"
|
:key="fileIndex"
|
||||||
class="file-item"
|
class="file-item"
|
||||||
@click="fileItemClick(file)"
|
@click="fileItemClick(file)"
|
||||||
@@ -15,18 +26,17 @@
|
|||||||
class="icon"
|
class="icon"
|
||||||
/>
|
/>
|
||||||
</view>
|
</view>
|
||||||
<image
|
<view v-if="currentList.length === 0" class="no-data-txt">
|
||||||
:src="webUrl + '/home/no-data-bg.png'"
|
暂无数据~
|
||||||
mode="widthFix"
|
</view>
|
||||||
class="loadend"
|
|
||||||
/>
|
|
||||||
</view>
|
</view>
|
||||||
<goo-skeleton v-else />
|
<goo-skeleton v-else />
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import {
|
import {
|
||||||
getCountyFamousInvestmentFile
|
getCountyFamousInvestmentFile,
|
||||||
|
getCountyFamousIndustryProjectFile
|
||||||
} from '@/api/qianxian'
|
} from '@/api/qianxian'
|
||||||
import { pageListenMixins } from '@/mixins/pageListenMixins'
|
import { pageListenMixins } from '@/mixins/pageListenMixins'
|
||||||
export default {
|
export default {
|
||||||
@@ -37,24 +47,48 @@ export default {
|
|||||||
webUrl: this.$VUE_APP_RESOURCES_URL,
|
webUrl: this.$VUE_APP_RESOURCES_URL,
|
||||||
isLoad: false,
|
isLoad: false,
|
||||||
pageKeyId: '',
|
pageKeyId: '',
|
||||||
list: []
|
list: [],
|
||||||
|
keyword: '',
|
||||||
|
currentList: []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onLoad(options) {
|
onLoad(options) {
|
||||||
const id = options.id
|
const id = options.id
|
||||||
this.getListReq(id)
|
const type = options.type || 'investment'
|
||||||
|
const title = options.title || ''
|
||||||
|
if (title) {
|
||||||
|
uni.setNavigationBarTitle({ title })
|
||||||
|
}
|
||||||
|
this.getListReq(id, type)
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
getListReq(id) {
|
handleSearch() {
|
||||||
getCountyFamousInvestmentFile({
|
this.currentList = this.list.filter(item => item.title.indexOf(this.keyword) > -1)
|
||||||
|
},
|
||||||
|
getListReq(id, type) {
|
||||||
|
let reqFn = null
|
||||||
|
let params = {}
|
||||||
|
if (type === 'investment') {
|
||||||
|
reqFn = getCountyFamousInvestmentFile
|
||||||
|
params = {
|
||||||
countyFamousDataId: id,
|
countyFamousDataId: id,
|
||||||
page: 1,
|
page: 1,
|
||||||
limit: 9999
|
limit: 9999
|
||||||
}).then(res => {
|
}
|
||||||
|
} else {
|
||||||
|
reqFn = getCountyFamousIndustryProjectFile
|
||||||
|
params = {
|
||||||
|
industryProjectId: id,
|
||||||
|
page: 1,
|
||||||
|
limit: 9999
|
||||||
|
}
|
||||||
|
}
|
||||||
|
reqFn(params).then(res => {
|
||||||
const { success, data } = res
|
const { success, data } = res
|
||||||
if (success) {
|
if (success) {
|
||||||
this.isLoad = true
|
this.isLoad = true
|
||||||
this.list = data.records || []
|
this.list = data.records || []
|
||||||
|
this.currentList = [...this.list]
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -109,5 +143,11 @@ export default {
|
|||||||
.loadend {
|
.loadend {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
.no-data-txt {
|
||||||
|
text-align: center;
|
||||||
|
line-height: 200rpx;
|
||||||
|
color: #999;
|
||||||
|
font-size: 36rpx;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
@@ -44,8 +44,8 @@
|
|||||||
class="city-section flex jc-end ai-center"
|
class="city-section flex jc-end ai-center"
|
||||||
>
|
>
|
||||||
<image
|
<image
|
||||||
:src="webUrl + '/20210807215539157727.png'"
|
:src="webUrl + '/page/qianxian/icon-09.png'"
|
||||||
style="width: 22rpx;height: 22rpx;margin-right: 8rpx;"
|
style="width: 28rpx;height: 28rpx;margin-right: 8rpx;"
|
||||||
/>
|
/>
|
||||||
<text class="one-t" style="font-size: 24rpx;color: #fff;">{{ inn.cityName }}</text>
|
<text class="one-t" style="font-size: 24rpx;color: #fff;">{{ inn.cityName }}</text>
|
||||||
</view>
|
</view>
|
||||||
@@ -57,7 +57,7 @@
|
|||||||
<image :src="webUrl + '/20230609145651814148.png'" v-else/>
|
<image :src="webUrl + '/20230609145651814148.png'" v-else/>
|
||||||
</view>
|
</view>
|
||||||
<view class="a3 flex jc-between ai-end" style="width: 100%">
|
<view class="a3 flex jc-between ai-end" style="width: 100%">
|
||||||
<view class="inn-owner" style="flex-grow: 1;">{{ inn.name }}</view>
|
<view class="inn-owner v12-font-36 v12-dark-text one-t v12-font-bold" style="flex-grow: 1;width: 80rpx">{{ inn.name }}</view>
|
||||||
<view class="flex ai-center zan-favorite-wrap">
|
<view class="flex ai-center zan-favorite-wrap">
|
||||||
<view class="zan-box flex flex-0 ai-end" @click="zanInn">
|
<view class="zan-box flex flex-0 ai-end" @click="zanInn">
|
||||||
<template v-if="isLike">
|
<template v-if="isLike">
|
||||||
@@ -240,7 +240,7 @@
|
|||||||
<view class="title">
|
<view class="title">
|
||||||
图片
|
图片
|
||||||
</view>
|
</view>
|
||||||
<view class="pic-list">
|
<view class="pic-list v12-d-grid-columns-2">
|
||||||
<view
|
<view
|
||||||
v-for="(item, index) in inn.countyImages"
|
v-for="(item, index) in inn.countyImages"
|
||||||
:key="index"
|
:key="index"
|
||||||
@@ -360,6 +360,7 @@
|
|||||||
<image
|
<image
|
||||||
:src="item.image"
|
:src="item.image"
|
||||||
class="img"
|
class="img"
|
||||||
|
@click="gotoInvestment(item.title, 'project', item.id)"
|
||||||
/>
|
/>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -388,7 +389,7 @@
|
|||||||
{{ tab.name }}
|
{{ tab.name }}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="file-wrap">
|
<view class="file-wrap" :class="[{'v12-align-center': investmentFileList.length === 0}, {'v12-justify-center': investmentFileList.length === 0}]">
|
||||||
<view v-if="investmentFileList.length > 0" class="file-list">
|
<view v-if="investmentFileList.length > 0" class="file-list">
|
||||||
<view class="list-cont">
|
<view class="list-cont">
|
||||||
<view
|
<view
|
||||||
@@ -412,11 +413,77 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view v-if="investmentFileList.length > 0" class="more-btn-wrap">
|
<view v-if="investmentFileList.length > 0" class="more-btn-wrap">
|
||||||
<view class="more-btn" @click="gotoInvestment">
|
<view class="more-btn" @click="gotoInvestment('', 'investment')">
|
||||||
更多政策
|
更多政策
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</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 v12-white"
|
||||||
|
@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>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -458,7 +525,8 @@ import {
|
|||||||
postCountyFamousNewsView,
|
postCountyFamousNewsView,
|
||||||
getCountyFamousIndustry,
|
getCountyFamousIndustry,
|
||||||
getCountyFamousIndustryProject,
|
getCountyFamousIndustryProject,
|
||||||
getCountyFamousInvestmentFile
|
getCountyFamousInvestmentFile,
|
||||||
|
getCountyFamousVillage
|
||||||
} from '@/api/qianxian'
|
} from '@/api/qianxian'
|
||||||
import {formatDateTime} from '@/utils'
|
import {formatDateTime} from '@/utils'
|
||||||
import {getUrlParam} from '@/utils/common.js'
|
import {getUrlParam} from '@/utils/common.js'
|
||||||
@@ -518,9 +586,12 @@ export default {
|
|||||||
industryProjectList: [],
|
industryProjectList: [],
|
||||||
// 招商政策文件列表
|
// 招商政策文件列表
|
||||||
investmentFileList: [],
|
investmentFileList: [],
|
||||||
|
// 村屋列表
|
||||||
|
villageList: [],
|
||||||
industryTab: [
|
industryTab: [
|
||||||
{ name: '产业项目', icon: '/page/qianxian/icon-04.png' },
|
{ 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
|
industryTabIndex: 0
|
||||||
}
|
}
|
||||||
@@ -581,6 +652,16 @@ export default {
|
|||||||
this.investmentFileList = data.records || []
|
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() {
|
getShopDetailReq() {
|
||||||
const _this = this
|
const _this = this
|
||||||
@@ -625,7 +706,7 @@ export default {
|
|||||||
}).then(res => {
|
}).then(res => {
|
||||||
const { data } = res
|
const { data } = res
|
||||||
_this.loading = false
|
_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, "/")
|
var pt = info.createTime.replace(/-/g, "/")
|
||||||
info.year = formatDateTime(pt, 'yyyy')
|
info.year = formatDateTime(pt, 'yyyy')
|
||||||
info.monthDay = formatDateTime(pt, 'MM/dd')
|
info.monthDay = formatDateTime(pt, 'MM/dd')
|
||||||
@@ -633,12 +714,18 @@ export default {
|
|||||||
info.showMore = false
|
info.showMore = false
|
||||||
return info
|
return info
|
||||||
}))
|
}))
|
||||||
|
// console.log(this.toTop(_this.infoArray));
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
_this.loading = false
|
_this.loading = false
|
||||||
_this.isLoadInfoListSuccess = true
|
_this.isLoadInfoListSuccess = true
|
||||||
uni.stopPullDownRefresh()
|
uni.stopPullDownRefresh()
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
toTop(arr) {
|
||||||
|
return arr.sort((a, b) => {
|
||||||
|
return b.isTop - a.isTop
|
||||||
|
})
|
||||||
|
},
|
||||||
// 攻略
|
// 攻略
|
||||||
getGuideReq() {
|
getGuideReq() {
|
||||||
const _this = this
|
const _this = this
|
||||||
@@ -863,8 +950,11 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
gotoInvestment() {
|
gotoInvestment(title = '', type = 'investment', id = '') {
|
||||||
uni.navigateTo({ url: `/pkg_product/views/famousQianxianInvestment?id=${this.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 {
|
.pic-list {
|
||||||
display: flex;
|
// display: flex;
|
||||||
flex-wrap: wrap;
|
// flex-wrap: wrap;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
padding: 30rpx 0 0 0;
|
padding: 30rpx 0 0 0;
|
||||||
.item {
|
.item {
|
||||||
width: calc(50% - 10rpx);
|
// width: calc(50% - 10rpx);
|
||||||
margin: 0 20rpx 20rpx 0;
|
margin: 0 20rpx 20rpx 0;
|
||||||
.img {
|
.img {
|
||||||
display: block;
|
display: block;
|
||||||
@@ -1330,12 +1420,15 @@ export default {
|
|||||||
z-index: 2;
|
z-index: 2;
|
||||||
display: block;
|
display: block;
|
||||||
width: 750rpx;
|
width: 750rpx;
|
||||||
height: 530rpx;
|
height: 518rpx;
|
||||||
|
}
|
||||||
|
.bg3 {
|
||||||
|
height: 1159rpx;
|
||||||
}
|
}
|
||||||
.card-cont {
|
.card-cont {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
z-index: 5;
|
z-index: 5;
|
||||||
top: 30rpx;
|
top: 20rpx;
|
||||||
left: 30rpx;
|
left: 30rpx;
|
||||||
right: 30rpx;
|
right: 30rpx;
|
||||||
.tab-wrap {
|
.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 {
|
.project-wrap {
|
||||||
|
|||||||
@@ -8,13 +8,17 @@
|
|||||||
transparent="auto"
|
transparent="auto"
|
||||||
color='#ffffff'
|
color='#ffffff'
|
||||||
/>
|
/>
|
||||||
<view v-if="isLoad">
|
<view v-if="isLoad" class="v12-font-0">
|
||||||
|
<view
|
||||||
|
v-for="(groupItem, groupIndex) in groupList"
|
||||||
|
:key="groupIndex"
|
||||||
|
class="page-wrap"
|
||||||
|
>
|
||||||
<image
|
<image
|
||||||
:src="templateProperties.page1Image"
|
:src="groupItem.topImage"
|
||||||
class="top-img"
|
class="top-img"
|
||||||
mode="widthFix"
|
mode="widthFix"
|
||||||
/>
|
/>
|
||||||
<view class="page-wrap">
|
|
||||||
<view class="page-2">
|
<view class="page-2">
|
||||||
<swiper
|
<swiper
|
||||||
class="swiper"
|
class="swiper"
|
||||||
@@ -23,52 +27,7 @@
|
|||||||
:interval="5000"
|
:interval="5000"
|
||||||
>
|
>
|
||||||
<swiper-item
|
<swiper-item
|
||||||
v-for="(swiperItem, swiperIndex) in templateProperties.page2Images"
|
v-for="(swiperItem, swiperIndex) in groupItem.images"
|
||||||
:key="swiperIndex"
|
|
||||||
>
|
|
||||||
<image
|
|
||||||
:src="swiperItem"
|
|
||||||
mode="scaleToFill"
|
|
||||||
class="swiper-img"
|
|
||||||
/>
|
|
||||||
</swiper-item>
|
|
||||||
</swiper>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<!-- 第三页 -->
|
|
||||||
<view class="page-wrap">
|
|
||||||
<view class="page-5">
|
|
||||||
<image
|
|
||||||
v-for="(item, index) in templateProperties.page3Links"
|
|
||||||
:key="index"
|
|
||||||
:src="item.image"
|
|
||||||
class="shop-img"
|
|
||||||
mode="widthFix"
|
|
||||||
@click="linkToShop(item)"
|
|
||||||
/>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<!-- 第四页 -->
|
|
||||||
<view class="page-wrap">
|
|
||||||
<view class="page-4">
|
|
||||||
<image
|
|
||||||
:src="templateProperties.page4Image"
|
|
||||||
class="section-bg"
|
|
||||||
mode="widthFix"
|
|
||||||
/>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<!-- 第五页 -->
|
|
||||||
<view class="page-wrap">
|
|
||||||
<view class="page-2">
|
|
||||||
<swiper
|
|
||||||
class="swiper"
|
|
||||||
circular
|
|
||||||
autoplay
|
|
||||||
:interval="5000"
|
|
||||||
>
|
|
||||||
<swiper-item
|
|
||||||
v-for="(swiperItem, swiperIndex) in templateProperties.page5Images"
|
|
||||||
:key="swiperIndex"
|
:key="swiperIndex"
|
||||||
>
|
>
|
||||||
<image
|
<image
|
||||||
@@ -81,7 +40,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="page-5">
|
<view class="page-5">
|
||||||
<image
|
<image
|
||||||
v-for="(item, index) in templateProperties.page5Links"
|
v-for="(item, index) in groupItem.links"
|
||||||
:key="index"
|
:key="index"
|
||||||
:src="item.image"
|
:src="item.image"
|
||||||
class="shop-img"
|
class="shop-img"
|
||||||
@@ -106,14 +65,7 @@ export default {
|
|||||||
return {
|
return {
|
||||||
isLoad: false,
|
isLoad: false,
|
||||||
pageKeyId: '',
|
pageKeyId: '',
|
||||||
templateProperties: {
|
groupList: []
|
||||||
page1Image: '',
|
|
||||||
page2Images: [],
|
|
||||||
page3Links: [],
|
|
||||||
page4Image: '',
|
|
||||||
page5Images: '',
|
|
||||||
page5Links: []
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onLoad(options) {
|
onLoad(options) {
|
||||||
@@ -128,7 +80,7 @@ export default {
|
|||||||
const { success, data } = res
|
const { success, data } = res
|
||||||
if (success) {
|
if (success) {
|
||||||
this.isLoad = true
|
this.isLoad = true
|
||||||
this.templateProperties = data || {}
|
this.groupList = data.group || []
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -150,32 +102,20 @@ export default {
|
|||||||
}
|
}
|
||||||
.page-wrap {
|
.page-wrap {
|
||||||
position: relative;
|
position: relative;
|
||||||
.page-2 {
|
font-size: 0;
|
||||||
width: 100%;
|
|
||||||
height: 450rpx;
|
|
||||||
.swiper {
|
.swiper {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 450rpx;
|
||||||
.swiper-img {
|
.swiper-img {
|
||||||
display: block;
|
display: block;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
.page-4 {
|
|
||||||
.section-bg {
|
|
||||||
display: block;
|
|
||||||
width: 100%;
|
|
||||||
height: auto;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.page-5 {
|
|
||||||
.shop-img {
|
.shop-img {
|
||||||
display: block;
|
display: block;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 300rpx;
|
height: 300rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
@@ -0,0 +1,653 @@
|
|||||||
|
<template>
|
||||||
|
<view class="container">
|
||||||
|
<hx-navbar
|
||||||
|
:fixed="true"
|
||||||
|
:background-color="[[13,197,197],[13,197,197]]"
|
||||||
|
:pageScroll.sync="scrollData"
|
||||||
|
statusBarFontColor="#ffffff"
|
||||||
|
barPlaceholder="hidden"
|
||||||
|
transparent="auto"
|
||||||
|
color='#ffffff'
|
||||||
|
/>
|
||||||
|
<view v-if="isLoad">
|
||||||
|
<view class="cover-box">
|
||||||
|
<image
|
||||||
|
v-if="inn.coverType === 1"
|
||||||
|
:src="inn.cover"
|
||||||
|
class="full-img"
|
||||||
|
mode="widthFix"
|
||||||
|
/>
|
||||||
|
<view
|
||||||
|
v-if="inn.coverType === 2"
|
||||||
|
:style="{
|
||||||
|
'width': videoStyle.width,
|
||||||
|
'height': videoStyle.height
|
||||||
|
}"
|
||||||
|
class="video-box"
|
||||||
|
>
|
||||||
|
<video
|
||||||
|
:src="inn.cover"
|
||||||
|
:autoplay="true"
|
||||||
|
:controls="true"
|
||||||
|
:loop="false"
|
||||||
|
object-fit="contain"
|
||||||
|
play-btn-position="center"
|
||||||
|
class="video"
|
||||||
|
/>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="innInfoWrap">
|
||||||
|
<view class="bg-color">
|
||||||
|
<view class="box-mask flex jc-between ai-end">
|
||||||
|
<view
|
||||||
|
v-if="inn.cityName"
|
||||||
|
class="city-section flex jc-end ai-center"
|
||||||
|
>
|
||||||
|
<image
|
||||||
|
: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>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="body-cont flex ai-end">
|
||||||
|
<view class="inn-logo flex-0">
|
||||||
|
<image :src="inn.logo" v-if="inn.logo"></image>
|
||||||
|
<image :src="webUrl + '/20230609145651814148.png'" v-else/>
|
||||||
|
</view>
|
||||||
|
<view class="a3 flex" style="width: 100%">
|
||||||
|
<view class="inn-owner one-t">{{ inn.name }}</view>
|
||||||
|
<view class="inn-owner-desc">
|
||||||
|
{{ inn.contact }}/联系人
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="inn-signature-wrap">
|
||||||
|
<view class="triangle"></view>
|
||||||
|
<view class="inn-signature">
|
||||||
|
{{ inn.intro }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view v-if="inn.name" class="map-wrapper">
|
||||||
|
<view class="map-cont">
|
||||||
|
<map
|
||||||
|
:longitude="inn.longitude"
|
||||||
|
:latitude="inn.latitude"
|
||||||
|
style="width: 750rpx;height: 300rpx;"
|
||||||
|
/>
|
||||||
|
</view>
|
||||||
|
<view class="bg"></view>
|
||||||
|
<view class="map-info">
|
||||||
|
<view class="map-info-hd">
|
||||||
|
<image :src="webUrl + '/page/qianxian/icon-location.png'" class="icon" />
|
||||||
|
</view>
|
||||||
|
<view class="map-info-bd more-t">
|
||||||
|
{{ inn.address }}
|
||||||
|
</view>
|
||||||
|
<view class="map-info-ft flex">
|
||||||
|
<view class="item" @click="showLocation">
|
||||||
|
<image :src="webUrl + '/page/qianxian/icon-addr.png'" class="img" />
|
||||||
|
<view>导航</view>
|
||||||
|
</view>
|
||||||
|
<view class="item" @click="call">
|
||||||
|
<image :src="webUrl + '/page/qianxian/icon-phone.png'" class="img" />
|
||||||
|
<view>客服</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="top-tab acea-row row-middle row-center">
|
||||||
|
<view
|
||||||
|
v-for="(item, index) in tabList"
|
||||||
|
:key="index"
|
||||||
|
class="tab"
|
||||||
|
@click="changeTab(item.value)"
|
||||||
|
>
|
||||||
|
<view
|
||||||
|
:class="activeIndex === index ? 'active' : ''"
|
||||||
|
class="tab-item"
|
||||||
|
>
|
||||||
|
{{ item.text }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view>
|
||||||
|
<!-- 村屋详情 -->
|
||||||
|
<view
|
||||||
|
v-if="activeIndex === 0"
|
||||||
|
class="info-section"
|
||||||
|
>
|
||||||
|
<view v-if="inn.images" class="pic-wrap">
|
||||||
|
<view
|
||||||
|
v-for="(item, index) in inn.images"
|
||||||
|
:key="index"
|
||||||
|
class="pic-item"
|
||||||
|
@click="showPic(index)"
|
||||||
|
>
|
||||||
|
<image :src="item" class="img" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view v-else class="tab-no-data">暂无图片~</view>
|
||||||
|
</view>
|
||||||
|
<!-- 村屋介绍 -->
|
||||||
|
<view
|
||||||
|
v-if="activeIndex === 1"
|
||||||
|
class="info-section"
|
||||||
|
>
|
||||||
|
<view class="content-html-wrap">
|
||||||
|
<rich-text :nodes="inn.content" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- 村屋资讯 -->
|
||||||
|
<view
|
||||||
|
v-if="activeIndex === 2"
|
||||||
|
class="info-section"
|
||||||
|
>
|
||||||
|
<view v-if="isLoadInfoListSuccess">
|
||||||
|
<view v-if="infoArray.length > 0" class="info-wrapper">
|
||||||
|
<view class="info-list">
|
||||||
|
<view
|
||||||
|
v-for="(item, index) in infoArray"
|
||||||
|
:key="index"
|
||||||
|
class="info-item"
|
||||||
|
>
|
||||||
|
<view
|
||||||
|
:class="item.isTop === 1 ? 'info-item-top' : ''"
|
||||||
|
:style="{
|
||||||
|
'background-image': item.isTop ? ('url(' + webUrl + '/page/hotel/info-top-bg.png)') : 'none'
|
||||||
|
}"
|
||||||
|
class="info-item-header"
|
||||||
|
>
|
||||||
|
<view class="name">
|
||||||
|
{{ item.title }}
|
||||||
|
</view>
|
||||||
|
<view class="intro">
|
||||||
|
{{ item.content }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="info-item-body">
|
||||||
|
<view v-if="item.type === 2" class="video">
|
||||||
|
<video
|
||||||
|
:src="item.video"
|
||||||
|
:poster="item.video + '?vframe/jpg/offset/1'"
|
||||||
|
controls
|
||||||
|
play-btn-position="center"
|
||||||
|
class="video-item"
|
||||||
|
/>
|
||||||
|
</view>
|
||||||
|
<view v-else>
|
||||||
|
<img-box
|
||||||
|
:imgList="item.images"
|
||||||
|
:num="item.images.length"
|
||||||
|
:img-radius="10"
|
||||||
|
style="width: 100%;"
|
||||||
|
/>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view v-else class="tab-no-data">暂无资讯~</view>
|
||||||
|
</view>
|
||||||
|
<goo-skeleton v-else />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<goo-skeleton v-else />
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
getCountyFamousVillageDetail,
|
||||||
|
getCountyFamousVillageNews
|
||||||
|
} from '@/api/qianxian'
|
||||||
|
import imgBox from '@/components/imageTypeSet/imagebox.vue'
|
||||||
|
import { pageListenMixins } from '@/mixins/pageListenMixins'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
imgBox
|
||||||
|
},
|
||||||
|
mixins: [pageListenMixins],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
webUrl: this.$VUE_APP_RESOURCES_URL,
|
||||||
|
isLoad: false,
|
||||||
|
activeIndex: 0,
|
||||||
|
loading: false,
|
||||||
|
scrollData: {},
|
||||||
|
inn: {
|
||||||
|
cityName: '',
|
||||||
|
pics: [],
|
||||||
|
desc: '',
|
||||||
|
latitude: '',
|
||||||
|
longitude: ''
|
||||||
|
},
|
||||||
|
id: null,
|
||||||
|
videoStyle: {
|
||||||
|
width: '750rpx',
|
||||||
|
height: '500rpx'
|
||||||
|
},
|
||||||
|
tabList: [
|
||||||
|
{ text: '村屋详情', value: 0, isShow: true },
|
||||||
|
{ text: '村屋介绍', value: 1, isShow: true },
|
||||||
|
{ text: '村屋资讯', value: 2, isShow: true }
|
||||||
|
],
|
||||||
|
// 资讯
|
||||||
|
infoArray: [],
|
||||||
|
isLoadInfoListSuccess: false,
|
||||||
|
pageKeyId: ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onPageScroll(e) {
|
||||||
|
this.scrollData = e
|
||||||
|
},
|
||||||
|
onLoad(options) {
|
||||||
|
const id = options.id || ''
|
||||||
|
this.id = id
|
||||||
|
this.getShopDetailReq()
|
||||||
|
this.getInfoReq()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
getShopDetailReq() {
|
||||||
|
const _this = this
|
||||||
|
getCountyFamousVillageDetail(_this.id).then((res) => {
|
||||||
|
const { success, data } = res
|
||||||
|
if (success) {
|
||||||
|
_this.inn = data
|
||||||
|
_this.inn.latitude = _this.inn.latitude > 0 ? _this.inn.latitude : 24.993587
|
||||||
|
_this.inn.longitude = _this.inn.longitude > 0 ? _this.inn.longitude : 102.779656
|
||||||
|
// coverType: 1-图片,2-视频
|
||||||
|
if (data.coverType === 2) {
|
||||||
|
uni.getSystemInfo({
|
||||||
|
success: info => {
|
||||||
|
const screenWidth = info.windowWidth
|
||||||
|
_this.videoStyle.width = screenWidth + 'px'
|
||||||
|
_this.videoStyle.height = screenWidth * 500 / 750 + 'px'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
_this.isLoad = true
|
||||||
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
uni.stopPullDownRefresh()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 资讯
|
||||||
|
getInfoReq() {
|
||||||
|
const _this = this
|
||||||
|
if (_this.loading) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
_this.isLoadInfoListSuccess = false
|
||||||
|
_this.loading = true
|
||||||
|
_this.infoArray = []
|
||||||
|
getCountyFamousVillageNews({
|
||||||
|
page: 1,
|
||||||
|
limit: 9999,
|
||||||
|
countyFamousVillageId: _this.id
|
||||||
|
}).then(res => {
|
||||||
|
const { data } = res
|
||||||
|
_this.loading = false
|
||||||
|
_this.infoArray.push.apply(_this.infoArray, data.records)
|
||||||
|
}).finally(() => {
|
||||||
|
_this.loading = false
|
||||||
|
_this.isLoadInfoListSuccess = true
|
||||||
|
uni.stopPullDownRefresh()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
changeTab(index) {
|
||||||
|
this.activeIndex = index
|
||||||
|
this.loading = false
|
||||||
|
// 刷新数据
|
||||||
|
switch (this.activeIndex) {
|
||||||
|
case 2:
|
||||||
|
this.getInfoReq()
|
||||||
|
break
|
||||||
|
default:
|
||||||
|
break
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 定位
|
||||||
|
showLocation() {
|
||||||
|
if (!this.inn.latitude || !this.inn.longitude) {
|
||||||
|
this.$dialog.error('暂无位置信息')
|
||||||
|
} else {
|
||||||
|
uni.openLocation({
|
||||||
|
latitude: this.inn.latitude,
|
||||||
|
longitude: this.inn.longitude
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async doneFavorite() {
|
||||||
|
if (this.isFavorite) {
|
||||||
|
const res = await postCountyFamousShopRemoveFavorite({ countyFamousDataId: this.id })
|
||||||
|
if (res.success) {
|
||||||
|
this.isFavorite = false
|
||||||
|
this.favoriteCount = res.data.favoriteCount
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
const res = await postCountyFamousShopAddFavorite({ countyFamousDataId: this.id })
|
||||||
|
if (res.success) {
|
||||||
|
this.isFavorite = true
|
||||||
|
this.favoriteCount = res.data.favoriteCount
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
call() {
|
||||||
|
if (this.inn.tel) {
|
||||||
|
uni.makePhoneCall({
|
||||||
|
phoneNumber: this.inn.tel
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.$dialog.error('电话为空')
|
||||||
|
}
|
||||||
|
},
|
||||||
|
showPic(index) {
|
||||||
|
uni.previewImage({
|
||||||
|
current: index,
|
||||||
|
urls: this.inn.images
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
@import "@/assets/css/store.less";
|
||||||
|
.my-inn-page {
|
||||||
|
padding: 0 0 100rpx 0;
|
||||||
|
background-color: #f6f6f6;
|
||||||
|
}
|
||||||
|
.cover-box {
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.full-img {
|
||||||
|
width: 750rpx;
|
||||||
|
}
|
||||||
|
.video {
|
||||||
|
display: block;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.guarantee {
|
||||||
|
margin-right: 16rpx;
|
||||||
|
padding: 8rpx 16rpx;
|
||||||
|
border-radius: 8rpx;
|
||||||
|
background: #0DC5C5;
|
||||||
|
color: #fff;
|
||||||
|
font-size: 22rpx;
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
.store-img {
|
||||||
|
width: 686rpx;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.container {
|
||||||
|
position: relative;
|
||||||
|
background: #FFFFFF;
|
||||||
|
}
|
||||||
|
.innInfoWrap {
|
||||||
|
position: relative;
|
||||||
|
margin-top: -76rpx;
|
||||||
|
padding: 20rpx 36rpx;
|
||||||
|
line-height: 1;
|
||||||
|
z-index: 1;
|
||||||
|
.bg-color {
|
||||||
|
position: absolute;
|
||||||
|
top: -5px;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
z-index: 1;
|
||||||
|
height: 50%;
|
||||||
|
background: linear-gradient(-180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%);
|
||||||
|
|
||||||
|
.box-mask {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
right: 0;
|
||||||
|
left: 166rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 0 32rpx 12rpx 0;
|
||||||
|
|
||||||
|
.city-section {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.body-cont {
|
||||||
|
position: relative;
|
||||||
|
z-index: 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.inn-logo {
|
||||||
|
flex-shrink: 0;
|
||||||
|
width: 56*2rpx;
|
||||||
|
height: 56*2rpx;
|
||||||
|
margin-right: 18rpx;
|
||||||
|
}
|
||||||
|
.inn-logo image {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
border-radius: 50%;
|
||||||
|
}
|
||||||
|
.inn-name {
|
||||||
|
width: 280rpx;
|
||||||
|
font-size: 32rpx;
|
||||||
|
color: #FFFFFF;
|
||||||
|
line-height: 48rpx;
|
||||||
|
}
|
||||||
|
.inn-owner {
|
||||||
|
width: calc(100% - 240rpx);
|
||||||
|
font-size: 36rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #333;
|
||||||
|
line-height: 40rpx;
|
||||||
|
}
|
||||||
|
.inn-owner-desc {
|
||||||
|
margin: 0 0 0 20rpx;
|
||||||
|
color: #999;
|
||||||
|
font-size: 24rpx;
|
||||||
|
line-height: 40rpx;
|
||||||
|
}
|
||||||
|
.inn-tag-wrap {
|
||||||
|
margin-top: 10rpx;
|
||||||
|
}
|
||||||
|
.inn-signature-wrap {
|
||||||
|
position: relative;
|
||||||
|
z-index: 5;
|
||||||
|
padding: 0 32rpx;
|
||||||
|
margin: 20rpx 0 0 0;
|
||||||
|
.triangle {
|
||||||
|
position: absolute;
|
||||||
|
top: -20rpx;
|
||||||
|
left: 72rpx;
|
||||||
|
width: 0;
|
||||||
|
height: 0;
|
||||||
|
border-left: 20rpx solid transparent;
|
||||||
|
border-right: 20rpx solid transparent;
|
||||||
|
border-bottom: 24rpx solid rgba(243,243,246,0.39);
|
||||||
|
}
|
||||||
|
.inn-signature {
|
||||||
|
position: relative;
|
||||||
|
padding: 20rpx;
|
||||||
|
border-radius: 8rpx;
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #080F1A;
|
||||||
|
background: rgba(243,243,246,0.39);
|
||||||
|
box-shadow: 0px 6px 12px rgba(0,0,0,0.12);
|
||||||
|
}
|
||||||
|
.share-btn {
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
bottom: -68rpx;
|
||||||
|
.img {
|
||||||
|
width: 212rpx;
|
||||||
|
height: 60rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.map-wrapper {
|
||||||
|
position: relative;
|
||||||
|
z-index: 2;
|
||||||
|
height: 200rpx;
|
||||||
|
margin: 40rpx 0 0 0;
|
||||||
|
overflow: hidden;
|
||||||
|
.map-cont {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
z-index: 2;
|
||||||
|
width: 100%;
|
||||||
|
opacity: 0.3;
|
||||||
|
transform: translateY(-50rpx);
|
||||||
|
}
|
||||||
|
.bg {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
z-index: 3;
|
||||||
|
height: 60rpx;
|
||||||
|
background: linear-gradient(180deg, #FFFFFF 0%, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
|
||||||
|
}
|
||||||
|
.map-info {
|
||||||
|
position: relative;
|
||||||
|
z-index: 5;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
padding: 40rpx 10rpx 40rpx 32rpx;
|
||||||
|
color: #333;
|
||||||
|
font-size: 14px;
|
||||||
|
.map-info-hd {
|
||||||
|
.icon {
|
||||||
|
display: block;
|
||||||
|
width: 34rpx;
|
||||||
|
height: 42rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.map-info-bd {
|
||||||
|
flex: 1;
|
||||||
|
padding: 0 60rpx 0 20rpx;
|
||||||
|
line-height: 60rpx;
|
||||||
|
}
|
||||||
|
.map-info-ft {
|
||||||
|
.item + .item {
|
||||||
|
margin: 0 0 0 6rpx;
|
||||||
|
}
|
||||||
|
.item {
|
||||||
|
text-align: center;
|
||||||
|
font-weight: 500;
|
||||||
|
.img {
|
||||||
|
display: block;
|
||||||
|
width: 64rpx;
|
||||||
|
height: 64rpx;
|
||||||
|
margin: 0 0 16rpx 16rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.top-tab {
|
||||||
|
padding: 40rpx 0 20rpx 0;
|
||||||
|
.tab {
|
||||||
|
margin: 0 20rpx;
|
||||||
|
.tab-item {
|
||||||
|
height: 52rpx;
|
||||||
|
padding: 0 30rpx;
|
||||||
|
border-radius: 26rpx 0 0 26rpx;
|
||||||
|
font-size: 32rpx;
|
||||||
|
line-height: 52rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
&.active {
|
||||||
|
color: #fff;
|
||||||
|
background: linear-gradient(90deg, #C52733 0%, rgba(211,92,101,0.91) 54%, rgba(255,255,255,0.62) 100%);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.info-section {
|
||||||
|
position: relative;
|
||||||
|
background-color: #f6f6f6;
|
||||||
|
}
|
||||||
|
.info-section {
|
||||||
|
padding: 22rpx;
|
||||||
|
}
|
||||||
|
.info-section {
|
||||||
|
.info-item + .info-item {
|
||||||
|
margin: 22rpx 0 0 0;
|
||||||
|
}
|
||||||
|
.info-item {
|
||||||
|
border-radius: 10rpx;
|
||||||
|
background-color: #fff;
|
||||||
|
.info-item-header {
|
||||||
|
position: relative;
|
||||||
|
padding: 20rpx 20rpx 0 20rpx;
|
||||||
|
&.info-item-top {
|
||||||
|
padding-top: 60rpx;
|
||||||
|
background-size: 100% 80rpx;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-image: url();
|
||||||
|
}
|
||||||
|
.name {
|
||||||
|
font-size: 16px;
|
||||||
|
color: #333;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
.intro {
|
||||||
|
margin: 10rpx 0 0 0;
|
||||||
|
color: #666;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.info-item-body {
|
||||||
|
padding: 0 20rpx 20rpx 20rpx;
|
||||||
|
.video {
|
||||||
|
padding: 20rpx 0 0 0;
|
||||||
|
.video-item {
|
||||||
|
width: 100%;
|
||||||
|
height: 400rpx;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.pic-wrap {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
width: 700rpx;
|
||||||
|
margin: 0 auto;
|
||||||
|
.pic-item {
|
||||||
|
width: 340rpx;
|
||||||
|
height: 340rpx;
|
||||||
|
margin: 0 20rpx 20rpx 0;
|
||||||
|
&:nth-child(2n) {
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
.img {
|
||||||
|
display: block;
|
||||||
|
width: 340rpx;
|
||||||
|
height: 340rpx;
|
||||||
|
border-radius: 16rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.content-html-wrap {
|
||||||
|
padding: 20rpx;
|
||||||
|
border-radius: 16rpx;
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
.tab-no-data {
|
||||||
|
text-align: center;
|
||||||
|
font-size: 32rpx;
|
||||||
|
color: #999;
|
||||||
|
line-height: 200rpx;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -328,6 +328,9 @@ export default {
|
|||||||
case 2:
|
case 2:
|
||||||
countList = this.videoList
|
countList = this.videoList
|
||||||
break
|
break
|
||||||
|
case 3:
|
||||||
|
countList = this.countyFamousList
|
||||||
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
countList.forEach(item => {
|
countList.forEach(item => {
|
||||||
@@ -393,6 +396,7 @@ export default {
|
|||||||
break
|
break
|
||||||
case 3:
|
case 3:
|
||||||
this.countyFamousList[mark]['state'] = state
|
this.countyFamousList[mark]['state'] = state
|
||||||
|
console.log(this.countyFamousList);
|
||||||
this.isAll = this.selectCount === this.countyFamousList.length
|
this.isAll = this.selectCount === this.countyFamousList.length
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
@@ -452,6 +456,7 @@ export default {
|
|||||||
const res = await removeFavorite(ids)
|
const res = await removeFavorite(ids)
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
_this.isAll = false
|
_this.isAll = false
|
||||||
|
_this.page = 1
|
||||||
_this.fetchData()
|
_this.fetchData()
|
||||||
_this.removeAfter()
|
_this.removeAfter()
|
||||||
}
|
}
|
||||||
@@ -459,6 +464,11 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
computedIsManage(arr) {
|
||||||
|
if(this.isManage && arr.length === 0) {
|
||||||
|
this.isManage = false
|
||||||
|
}
|
||||||
|
},
|
||||||
removeAfter() {
|
removeAfter() {
|
||||||
switch (this.tabsIndex) {
|
switch (this.tabsIndex) {
|
||||||
case 0:
|
case 0:
|
||||||
@@ -486,6 +496,7 @@ export default {
|
|||||||
item.state = false
|
item.state = false
|
||||||
_this.productList.push(item)
|
_this.productList.push(item)
|
||||||
})
|
})
|
||||||
|
_this.computedIsManage(_this.productList)
|
||||||
_this.page++
|
_this.page++
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -501,6 +512,7 @@ export default {
|
|||||||
item.state = false
|
item.state = false
|
||||||
_this.storeList.push(item)
|
_this.storeList.push(item)
|
||||||
})
|
})
|
||||||
|
_this.computedIsManage(_this.storeList)
|
||||||
_this.page++
|
_this.page++
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -515,6 +527,7 @@ export default {
|
|||||||
item.state = false
|
item.state = false
|
||||||
_this.videoList.push(item)
|
_this.videoList.push(item)
|
||||||
})
|
})
|
||||||
|
_this.computedIsManage(_this.videoList)
|
||||||
_this.page++
|
_this.page++
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -529,6 +542,7 @@ export default {
|
|||||||
item.state = false
|
item.state = false
|
||||||
_this.countyFamousList.push(item)
|
_this.countyFamousList.push(item)
|
||||||
})
|
})
|
||||||
|
_this.computedIsManage(_this.countyFamousList)
|
||||||
_this.page++
|
_this.page++
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 1.0 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 656 B |
Binary file not shown.
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 934 B |
Reference in New Issue
Block a user