|
|
@@ -1,63 +1,55 @@
|
|
|
<template>
|
|
|
<view class="container">
|
|
|
- <!-- <navbar id="navbar" :config="config" backColor="#888888"></navbar> -->
|
|
|
- <uv-navbar
|
|
|
- title="本地生活"
|
|
|
- leftIconSize="0"
|
|
|
- :border="false"
|
|
|
- bgColor="#fbcd17"
|
|
|
- titleStyle="font-weight: 700;color: #1A1A1A;"
|
|
|
- ></uv-navbar>
|
|
|
<uv-sticky>
|
|
|
+ <uv-navbar
|
|
|
+ title="本地生活"
|
|
|
+ leftIconSize="0"
|
|
|
+ :border="false"
|
|
|
+ bgColor="#fbcd17"
|
|
|
+ titleStyle="font-weight: 700;color: #1A1A1A;"
|
|
|
+ placeholder
|
|
|
+ ></uv-navbar>
|
|
|
<view class="search-top">
|
|
|
- <view class="city-text" @click="addressShow = true">
|
|
|
- <!-- <image mode="widthFix" src="/static/shop/location-icon.png"></image> -->
|
|
|
- <uv-icon name="map" color="#000000" size="34"></uv-icon>
|
|
|
+ <view class="city-text" @click="regionSelectionRef.open()">
|
|
|
+ <uv-icon name="map" color="#000000" size="28rpx"></uv-icon>
|
|
|
<view>{{ cityName }}</view>
|
|
|
- <uv-icon name="arrow-right" color="#000000" size="30"></uv-icon>
|
|
|
+ <uv-icon name="arrow-right" color="#000000" size="30rpx"></uv-icon>
|
|
|
</view>
|
|
|
<view class="searchBox">
|
|
|
<uv-search
|
|
|
- v-model="param.shop_name"
|
|
|
+ v-model="param.keyword"
|
|
|
shape="round"
|
|
|
:clearabled="false"
|
|
|
:showAction="false"
|
|
|
- height="80"
|
|
|
+ height="80rpx"
|
|
|
bg-color="#f7f7f7"
|
|
|
border-color="#D9D9D9"
|
|
|
- placeholder-color="#CCCCCC"
|
|
|
- search-icon="/static/shop/search-icon.png"
|
|
|
- :customStyle="searchCustomStyle"
|
|
|
- :boxStyle="searchBoxStyle"
|
|
|
- :inputStyle="searchInputStyle"
|
|
|
- @search="onSearch"
|
|
|
- @custom="onSearch"
|
|
|
+ laceholder-color="#CCCCCC"
|
|
|
+ search-icon="/static/image/order/icon_search.png"
|
|
|
+ @search="$uv.throttle(search, 1000)"
|
|
|
+ @custom="$uv.throttle(search, 1000)"
|
|
|
>
|
|
|
<template #suffix>
|
|
|
- <view class="search-action" @tap.stop="onSearch">搜索</view>
|
|
|
+ <view class="search-action">搜索</view>
|
|
|
</template>
|
|
|
</uv-search>
|
|
|
</view>
|
|
|
</view>
|
|
|
</uv-sticky>
|
|
|
- <!-- <view style="height: 110rpx;"></view> -->
|
|
|
+ <!-- <view style="height: 86rpx"></view> -->
|
|
|
<view class="u-skeleton">
|
|
|
<view class="banner" v-if="bannerList.length > 0 || skeletonShow">
|
|
|
<!-- <image src="/static/shop/banner.png" mode="aspectFill"></image> -->
|
|
|
<uv-swiper
|
|
|
class="u-skeleton-fillet"
|
|
|
:list="bannerList"
|
|
|
- name="cover"
|
|
|
- height="360"
|
|
|
- :mode="bannerList.length > 1 ? 'round' : 'none'"
|
|
|
- bg-color="transparent"
|
|
|
- @click="bannerClick"
|
|
|
+ keyName="image"
|
|
|
+ height="360rpx"
|
|
|
+ :indicatorMode="bannerList.length > 1 ? 'round' : 'none'"
|
|
|
+ bgColor="transparent"
|
|
|
></uv-swiper>
|
|
|
</view>
|
|
|
- <view
|
|
|
- class="menu"
|
|
|
- v-if="iconList.length > 0 || skeletonShow"
|
|
|
- >
|
|
|
+ <view class="menu" v-if="iconList.length > 0 || skeletonShow">
|
|
|
<swiper
|
|
|
class="swiper u-skeleton-fillet"
|
|
|
:indicator-dots="true"
|
|
|
@@ -81,117 +73,52 @@
|
|
|
</swiper>
|
|
|
</view>
|
|
|
<view class="con-box">
|
|
|
- <!-- <uv-section class="u-skeleton-fillet" title="附近门店" font-size="36" :bold="true" color="#333333" :show-line="false"
|
|
|
- sub-title="查看更多" sub-color="#333333" @click="goShop()">
|
|
|
- </uv-section> -->
|
|
|
<view class="store-bg">
|
|
|
<image class="store-bg-image" src="/static/store.png" mode="">
|
|
|
</image>
|
|
|
<view class="store-bg-btn" @click="goShop()">
|
|
|
<text class="text">查看更多</text>
|
|
|
- <uv-icon name="arrow-right" color="#fbbd1c" size="24"></uv-icon>
|
|
|
+ <uv-icon name="arrow-right" color="#fbbd1c" size="24rpx"></uv-icon>
|
|
|
</view>
|
|
|
</view>
|
|
|
<view class="items">
|
|
|
- <view
|
|
|
- class="item"
|
|
|
- v-for="(v, index) in listData"
|
|
|
- :key="v.shop_id"
|
|
|
- @click="goDetails(v)"
|
|
|
- >
|
|
|
- <view class="shop-img">
|
|
|
- <image
|
|
|
- class="u-skeleton-fillet"
|
|
|
- :src="v.logo"
|
|
|
- mode="aspectFill"
|
|
|
- ></image>
|
|
|
- </view>
|
|
|
- <view class="right">
|
|
|
- <view class="title u-skeleton-fillet">{{
|
|
|
- v.shop_name || "加载中"
|
|
|
- }}</view>
|
|
|
- <view class="score-box u-skeleton-fillet">
|
|
|
- <view class="score">
|
|
|
- <rate :value="Math.round(v.average || 0)"></rate>
|
|
|
- </view>
|
|
|
- <text class="score-text"
|
|
|
- >{{ v.average ? v.average.toFixed(2) : "" }}分</text
|
|
|
- >
|
|
|
- <text class="ju"
|
|
|
- >距离:{{
|
|
|
- Math.round((v.distance / 1000) * 100) / 100
|
|
|
- }}KM</text
|
|
|
- >
|
|
|
- </view>
|
|
|
- <view class="address-box u-skeleton-fillet">
|
|
|
- <view class="left">
|
|
|
- <!-- <image class="location1" :src="$getImgPath('/static/shop/location-icon.png')" mode="widthFix">
|
|
|
- </image> -->
|
|
|
- <uv-icon name="map" color="#999999" size="34"></uv-icon>
|
|
|
- <view class="district">{{
|
|
|
- v.map_punctuation || "商户暂无地理位置"
|
|
|
- }}</view>
|
|
|
- </view>
|
|
|
- <view class="goShopping">
|
|
|
- <text class="iconfont3"></text>
|
|
|
- <text class="text">去逛逛</text>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <!-- <view class="location2-box">
|
|
|
- <image class="location2" src="/static/convenienceService/location2.png" mode="widthFix">
|
|
|
- </image>
|
|
|
- <view>{{v.map_punctuation}}></view>
|
|
|
- </view> -->
|
|
|
- </view>
|
|
|
- </view>
|
|
|
+ <ShopItem v-for="(v, index) in RowsList" :key="v.businessId" :v="v" />
|
|
|
</view>
|
|
|
</view>
|
|
|
<view>
|
|
|
- <noData v-if="listData.length <= 0" :config="{ top: 2 }"></noData>
|
|
|
+ <loadMore v-if="RowsList.length > 0" :status="LoadStatus"></loadMore>
|
|
|
+ <noData v-if="RowsList.length <= 0" :config="{ top: 2 }"></noData>
|
|
|
</view>
|
|
|
- <!-- <uv-loadmore :status="loadStatus" /> -->
|
|
|
<uv-skeleton
|
|
|
:loading="skeletonShow"
|
|
|
:animation="true"
|
|
|
bgColor="#FFF"
|
|
|
></uv-skeleton>
|
|
|
</view>
|
|
|
- <!-- 选择地区 -->
|
|
|
- <uv-select
|
|
|
- v-model="addressShow"
|
|
|
- mode="mutil-column-auto"
|
|
|
- :list="cityTree"
|
|
|
+
|
|
|
+ <!-- 地区选择 -->
|
|
|
+ <RegionSelection
|
|
|
+ ref="regionSelectionRef"
|
|
|
+ :hierarchy="2"
|
|
|
@confirm="addressConfirm"
|
|
|
- >
|
|
|
- </uv-select>
|
|
|
- <!-- <entrepreneurship-zone-tabbar :current="2"></entrepreneurship-zone-tabbar> -->
|
|
|
+ />
|
|
|
</view>
|
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
|
import { computed, reactive, ref } from "vue";
|
|
|
import { onLoad, onPullDownRefresh } from "@dcloudio/uni-app";
|
|
|
-import throttle from "@/uni_modules/uv-ui-tools/libs/function/throttle.js";
|
|
|
-import rate from "@/components/rate/rate.vue";
|
|
|
-import noData from "@/components/noData/noData.vue";
|
|
|
-
|
|
|
-const $http = uni.$http || {
|
|
|
- get: (url, params) => uni.$uv.http.get(url, { params }),
|
|
|
- post: (url, data) => uni.$uv.http.post(url, data),
|
|
|
-};
|
|
|
-const $mUtil = uni.$mUtil;
|
|
|
+import { getAdList_Api, getQuickLinkList_Api } from "@/api/index.js";
|
|
|
+import { getBusinessPage } from "@/api/shop.js";
|
|
|
+import { usePageData } from "@/hooks/usePageData.ts";
|
|
|
+import ShopItem from "../nearbyShop/components/ShopItem.vue";
|
|
|
|
|
|
-const listData = ref([]);
|
|
|
+const { RowsList, LoadStatus, initData } = usePageData(getBusinessPage);
|
|
|
+const regionSelectionRef = ref(null);
|
|
|
const cityName = ref("洪山区");
|
|
|
-const addressShow = ref(false);
|
|
|
const param = reactive({
|
|
|
- shop_name: "",
|
|
|
- lon: "",
|
|
|
- lat: "",
|
|
|
- area_code: "",
|
|
|
- address: "",
|
|
|
+ keyword: "",
|
|
|
});
|
|
|
-const cityTree = ref([]);
|
|
|
const iconList = ref([]);
|
|
|
const bannerList = ref([]);
|
|
|
const current = ref(0);
|
|
|
@@ -202,12 +129,6 @@ const menuHeight = computed(() => {
|
|
|
return items.length > 5 ? "350rpx" : "150rpx";
|
|
|
});
|
|
|
|
|
|
-const chunk = (arr, size) => {
|
|
|
- const res = [];
|
|
|
- for (let i = 0; i < arr.length; i += size) res.push(arr.slice(i, i + size));
|
|
|
- return res;
|
|
|
-};
|
|
|
-
|
|
|
const goShop = (item = {}) => {
|
|
|
uni.navigateTo({
|
|
|
url:
|
|
|
@@ -215,45 +136,33 @@ const goShop = (item = {}) => {
|
|
|
(item.id || "") +
|
|
|
"&cityName=" +
|
|
|
cityName.value +
|
|
|
- "&address=" +
|
|
|
- (param.address || "") +
|
|
|
- "&area_code=" +
|
|
|
- (param.area_code || ""),
|
|
|
+ "&cityCode=" +
|
|
|
+ (param.cityCode || ""),
|
|
|
});
|
|
|
};
|
|
|
-
|
|
|
+// 获取banner广告
|
|
|
const getBanner = () => {
|
|
|
- return $http.get("/ad/ad/getByCode/localMerchant-banner").then((res) => {
|
|
|
+ getAdList_Api("local_life_banner").then((res) => {
|
|
|
if (res && res.code == 200) {
|
|
|
- bannerList.value = res.list || [];
|
|
|
+ bannerList.value = res.data || [];
|
|
|
} else {
|
|
|
bannerList.value = [];
|
|
|
}
|
|
|
});
|
|
|
};
|
|
|
|
|
|
-const bannerClick = (index) => {
|
|
|
- const item = bannerList.value[index];
|
|
|
- if (!item) return;
|
|
|
- $mUtil?.imgLink?.(item);
|
|
|
-};
|
|
|
-
|
|
|
-const getCitys = () => {
|
|
|
- return $http.get("/cnarea/tree-lbs").then((res) => {
|
|
|
- if (res && res.code == 200) {
|
|
|
- const list = res.tree?.children || [];
|
|
|
- list.forEach((v) => {
|
|
|
- if (!v.children || v.children.length <= 0) v.children = [{}];
|
|
|
- });
|
|
|
- cityTree.value = list;
|
|
|
- }
|
|
|
- });
|
|
|
+// 分组
|
|
|
+const chunk = (arr, size) => {
|
|
|
+ const res = [];
|
|
|
+ for (let i = 0; i < arr.length; i += size) res.push(arr.slice(i, i + size));
|
|
|
+ return res;
|
|
|
};
|
|
|
|
|
|
+// 获取分类列表
|
|
|
const getTypeList = () => {
|
|
|
- return $http.get("/union/business/classify/list").then((res) => {
|
|
|
+ getQuickLinkList_Api("local_life").then((res) => {
|
|
|
if (res && res.code == 200) {
|
|
|
- const list = res.list || [];
|
|
|
+ const list = res.data || [];
|
|
|
iconList.value = chunk(list, 10);
|
|
|
current.value = 0;
|
|
|
} else {
|
|
|
@@ -262,6 +171,7 @@ const getTypeList = () => {
|
|
|
});
|
|
|
};
|
|
|
|
|
|
+// 获取当前位置
|
|
|
const getLocation = () =>
|
|
|
new Promise((resolve, reject) => {
|
|
|
uni.getLocation({
|
|
|
@@ -272,82 +182,38 @@ const getLocation = () =>
|
|
|
});
|
|
|
});
|
|
|
|
|
|
-const getList = () => {
|
|
|
- uni.showLoading({ title: "努力加载中...", mask: true });
|
|
|
- return $http
|
|
|
- .get("/service/goods/nearby", { ...param })
|
|
|
- .then((res) => {
|
|
|
- if (res && res.code == 200) {
|
|
|
- listData.value = res.list || [];
|
|
|
- } else {
|
|
|
- listData.value = [];
|
|
|
- }
|
|
|
- })
|
|
|
- .finally(() => {
|
|
|
- uni.hideLoading();
|
|
|
- });
|
|
|
-};
|
|
|
-
|
|
|
-const getLoca = async () => {
|
|
|
- try {
|
|
|
- const res = await getLocation();
|
|
|
- param.lon = res.longitude;
|
|
|
- param.lat = res.latitude;
|
|
|
- } catch (e) {
|
|
|
- param.lon = "";
|
|
|
- param.lat = "";
|
|
|
- }
|
|
|
- await getList();
|
|
|
-};
|
|
|
-
|
|
|
const swiperChange = (e) => {
|
|
|
if (!e) return;
|
|
|
current.value = e.detail.current;
|
|
|
};
|
|
|
-
|
|
|
-const addressConfirm = (e) => {
|
|
|
- const picked = [...(e || [])].reverse().find((i) => i && i.value) || e?.[0];
|
|
|
- cityName.value = picked?.label || cityName.value;
|
|
|
- param.area_code = picked?.value || "";
|
|
|
- param.address = "";
|
|
|
- getList();
|
|
|
+// 地区选择确认
|
|
|
+const addressConfirm = (e = {}) => {
|
|
|
+ // console.log(e);
|
|
|
+ const picked = e.areaName || e.cityName || e.provinceName;
|
|
|
+ cityName.value = picked || cityName.value;
|
|
|
+ Object.assign(param, { ...e });
|
|
|
+ initData(param);
|
|
|
};
|
|
|
|
|
|
-const goDetails = (v) => {
|
|
|
- uni.navigateTo({
|
|
|
- url: "/pages/convenienceService/shopDetails?shopId=" + v.shop_id,
|
|
|
+onLoad(() => {
|
|
|
+ getBanner();
|
|
|
+ getTypeList();
|
|
|
+ getLocation().then((res) => {
|
|
|
+ console.log("当前位置", res);
|
|
|
+ param.longitude = res.longitude;
|
|
|
+ param.latitude = res.latitude;
|
|
|
+ initData({
|
|
|
+ latitude: res.latitude,
|
|
|
+ longitude: res.longitude,
|
|
|
+ });
|
|
|
});
|
|
|
-};
|
|
|
-
|
|
|
-const search = () => getList();
|
|
|
-const onSearch = throttle(search, 1000);
|
|
|
-
|
|
|
-const searchCustomStyle = {
|
|
|
- position: "relative",
|
|
|
-};
|
|
|
-const searchBoxStyle = {
|
|
|
- paddingLeft: "27rpx",
|
|
|
- borderRadius: "36rpx",
|
|
|
-};
|
|
|
-const searchInputStyle = {
|
|
|
- marginLeft: "22rpx",
|
|
|
- paddingRight: "20rpx",
|
|
|
-};
|
|
|
-
|
|
|
-const initPage = async () => {
|
|
|
- skeletonShow.value = true;
|
|
|
- await Promise.allSettled([getCitys(), getTypeList(), getBanner(), getLoca()]);
|
|
|
skeletonShow.value = false;
|
|
|
-};
|
|
|
-
|
|
|
-onLoad(() => {
|
|
|
- initPage();
|
|
|
+ // initData();
|
|
|
});
|
|
|
|
|
|
onPullDownRefresh(() => {
|
|
|
- Promise.allSettled([getTypeList(), getBanner(), getLoca()]).finally(() => {
|
|
|
- uni.stopPullDownRefresh();
|
|
|
- });
|
|
|
+ getBanner();
|
|
|
+ getTypeList();
|
|
|
});
|
|
|
</script>
|
|
|
|
|
|
@@ -360,14 +226,15 @@ onPullDownRefresh(() => {
|
|
|
// display: flex;
|
|
|
// justify-content: space-between;
|
|
|
// align-items: center;
|
|
|
- padding: 0 30rpx 26rpx 30rpx;
|
|
|
+ padding: 10rpx 30rpx 26rpx 30rpx;
|
|
|
background-color: #fbcd17;
|
|
|
// z-index: 3;
|
|
|
+ box-sizing: border-box;
|
|
|
}
|
|
|
|
|
|
.city-text {
|
|
|
margin-right: 12rpx;
|
|
|
- font-size: 30rpx;
|
|
|
+ font-size: 28rpx;
|
|
|
font-family: PingFang SC, PingFang SC-Regular;
|
|
|
font-weight: 400;
|
|
|
text-align: center;
|
|
|
@@ -394,8 +261,9 @@ onPullDownRefresh(() => {
|
|
|
.searchBox {
|
|
|
position: relative;
|
|
|
flex: 1;
|
|
|
+ box-sizing: border-box;
|
|
|
// width: 580rpx;
|
|
|
- height: 80rpx;
|
|
|
+ // height: 80rpx;
|
|
|
|
|
|
image {
|
|
|
width: 35rpx;
|
|
|
@@ -414,56 +282,17 @@ onPullDownRefresh(() => {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
justify-content: center;
|
|
|
- margin-right: 5rpx;
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-.navbar {
|
|
|
- position: fixed;
|
|
|
- top: 0;
|
|
|
- left: 0;
|
|
|
- width: 100%;
|
|
|
- height: 90rpx;
|
|
|
- text-align: center;
|
|
|
- line-height: 90rpx;
|
|
|
- z-index: 9;
|
|
|
- background-color: #fff;
|
|
|
-
|
|
|
- .title {
|
|
|
- font-size: 36rpx;
|
|
|
- font-family: PingFang SC, PingFang SC-Regular;
|
|
|
- font-weight: 400;
|
|
|
- text-align: center;
|
|
|
- color: #1a1a1a;
|
|
|
- }
|
|
|
-
|
|
|
- .left {
|
|
|
- position: absolute;
|
|
|
- top: 50%;
|
|
|
- left: 30rpx;
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- font-size: 30rpx;
|
|
|
- font-family: PingFang SC, PingFang SC-Regular;
|
|
|
- font-weight: 400;
|
|
|
- text-align: center;
|
|
|
- color: #1a1a1a;
|
|
|
- transform: translateY(-50%);
|
|
|
-
|
|
|
- .city-icon {
|
|
|
- width: 19rpx;
|
|
|
- height: 12rpx;
|
|
|
- margin-left: 5rpx;
|
|
|
+ margin-right: 0rpx;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
.banner {
|
|
|
width: 100%;
|
|
|
- height: 350rpx;
|
|
|
+ height: 360rpx;
|
|
|
// padding: 0rpx 30rpx 0;
|
|
|
margin-bottom: 20rpx;
|
|
|
+ box-sizing: border-box;
|
|
|
|
|
|
image {
|
|
|
width: 100%;
|
|
|
@@ -471,7 +300,8 @@ onPullDownRefresh(() => {
|
|
|
}
|
|
|
|
|
|
::v-deep uni-swiper {
|
|
|
- height: 350rpx !important;
|
|
|
+ height: 360rpx !important;
|
|
|
+ box-sizing: border-box;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -552,7 +382,7 @@ onPullDownRefresh(() => {
|
|
|
justify-content: space-between;
|
|
|
padding: 30rpx;
|
|
|
box-sizing: border-box;
|
|
|
- background: url("/static/store_bg.png") no-repeat;
|
|
|
+ // background: url("/static/store_bg.png") no-repeat;
|
|
|
background-size: 100% 117rpx;
|
|
|
|
|
|
.store-bg-image {
|
|
|
@@ -583,147 +413,6 @@ onPullDownRefresh(() => {
|
|
|
|
|
|
.items {
|
|
|
padding: 0 30rpx;
|
|
|
- .item {
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- padding: 25rpx 0;
|
|
|
- // border-bottom: 1rpx solid #e6e6e6;
|
|
|
-
|
|
|
- .shop-img {
|
|
|
- width: 162rpx;
|
|
|
- height: 158rpx;
|
|
|
- margin-right: 40rpx;
|
|
|
- border-radius: 10rpx;
|
|
|
- overflow: hidden;
|
|
|
- flex-shrink: 0;
|
|
|
-
|
|
|
- image {
|
|
|
- width: 100%;
|
|
|
- height: 100%;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .right {
|
|
|
- flex: 1;
|
|
|
- width: 0;
|
|
|
-
|
|
|
- .score-box,
|
|
|
- .address-box,
|
|
|
- .location2-box {
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- font-size: 24rpx;
|
|
|
- font-family: PingFang SC, PingFang SC-Regular;
|
|
|
- font-weight: 400;
|
|
|
- }
|
|
|
-
|
|
|
- .location1,
|
|
|
- .location2 {
|
|
|
- width: 20rpx;
|
|
|
- height: 27rpx;
|
|
|
- flex-shrink: 0;
|
|
|
- margin-right: 9rpx;
|
|
|
- }
|
|
|
-
|
|
|
- .light-start,
|
|
|
- .startt {
|
|
|
- width: 30rpx;
|
|
|
- height: 30rpx;
|
|
|
- margin-right: 12rpx;
|
|
|
- }
|
|
|
-
|
|
|
- .title {
|
|
|
- margin-bottom: 18rpx;
|
|
|
- font-size: 28rpx;
|
|
|
- font-family: PingFang SC, PingFang SC-Regular;
|
|
|
- color: #1a1a1a;
|
|
|
- }
|
|
|
-
|
|
|
- .score-box {
|
|
|
- display: flex;
|
|
|
- align-items: normal;
|
|
|
- margin-bottom: 10rpx;
|
|
|
- font-family: PingFang SC, PingFang SC-Semibold;
|
|
|
- color: #333333;
|
|
|
-
|
|
|
- .score {
|
|
|
- flex-shrink: 0;
|
|
|
- }
|
|
|
-
|
|
|
- .score-text {
|
|
|
- font-size: 24rpx;
|
|
|
- font-family: PingFang SC, PingFang SC-Medium;
|
|
|
- font-weight: 500;
|
|
|
- text-align: left;
|
|
|
- color: #333333;
|
|
|
- flex-shrink: 0;
|
|
|
- }
|
|
|
-
|
|
|
- .ju {
|
|
|
- margin-left: 23rpx;
|
|
|
- font-size: 24rpx;
|
|
|
- color: #808080;
|
|
|
- text-align: left;
|
|
|
- overflow: hidden;
|
|
|
- text-overflow: ellipsis;
|
|
|
- white-space: nowrap;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .address-box {
|
|
|
- // margin-bottom: 10rpx;
|
|
|
- font-family: PingFang SC;
|
|
|
- color: #666666;
|
|
|
- justify-content: space-between;
|
|
|
-
|
|
|
- .left {
|
|
|
- flex: 1;
|
|
|
- width: 0;
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- font-size: 24rpx;
|
|
|
- font-family: PingFang SC, PingFang SC-Regular;
|
|
|
- font-weight: 400;
|
|
|
- text-align: left;
|
|
|
- color: #333333;
|
|
|
- }
|
|
|
-
|
|
|
- .goShopping {
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- font-size: 40rpx;
|
|
|
- color: #fa6138;
|
|
|
- flex-shrink: 0;
|
|
|
-
|
|
|
- .text {
|
|
|
- font-size: 24rpx;
|
|
|
- font-family: PingFang SC, PingFang SC-Medium;
|
|
|
- font-weight: 500;
|
|
|
- text-align: left;
|
|
|
- color: #666666;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .district {
|
|
|
- color: #1a1a1a;
|
|
|
- margin-right: 40rpx;
|
|
|
- overflow: hidden;
|
|
|
- text-overflow: ellipsis;
|
|
|
- white-space: nowrap;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .location2-box {
|
|
|
- color: #333333;
|
|
|
-
|
|
|
- view {
|
|
|
- overflow: hidden;
|
|
|
- text-overflow: ellipsis;
|
|
|
- white-space: nowrap;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
}
|
|
|
}
|
|
|
</style>
|