Commit 24086d61 authored by 彭佳妮(贵阳日报)'s avatar 彭佳妮(贵阳日报)
parents 38ea628d 64882a0c
<template> <template>
<view class="sort" :style="{ width: width }"> <view class="sort" :style="{ width: width }">
<view class="date">出发日期</view>
<ul class="ul"> <ul class="ul">
<li <li
v-for="(item, index) in items" v-for="(item, index) in items"
...@@ -30,6 +31,8 @@ const selectItem = (selectItem) => { ...@@ -30,6 +31,8 @@ const selectItem = (selectItem) => {
<style lang="scss" scoped> <style lang="scss" scoped>
.sort { .sort {
width: 710rpx;
height: 192rpx;
position: absolute; position: absolute;
top: 100%; top: 100%;
// width: 100%; // width: 100%;
...@@ -39,19 +42,47 @@ const selectItem = (selectItem) => { ...@@ -39,19 +42,47 @@ const selectItem = (selectItem) => {
box-shadow: 0rpx 16rpx 16rpx 0rpx rgba(73, 73, 73, 0.14); box-shadow: 0rpx 16rpx 16rpx 0rpx rgba(73, 73, 73, 0.14);
margin: 0 auto; margin: 0 auto;
z-index: 99; z-index: 99;
display: flex; // display: flex;
padding-bottom: 20rpx; padding-bottom: 20rpx;
box-sizing: border-box; box-sizing: border-box;
overflow: auto;
.date {
width: 96rpx;
height: 28rpx;
font-family: Source Han Sans;
font-size: 24rpx;
font-weight: normal;
line-height: 28rpx;
letter-spacing: 0em;
font-variation-settings: 'opsz' auto;
font-feature-settings: 'kern' on;
color: #fa5151;
margin-left: 44rpx;
margin-top: 20rpx;
}
.ul { .ul {
padding-left: 60rpx; padding-left: 20rpx;
display: flex;
flex-flow: wrap;
li { li {
width: 154rpx;
height: 20rpx;
border-radius: 8rpx;
flex-direction: column;
justify-content: center;
align-items: center;
padding: 6rpx 26rpx;
margin-left: 20rpx;
background: #f3f3f3;
font-size: 24rpx;
line-height: 20rpx;
text-align: center;
list-style-type: none; list-style-type: none;
font-size: 22rpx;
color: #3d3d3d;
margin-top: 20rpx; margin-top: 20rpx;
} }
.active { .active {
color: #fa5151; color: #fa5151;
background: #feeeee;
} }
} }
} }
......
<template> <template>
<view class="sort" :style="{ width: width }"> <view class="sort" :style="{ width: width }">
<view class="date">景点</view>
<ul class="ul"> <ul class="ul">
<li <li
v-for="(item, index) in items" v-for="(item, index) in items"
...@@ -15,7 +16,19 @@ ...@@ -15,7 +16,19 @@
<script setup> <script setup>
import { defineProps } from 'vue'; import { defineProps } from 'vue';
const items = reactive(['智能排序', '距离优先', '好评优先', '销量优先', '低价优先', '低价优先']); const items = reactive([
'智能排序',
'距离优先',
'好评优先',
'销量优先',
'低价优先',
'低价优先',
'距离优先',
'好评优先',
'销量优先',
'低价优先',
'距离优先',
]);
const selectedItem = ref(null); const selectedItem = ref(null);
const props = defineProps({ const props = defineProps({
width: { width: {
...@@ -30,6 +43,8 @@ const selectItem = (selectItem) => { ...@@ -30,6 +43,8 @@ const selectItem = (selectItem) => {
<style lang="scss" scoped> <style lang="scss" scoped>
.sort { .sort {
width: 710rpx;
height: 192rpx;
position: absolute; position: absolute;
top: 100%; top: 100%;
// width: 100%; // width: 100%;
...@@ -39,19 +54,47 @@ const selectItem = (selectItem) => { ...@@ -39,19 +54,47 @@ const selectItem = (selectItem) => {
box-shadow: 0rpx 16rpx 16rpx 0rpx rgba(73, 73, 73, 0.14); box-shadow: 0rpx 16rpx 16rpx 0rpx rgba(73, 73, 73, 0.14);
margin: 0 auto; margin: 0 auto;
z-index: 99; z-index: 99;
display: flex; // display: flex;
padding-bottom: 20rpx; padding-bottom: 20rpx;
box-sizing: border-box; box-sizing: border-box;
overflow: auto;
.date {
width: 96rpx;
height: 28rpx;
font-family: Source Han Sans;
font-size: 24rpx;
font-weight: normal;
line-height: 28rpx;
letter-spacing: 0em;
font-variation-settings: 'opsz' auto;
font-feature-settings: 'kern' on;
color: #fa5151;
margin-left: 44rpx;
margin-top: 20rpx;
}
.ul { .ul {
padding-left: 60rpx; padding-left: 20rpx;
display: flex;
flex-flow: wrap;
li { li {
width: 154rpx;
height: 20rpx;
border-radius: 8rpx;
flex-direction: column;
justify-content: center;
align-items: center;
padding: 6rpx 26rpx;
margin-left: 20rpx;
background: #f3f3f3;
font-size: 24rpx;
line-height: 20rpx;
text-align: center;
list-style-type: none; list-style-type: none;
font-size: 22rpx;
color: #3d3d3d;
margin-top: 20rpx; margin-top: 20rpx;
} }
.active { .active {
color: #fa5151; color: #fa5151;
background: #feeeee;
} }
} }
} }
......
<template> <template>
<view class="sort" :style="{ width: width }"> <view class="sort" :style="{ width: width }">
<view class="date">筛选</view>
<ul class="ul"> <ul class="ul">
<li <li
v-for="(item, index) in items" v-for="(item, index) in items"
...@@ -15,7 +16,19 @@ ...@@ -15,7 +16,19 @@
<script setup> <script setup>
import { defineProps } from 'vue'; import { defineProps } from 'vue';
const items = reactive(['智能排序', '距离优先', '好评优先', '销量优先', '低价优先', '低价优先']); const items = reactive([
'智能排序',
'距离优先',
'好评优先',
'销量优先',
'低价优先',
'低价优先',
'距离优先',
'好评优先',
'销量优先',
'低价优先',
'距离优先',
]);
const selectedItem = ref(null); const selectedItem = ref(null);
const props = defineProps({ const props = defineProps({
width: { width: {
...@@ -30,6 +43,8 @@ const selectItem = (selectItem) => { ...@@ -30,6 +43,8 @@ const selectItem = (selectItem) => {
<style lang="scss" scoped> <style lang="scss" scoped>
.sort { .sort {
width: 710rpx;
height: 192rpx;
position: absolute; position: absolute;
top: 100%; top: 100%;
// width: 100%; // width: 100%;
...@@ -39,19 +54,47 @@ const selectItem = (selectItem) => { ...@@ -39,19 +54,47 @@ const selectItem = (selectItem) => {
box-shadow: 0rpx 16rpx 16rpx 0rpx rgba(73, 73, 73, 0.14); box-shadow: 0rpx 16rpx 16rpx 0rpx rgba(73, 73, 73, 0.14);
margin: 0 auto; margin: 0 auto;
z-index: 99; z-index: 99;
display: flex; // display: flex;
padding-bottom: 20rpx; padding-bottom: 20rpx;
box-sizing: border-box; box-sizing: border-box;
overflow: auto;
.date {
width: 96rpx;
height: 28rpx;
font-family: Source Han Sans;
font-size: 24rpx;
font-weight: normal;
line-height: 28rpx;
letter-spacing: 0em;
font-variation-settings: 'opsz' auto;
font-feature-settings: 'kern' on;
color: #fa5151;
margin-left: 44rpx;
margin-top: 20rpx;
}
.ul { .ul {
padding-left: 60rpx; padding-left: 20rpx;
display: flex;
flex-flow: wrap;
li { li {
width: 154rpx;
height: 20rpx;
border-radius: 8rpx;
flex-direction: column;
justify-content: center;
align-items: center;
padding: 6rpx 26rpx;
margin-left: 20rpx;
background: #f3f3f3;
font-size: 24rpx;
line-height: 20rpx;
text-align: center;
list-style-type: none; list-style-type: none;
font-size: 22rpx;
color: #3d3d3d;
margin-top: 20rpx; margin-top: 20rpx;
} }
.active { .active {
color: #fa5151; color: #fa5151;
background: #FEEEEE;
} }
} }
} }
......
import { request } from '../../utils/request';
// 获取指定类型轮播图
export function getSortList(data) {
return request({
url: `/sgyrdd/category/znList`,
method: 'GET',
data,
});
}
// 筑农严选首页-分类预售商品列表
export function getPresaleCategory(data) {
return request({
url: `/sgyrdd/znprod/getPresaleCategoryProd`,
method: 'GET',
data,
});
}
// 预售板块轮播图
export function getPresaleList(data) {
return request({
url: `/sgyrdd/carousel/presaleList`,
method: 'GET',
data,
});
}
// 筑农严选分类
export function getStrictSelection(data) {
return request({
url: `/sgyrdd/category/getZnyx`,
method: 'GET',
data,
});
}
// 筑农预售分类
export function getBuindingSort(data) {
return request({
url: `/sgyrdd/category/presaleList`,
method: 'GET',
data,
});
}
<template> <template>
<div class="route-details"> <div class="route-details">
<scroll-view class="container" scroll-y> <scroll-view class="container" scroll-y>
<img class="back-img" src="/static/assistingAgriculture/assets/left.png" @tap="back" />
<!-- 轮播 --> <!-- 轮播 -->
<div class="banner"> <div class="banner">
<!-- --> <!-- -->
...@@ -60,7 +61,7 @@ ...@@ -60,7 +61,7 @@
<span>/5分</span> <span>/5分</span>
</p> </p>
</div> </div>
<div class="link">查看全部(526) ></div> <div class="link" @click="toCommentDetail">查看全部(526) ></div>
</div> </div>
<div class="tags"> <div class="tags">
<p>景色优美 (153)</p> <p>景色优美 (153)</p>
...@@ -78,7 +79,7 @@ ...@@ -78,7 +79,7 @@
<div class="album"> <div class="album">
<div class="top flex-between"> <div class="top flex-between">
<div class="title">用户相册</div> <div class="title">用户相册</div>
<div class="link">查看全部(526) ></div> <div class="link" @click="toAlbum">查看全部(526) ></div>
</div> </div>
<div class="img-list"> <div class="img-list">
<wd-img <wd-img
...@@ -268,6 +269,26 @@ const swiperList = ref([ ...@@ -268,6 +269,26 @@ const swiperList = ref([
'https://registry.npmmirror.com/wot-design-uni-assets/*/files/moon.jpg', 'https://registry.npmmirror.com/wot-design-uni-assets/*/files/moon.jpg',
'https://registry.npmmirror.com/wot-design-uni-assets/*/files/meng.jpg', 'https://registry.npmmirror.com/wot-design-uni-assets/*/files/meng.jpg',
]); ]);
// 返回上一级
function back() {
xma.navigateBack({
delta: 1,
});
}
// 跳转详情页
function toCommentDetail() {
// TODO: 跳转到评论详情页
xma.navigateTo({
url: '/pages/assistingAgriculture/commentList/index',
});
}
// 跳转用户相册
function toAlbum() {
// TODO: 跳转到评论详情页
xma.navigateTo({
url: '/pages/assistingAgriculture/album/index',
});
}
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
uni-page-body { uni-page-body {
...@@ -677,4 +698,12 @@ uni-page-body { ...@@ -677,4 +698,12 @@ uni-page-body {
} }
} }
} }
.back-img {
width: 56rpx;
height: 56rpx;
position: absolute;
z-index: 999;
margin-top: 40rpx;
margin-left: 40rpx;
}
</style> </style>
...@@ -26,46 +26,16 @@ ...@@ -26,46 +26,16 @@
</view> </view>
<view class="sort"> <view class="sort">
<view style="display: flex; flex-direction: row"> <view style="display: flex; flex-direction: row">
<view class="borderClass" @tap="toBuilding"> <view
<img class="borderClass"
src="/static/assistingAgriculture/assets/buildingAgriculture.png" @click="toBuilding(index)"
style="width: 96rpx; height: 96rpx" v-for="(item, index) in sortList"
/> :key="index"
<view class="sort-text">筑农严选</view> >
</view> <img :src="item.icon" style="width: 96rpx; height: 96rpx" />
<view class="borderClass"> <view class="sort-text">{{ item.categoryName }}</view>
<img
src="/static/assistingAgriculture/assets/adoption.png"
style="width: 96rpx; height: 96rpx"
/>
<view class="sort-text">认养农业</view>
</view>
<view class="borderClass" @tap="toRuralTravel">
<img
src="/static/assistingAgriculture/assets/rural.png"
style="width: 96rpx; height: 96rpx"
/>
<view class="sort-text">乡村旅居</view>
</view>
<view class="borderClass">
<img
src="/static/assistingAgriculture/assets/buildingAgriculture.png"
style="width: 96rpx; height: 96rpx"
/>
<view class="sort-text">特色农庄</view>
</view> </view>
</view> </view>
<!-- <view style="display: flex; flex-direction: row">-->
<!-- <view-->
<!-- class="borderClass"-->
<!-- @tap="toBuilding"-->
<!-- v-for="(item, index) in sortList"-->
<!-- :key="index"-->
<!-- >-->
<!-- <img :src="item.img" style="width: 96rpx; height: 96rpx" />-->
<!-- <view class="sort-text">{{ item.text }}</view>-->
<!-- </view>-->
<!-- </view>-->
</view> </view>
<view class="product-page"> <view class="product-page">
<view> <view>
...@@ -181,10 +151,15 @@ ...@@ -181,10 +151,15 @@
<script setup lang="ts"> <script setup lang="ts">
import Search from '../../../components/assistingAgriculture/index/Search.vue'; import Search from '../../../components/assistingAgriculture/index/Search.vue';
import {
getPresaleCategory,
getSortList,
getStrictSelection,
} from '../../../api/assistingAgriculture/building';
import { onMounted } from 'vue';
const list = ref([ const list = ref([
// { img: '/static/assistingAgriculture/assets/mainPicture.png', text: '特色美食' }, // // { img: '/static/assistingAgriculture/assets/mainPicture.png', text: '特色美食' },
// { img: '/static/assistingAgriculture/assets/presale.png', text: '农货预售' }, // // { img: '/static/assistingAgriculture/assets/presale.png', text: '农货预售' },
{ img: '/static/assistingAgriculture/assets/mainPicture.png', text: '乡村非遗' }, { img: '/static/assistingAgriculture/assets/mainPicture.png', text: '乡村非遗' },
{ img: '/static/assistingAgriculture/assets/mainPicture.png', text: '认养农业' }, { img: '/static/assistingAgriculture/assets/mainPicture.png', text: '认养农业' },
{ img: '/static/assistingAgriculture/assets/mainPicture.png', text: '乡村旅居' }, { img: '/static/assistingAgriculture/assets/mainPicture.png', text: '乡村旅居' },
...@@ -207,31 +182,49 @@ const detailList = ref([ ...@@ -207,31 +182,49 @@ const detailList = ref([
text: '麻辣鱼豆腐', text: '麻辣鱼豆腐',
}, },
]); ]);
const sortList = ref([ const sortList = ref([]);
{ onMounted(async () => {
img: '/static/assistingAgriculture/assets/buildingAgriculture.png', getList();
price: '25', getPresaleCategoryList();
text: '筑农严选', getStrictSelectionList();
}, });
{ img: '/static/assistingAgriculture/assets/adoption.png', price: '25', text: '认养农业' }, // 获取筑农专区分类;
{ img: '/static/assistingAgriculture/assets/rural.png', price: '25', text: '乡村旅居' }, const getList = () => {
{ getSortList().then((res) => {
img: '/static/assistingAgriculture/assets/buildingAgriculture.png', console.log(res, 111);
price: '25', res.data.forEach((item) => {
text: '特色农庄', item.icon = import.meta.env.VITE_APP_IMG_URL + item.icon;
}, item.pic = import.meta.env.VITE_APP_IMG_URL + item.pic;
]); });
function toBuilding() { sortList.value = res.data;
// TODO: 跳转到筑农严选 console.log(list.value, 111);
xma.navigateTo({
url: '/pages/assistingAgriculture/index/building',
}); });
} };
function toRuralTravel() { // 筑农严选首页-分类预售商品列表
// TODO: 跳转到乡村旅居 const getPresaleCategoryList = () => {
xma.navigateTo({ getPresaleCategory().then((res) => {
url: '/pages/assistingAgriculture/RuralTravel/RuralTravel', console.log(res, 222);
});
};
// 筑农严选分类
const getStrictSelectionList = () => {
getStrictSelection().then((res) => {
console.log(res, 333);
}); });
};
function toBuilding(index) {
if (index === 0) {
// TODO: 跳转到筑农严选
xma.navigateTo({
url: '/pages/assistingAgriculture/index/building',
});
} else if (index === 2) {
// TODO: 跳转到乡村旅居
xma.navigateTo({
url: '/pages/assistingAgriculture/RuralTravel/RuralTravel',
});
}
console.log(index, 121);
} }
// 跳转详情页 // 跳转详情页
function toDetail() { function toDetail() {
......
...@@ -152,7 +152,12 @@ ...@@ -152,7 +152,12 @@
<script setup> <script setup>
import Search from '../../../components/assistingAgriculture/index/Search.vue'; import Search from '../../../components/assistingAgriculture/index/Search.vue';
import { ref } from 'vue'; import { ref, onMounted } from 'vue';
import {
getBuindingSort,
getPresaleList,
getStrictSelection,
} from '../../../api/assistingAgriculture/building';
const current = ref(0); const current = ref(0);
const light = ref(0); const light = ref(0);
const sortList = ref([ const sortList = ref([
...@@ -238,6 +243,22 @@ const goodList = ref([ ...@@ -238,6 +243,22 @@ const goodList = ref([
price: 69.9, price: 69.9,
}, },
]); ]);
onMounted(async () => {
getPresale();
getBuindingSortList();
});
// 预售板块轮播图
const getPresale = () => {
getPresaleList({ place: 3 }).then((res) => {
console.log(res, 111);
});
};
// 筑农预售分类
const getBuindingSortList = () => {
getBuindingSort({ level: 3 }).then((res) => {
console.log(res, 222);
});
};
// 左侧数据列表 // 左侧数据列表
const LeftList = ref([]); const LeftList = ref([]);
// 右侧数据列表 // 右侧数据列表
......
...@@ -138,7 +138,7 @@ onLoad((option) => { ...@@ -138,7 +138,7 @@ onLoad((option) => {
const { parentId, pic, categoryName } = option; const { parentId, pic, categoryName } = option;
categoryNames.value = categoryName; categoryNames.value = categoryName;
categoryId.value = parentId; categoryId.value = parentId;
params.value.categoryId = [parentId]; params.value.categoryIds = [parentId];
pics.value = pic; pics.value = pic;
query(parentId); query(parentId);
prodSpecialFn(); prodSpecialFn();
......
...@@ -141,18 +141,18 @@ ...@@ -141,18 +141,18 @@
<view class="bz"> <view class="bz">
<text class="yh-name">保障:</text> <text class="yh-name">保障:</text>
<view class="icon-box"> <view class="icon-box">
<i class="iconfont icon icon-rs-countdown" /> <image src="@/static/shop/icon-1.png" class="m-r"></image>
过期退 过期退
</view> </view>
<view style="margin-left: 64rpx" class="icon-box"> <view style="margin-left: 64rpx" class="icon-box">
<i class="iconfont icon icon-ic_business_refund24px" /> <image src="@/static/shop/icon-2.png" class="m-r"></image>
随时退 随时退
</view> </view>
<view style="margin-left: 64rpx" class="icon-box"> <view style="margin-left: 64rpx" class="icon-box">
<i class="iconfont icon icon-naozhong" /> <image src="@/static/shop/icon-3.png" class="m-r"></image>
随时用 随时用
</view> </view>
<i @click="alert" class="iconfont jg icon-jinggao" /> <image style="margin-left: auto" @click="alert" src="@/static/shop/icon-4.png"></image>
</view> </view>
<view class="xz"> <view class="xz">
<text class="yh-name">限制:</text> <text class="yh-name">限制:</text>
...@@ -255,6 +255,7 @@ ...@@ -255,6 +255,7 @@
<script setup> <script setup>
import { getProdDetail, getCollect, getCouponShopList, receiveCoupon } from '@/api/packageDetail'; import { getProdDetail, getCollect, getCouponShopList, receiveCoupon } from '@/api/packageDetail';
import { getStoreInformation } from '@/api/shop'; import { getStoreInformation } from '@/api/shop';
import { getDistance } from '@/utils/common';
const prodInfo = ref({}); const prodInfo = ref({});
const prodRlue = ref({}); const prodRlue = ref({});
const myProdId = ref(''); const myProdId = ref('');
...@@ -263,7 +264,7 @@ const showRlue = ref(true); ...@@ -263,7 +264,7 @@ const showRlue = ref(true);
const imgUrl = import.meta.env.VITE_APP_IMG_URL; const imgUrl = import.meta.env.VITE_APP_IMG_URL;
const shopInfo = ref({}); const shopInfo = ref({});
const show = ref(false); const show = ref(false);
const currentLatitudeAndLongitude = ref({}); const shopLocation = ref({});
const shopId = ref(''); const shopId = ref('');
const showpopup = ref(false); const showpopup = ref(false);
const prodSkusInfo = ref({}); const prodSkusInfo = ref({});
...@@ -273,17 +274,21 @@ onLoad((options) => { ...@@ -273,17 +274,21 @@ onLoad((options) => {
const { prodId } = options; const { prodId } = options;
myProdId.value = prodId; myProdId.value = prodId;
getProdDetailFn(prodId).then((shopId) => { getProdDetailFn(prodId).then((shopId) => {
getStoreInformationFn(shopId); getStoreInformationFn(shopId).then((shopInfo) => {
// 获取位置
getLocationFn();
});
getCouponShopListFn(prodId, shopId); getCouponShopListFn(prodId, shopId);
}); });
}); });
onShow(() => {
// 获取位置
getLocationFn();
});
function alert() { function alert() {
if (productCoupons.value.length > 0) { if (productCoupons.value.length > 0) {
show.value = true; show.value = true;
} else {
xma.showToast({
title: '暂无优惠券',
icon: 'error',
});
} }
} }
/** /**
...@@ -391,8 +396,9 @@ function getLocationFn() { ...@@ -391,8 +396,9 @@ function getLocationFn() {
xma.getLocation({ xma.getLocation({
type: 'wgs84', type: 'wgs84',
success: function (res) { success: function (res) {
const myLatitude = currentLatitudeAndLongitude.value.latitude; const myLatitude = shopLocation.value.latitude;
const myLongitude = currentLatitudeAndLongitude.value.longitude; const myLongitude = shopLocation.value.longitude;
console.log('myLongitude', myLatitude, myLongitude);
const distance = getDistance(res.latitude, res.longitude, myLatitude, myLongitude, 1); const distance = getDistance(res.latitude, res.longitude, myLatitude, myLongitude, 1);
shopInfo.value.distance = distance; shopInfo.value.distance = distance;
}, },
...@@ -425,9 +431,11 @@ const getStoreInformationFn = (id) => { ...@@ -425,9 +431,11 @@ const getStoreInformationFn = (id) => {
getStoreInformation(id).then((res) => { getStoreInformation(id).then((res) => {
if (res.code === 0) { if (res.code === 0) {
shopInfo.value = res.data.shop; shopInfo.value = res.data.shop;
shopInfo.value.tagList = res.data.shop.labels.split(','); if (res.data.shop.labels) {
currentLatitudeAndLongitude.value.latitude = res.data.shop.location.lat; shopInfo.value.tagList = res.data.shop.labels.split(',');
currentLatitudeAndLongitude.value.longitude = res.data.shop.location.lon; }
shopLocation.value.latitude = res.data.shop.location.lat;
shopLocation.value.longitude = res.data.shop.location.lon;
resolve(); resolve();
} }
}); });
...@@ -850,24 +858,19 @@ page { ...@@ -850,24 +858,19 @@ page {
display: flex; display: flex;
align-items: center; align-items: center;
margin: 22rpx 0 32rpx 0; margin: 22rpx 0 32rpx 0;
image {
width: 14 * 2rpx;
height: 14 * 2rpx;
}
.icon-box { .icon-box {
display: flex; display: flex;
align-items: center; align-items: center;
font-size: 11 * 2rpx; font-size: 11 * 2rpx;
color: #abaaaa; color: #abaaaa;
.icon { .m-r {
font-size: 38rpx; margin-right: 10rpx;
font-weight: bold;
font-weight: 300;
color: #fa5151;
} }
} }
.jg {
font-size: 46rpx;
font-weight: bold;
margin-left: auto;
color: #abaaaa;
}
} }
.xz { .xz {
font-size: 10 * 2rpx; font-size: 10 * 2rpx;
......
...@@ -46,6 +46,7 @@ ...@@ -46,6 +46,7 @@
</view> </view>
<view class="score-icon"> <view class="score-icon">
<wd-rate <wd-rate
custom-class="icon-statr"
color="#fff" color="#fff"
readonly readonly
v-model="shopInfo.grade" v-model="shopInfo.grade"
...@@ -128,9 +129,10 @@ ...@@ -128,9 +129,10 @@
<text class="goods-title multi-line">{{ item.prodName }}</text> <text class="goods-title multi-line">{{ item.prodName }}</text>
<text class="yh-fl multi-line">{{ item.brief }}</text> <text class="yh-fl multi-line">{{ item.brief }}</text>
<text class="yh-time multi-line">{{ item.rule }}</text> <text class="yh-time multi-line">{{ item.rule }}</text>
<view class="tag-list"> <view class="tag-list" v-if="item.labelNames.length > 0">
<view class="tag">{{ item.labelNames }}</view> <view v-for="(lab, i) in item.labelNames" :key="i">
<!-- <view class="tag">随时退</view> --> <text v-if="lab" class="tag" style="border-radius: 6rpx">{{ lab }}</text>
</view>
</view> </view>
<view class="price"> <view class="price">
<text class="num0">到手</text> <text class="num0">到手</text>
...@@ -180,6 +182,7 @@ ...@@ -180,6 +182,7 @@
<view class="u-pf"> <view class="u-pf">
<text>{{ item.descriptionMatches }}</text> <text>{{ item.descriptionMatches }}</text>
<wd-rate <wd-rate
custom-class="icon-statr"
color="#fff" color="#fff"
readonly readonly
v-model="item.descriptionMatches" v-model="item.descriptionMatches"
...@@ -557,6 +560,9 @@ const groupBuyListFn = (shopId) => { ...@@ -557,6 +560,9 @@ const groupBuyListFn = (shopId) => {
if (res.code === 0) { if (res.code === 0) {
listOfGroupBuyingProducts.value = res.data.map((item) => { listOfGroupBuyingProducts.value = res.data.map((item) => {
item.pic = imgUrl + item.pic; item.pic = imgUrl + item.pic;
item.labelNames = item.labelNames.split(',').filter((lab) => {
return lab !== '';
});
return item; return item;
}); });
} }
...@@ -887,6 +893,11 @@ page { ...@@ -887,6 +893,11 @@ page {
margin-left: 8rpx; margin-left: 8rpx;
} }
} }
.icon-statr {
:v-deep(.wd-rate__item-star--active) {
overflow: visible !important;
}
}
} }
.shop-business-hours { .shop-business-hours {
texe { texe {
...@@ -1106,7 +1117,7 @@ page { ...@@ -1106,7 +1117,7 @@ page {
background: #fcdbdb; background: #fcdbdb;
padding: 2rpx 8rpx; padding: 2rpx 8rpx;
box-sizing: border-box; box-sizing: border-box;
font-size: 8 * 2rpx; font-size: 12 * 2rpx;
color: #fa5151; color: #fa5151;
margin-right: 8rpx; margin-right: 8rpx;
} }
...@@ -1206,6 +1217,11 @@ page { ...@@ -1206,6 +1217,11 @@ page {
.u-pf { .u-pf {
display: flex; display: flex;
align-items: center; align-items: center;
.icon-statr {
:v-deep(.wd-rate__item-star--active) {
overflow: visible !important;
}
}
text { text {
color: #fa5151; color: #fa5151;
font-weight: 700; font-weight: 700;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment