修改样式
This commit is contained in:
@@ -59,6 +59,8 @@ defineProps({
|
||||
left: 0;
|
||||
width: 100%;
|
||||
z-index: 10;
|
||||
background-color: #fff;
|
||||
|
||||
|
||||
.titleBar {
|
||||
display: flex;
|
||||
@@ -84,7 +86,6 @@ defineProps({
|
||||
}
|
||||
}
|
||||
|
||||
.fill {
|
||||
}
|
||||
|
||||
}
|
||||
</style>
|
||||
|
95
pages.json
95
pages.json
@@ -9,9 +9,17 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/login/login",
|
||||
"path": "pages/shoppingMall/shoppingMall",
|
||||
"style": {
|
||||
"navigationBarTitleText": "登陆"
|
||||
"navigationBarTitleText": "",
|
||||
"navigationBarBackgroundColor": "#FFFFFF"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/honeySource/honeySource",
|
||||
"style": {
|
||||
"navigationBarTitleText": "",
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -22,35 +30,30 @@
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/login/login",
|
||||
"style": {
|
||||
"navigationBarTitleText": "登陆"
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
{
|
||||
"path": "pages/messagePage/messagePage",
|
||||
"style": {
|
||||
"navigationBarTitleText": "消息",
|
||||
"navigationBarBackgroundColor": "#FFFFFF"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/shoppingMall/shoppingMall",
|
||||
"style": {
|
||||
"navigationBarTitleText": "商场",
|
||||
"navigationBarBackgroundColor": "#FFFFFF"
|
||||
"navigationBarTitleText": "",
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "pages/shoppingCart/shoppingCart",
|
||||
"style": {
|
||||
"navigationBarTitleText": "购物车",
|
||||
"navigationBarBackgroundColor": "#ffffff"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/mine/mine",
|
||||
"style": {
|
||||
"navigationBarTitleText": "我的蜂箱",
|
||||
"navigationBarBackgroundColor": "#ffffff"
|
||||
"navigationBarTitleText" : "",
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "pages/beeHiveData/beeHiveData",
|
||||
"style": {
|
||||
@@ -69,7 +72,7 @@
|
||||
{
|
||||
"path": "pages/shoppingMall/shopDetails",
|
||||
"style": {
|
||||
"navigationBarTitleText": "商品详情",
|
||||
"navigationBarTitleText": "",
|
||||
"navigationStyle": "custom"
|
||||
|
||||
}
|
||||
@@ -77,18 +80,12 @@
|
||||
{
|
||||
"path": "pages/shoppingMall/shoppingPay",
|
||||
"style": {
|
||||
"navigationBarTitleText": "购物支付",
|
||||
"navigationBarTitleText": "",
|
||||
"navigationStyle": "custom"
|
||||
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/honeySource/honeySource",
|
||||
"style": {
|
||||
"navigationBarTitleText": "",
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"path": "pages/homePage/collectBee",
|
||||
"style": {
|
||||
@@ -108,32 +105,32 @@
|
||||
"path": "pages/smartBee/smartBee",
|
||||
"style" :
|
||||
{
|
||||
"navigationBarTitleText" : "智能养蜂",
|
||||
"navigationBarBackgroundColor": "#ffffff"
|
||||
"navigationBarTitleText" : "",
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/surveyList/surveyList",
|
||||
"style" :
|
||||
{
|
||||
"navigationBarTitleText" : "问卷列表",
|
||||
"navigationBarBackgroundColor": "#ffffff"
|
||||
"navigationBarTitleText" : "",
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/surveyList/surveyDetail",
|
||||
"style" :
|
||||
{
|
||||
"navigationBarTitleText" : "问卷调查",
|
||||
"navigationBarBackgroundColor": "#ffffff"
|
||||
"navigationBarTitleText" : "",
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/customerService/customerService",
|
||||
"style" :
|
||||
{
|
||||
"navigationBarTitleText" : "联系客服",
|
||||
"navigationBarBackgroundColor": "#ffffff"
|
||||
"navigationBarTitleText" : "",
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
|
||||
@@ -175,43 +172,43 @@
|
||||
{
|
||||
"path": "pages/userInfo/userInfo",
|
||||
"style": {
|
||||
"navigationBarTitleText": "编辑信息",
|
||||
"navigationBarBackgroundColor": "#ffffff"
|
||||
"navigationBarTitleText": "",
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/withdraw/withdraw",
|
||||
"style": {
|
||||
"navigationBarTitleText": "我的钱包",
|
||||
"navigationBarBackgroundColor": "#ffffff"
|
||||
"navigationBarTitleText" : "",
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/adoptionRecords/adoptionRecords",
|
||||
"style": {
|
||||
"navigationBarTitleText": "认养记录",
|
||||
"navigationBarBackgroundColor": "#ffffff"
|
||||
"navigationBarTitleText": "",
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/orderList/orderList",
|
||||
"style": {
|
||||
"navigationBarTitleText": "订单列表",
|
||||
"navigationBarBackgroundColor": "#ffffff"
|
||||
"navigationBarTitleText": "",
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/userInfo/addressList",
|
||||
"style": {
|
||||
"navigationBarTitleText": "地址列表",
|
||||
"navigationBarBackgroundColor": "#ffffff"
|
||||
"navigationBarTitleText": "",
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/userInfo/addressEdit",
|
||||
"style": {
|
||||
"navigationBarTitleText": "编辑地址",
|
||||
"navigationBarBackgroundColor": "#ffffff"
|
||||
"navigationBarTitleText": "",
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@@ -1,4 +1,6 @@
|
||||
<template>
|
||||
<view>
|
||||
<TransNavVue title="认养记录" />
|
||||
<view class="container">
|
||||
<!-- 导航栏 -->
|
||||
<view class="nav-tabs">
|
||||
@@ -40,12 +42,14 @@
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, computed , onMounted} from 'vue';
|
||||
import { request } from '@/utils/request'
|
||||
import { useTokenStorage } from '../../utils/storage'
|
||||
import TransNavVue from '../../components/TransNav.vue';
|
||||
const { getAccessToken } = useTokenStorage()
|
||||
|
||||
const tabs = [
|
||||
|
@@ -1,7 +1,9 @@
|
||||
<template>
|
||||
<view>
|
||||
<TransNavVue title="蜂农认证"/>
|
||||
<view class="container">
|
||||
<image class="container-bg" src="/static/images/homePage/homePageBg.png" mode=""></image>
|
||||
<TransNavVue title="蜂农认证"></TransNavVue>
|
||||
|
||||
<image class="poster-image" src="/static/images/mypage/beeEnterBg.png" mode=""></image>
|
||||
<text class="jion-text">未入驻平台</text>
|
||||
<view class="tips-content">
|
||||
@@ -18,6 +20,7 @@
|
||||
祝福如春风般温暖,如夏雨般滋润,如秋月般皎洁,如冬雪般纯净。愿你的每一天都充满阳光和欢笑,每一步都走向成功和幸福。</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
|
@@ -1,7 +1,9 @@
|
||||
<template>
|
||||
<view>
|
||||
<TransNavVue title="入驻"/>
|
||||
<view class="container">
|
||||
<image src="/static/images/myPage/BeeEnterInfoBg.png" class="container-bg" mode=""></image>
|
||||
<TransNavVue title="入驻"></TransNavVue>
|
||||
|
||||
<view class="title-content">
|
||||
填写信息
|
||||
<text class="tips">填写相关信息,完成入驻</text>
|
||||
@@ -17,6 +19,7 @@
|
||||
<button class="submit-btn" @click="enterBtn">入驻</button>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
|
@@ -1,4 +1,6 @@
|
||||
<template>
|
||||
<view>
|
||||
<TransNavVue title="采蜂蜜"/>
|
||||
<view>
|
||||
<GetHivePupopVue v-model:show="showPopup" />
|
||||
<view class="container">
|
||||
@@ -38,12 +40,14 @@
|
||||
</template>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref } from 'vue';
|
||||
import introductionV3 from '@/components/Introduction.vue';
|
||||
import GetHivePupopVue from '../../components/GetHivePupop.vue';
|
||||
import TransNavVue from '../../components/TransNav.vue';
|
||||
|
||||
const showPopup = ref(false)
|
||||
const hasHive = ref(false);
|
||||
|
@@ -1,7 +1,9 @@
|
||||
<template>
|
||||
<view>
|
||||
<TransNavVue title="蜂场数据"/>
|
||||
<view class="container">
|
||||
<image src="/static/images/homePage/homePageBg.png" mode="" class="bg-image"></image>
|
||||
<TransNavVue title="蜂场数据"></TransNavVue>
|
||||
|
||||
<view class="data-panel">
|
||||
<image class="panel-bg" src="/static/images/homePage/data-bg.png" mode=""></image>
|
||||
<view class="data-content">
|
||||
@@ -41,6 +43,7 @@
|
||||
</view>
|
||||
<view class="safe-view"></view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
|
@@ -1,6 +1,8 @@
|
||||
<template>
|
||||
<view>
|
||||
<TransNavVue title="微信提现"/>
|
||||
<view class="container">
|
||||
<TransNavVue title="微信提现"></TransNavVue>
|
||||
|
||||
|
||||
|
||||
<view class="withdraw-card">
|
||||
@@ -23,6 +25,7 @@
|
||||
|
||||
<view class="withdraw-btn" @click="submitWithdraw">申请提现</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
|
@@ -1,7 +1,9 @@
|
||||
<template>
|
||||
<view>
|
||||
<TransNavVue title="推广佣金"></TransNavVue>
|
||||
<view class="container">
|
||||
<image src="/static/images/myPage/yjng.png" mode="" class="bg-image"></image>
|
||||
<TransNavVue title="推广佣金"></TransNavVue>
|
||||
|
||||
<view class="top-box">
|
||||
<view>邀好友 得现金</view>
|
||||
<text>邀请越多 奖励越多</text>
|
||||
@@ -54,6 +56,7 @@
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
@@ -128,7 +131,7 @@ onMounted(() => {
|
||||
<style lang="scss" scoped>
|
||||
.container {
|
||||
background-color: #f7f7f7;
|
||||
|
||||
height: 100vh;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
display: flex;
|
||||
|
@@ -1,4 +1,6 @@
|
||||
<template>
|
||||
<view>
|
||||
<TransNavVue title="联系客服"/>
|
||||
<view class="container">
|
||||
<view class="content">
|
||||
<view class="qr-code-section">
|
||||
@@ -22,11 +24,13 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, onMounted } from 'vue';
|
||||
import { request } from '@/utils/request';
|
||||
import TransNavVue from '../../components/TransNav.vue';
|
||||
|
||||
const qrCodeUrl = ref('/static/images/logo.png'); // 默认图片
|
||||
|
||||
|
@@ -1,6 +1,8 @@
|
||||
<template>
|
||||
<view class="container">
|
||||
<view>
|
||||
<TransNavVue title="设备管理"></TransNavVue>
|
||||
<view class="container">
|
||||
|
||||
<view class="header">
|
||||
<text class="title">总设备:{{devices.length}}台</text>
|
||||
</view>
|
||||
@@ -39,6 +41,7 @@
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
|
@@ -1,6 +1,8 @@
|
||||
<template>
|
||||
<view class="container">
|
||||
<view>
|
||||
<TransNavVue title="认养一箱蜂"></TransNavVue>
|
||||
<view class="container">
|
||||
|
||||
<view class="collect-box" v-for="item in beehiveList" :key="item.id">
|
||||
<view class="collect-img"></view>
|
||||
<view class="collect-info">
|
||||
@@ -11,6 +13,7 @@
|
||||
<view class="pddBtn" v-if="item.adoptionType == 2" @click="handleBuy(item)">¥{{item.sharePrice}}拼团</view>
|
||||
<view class="pddBtn" v-else @click="handleBuy(item)">¥{{item.price}}购买</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
@@ -115,6 +115,8 @@
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
||||
|
||||
</view>
|
||||
<view v-else class="no-bee">
|
||||
<image src="/static/images/homePage/noData.png" mode=""></image>
|
||||
@@ -303,19 +305,24 @@ const scanCode = () => {
|
||||
<style lang="scss" scoped>
|
||||
.container {
|
||||
background-color: #f7f7f7;
|
||||
padding-bottom: 40rpx;
|
||||
padding-bottom: 35rpx;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: 100vh; // 新增:设置容器高度为视窗高度
|
||||
|
||||
.bg-image {
|
||||
width: 100%;
|
||||
height: 374rpx;
|
||||
position: absolute;
|
||||
position: fixed; // 修改:改为fixed定位
|
||||
z-index: -1;
|
||||
}
|
||||
.title-bar {
|
||||
position: sticky; // 新增:标题栏固定
|
||||
top: 0;
|
||||
z-index: 10;
|
||||
background-color: transparent;
|
||||
.logo-image {
|
||||
width: 205rpx;
|
||||
height: 70rpx;
|
||||
@@ -324,6 +331,8 @@ const scanCode = () => {
|
||||
}
|
||||
.scroll-view {
|
||||
flex: 1;
|
||||
overflow-y: auto; // 确保可滚动
|
||||
|
||||
height: 300rpx;
|
||||
.swiper-content {
|
||||
height: 340rpx;
|
||||
|
@@ -1,4 +1,42 @@
|
||||
|
||||
<template>
|
||||
<view> <BeeTabbarVue active-tab="monitorPage"></BeeTabbarVue>
|
||||
<view class="container">
|
||||
<image src="/static/images/homePage/homePageBg.png" mode="aspectFill" class="bg-image"></image>
|
||||
<view :style="{ height: getStatusBarHeight() + 'px' }"></view>
|
||||
<view class="title-bar" :style="{ height: getTitleBarHeight() + 'px' }"></view>
|
||||
|
||||
|
||||
<view class="map-container">
|
||||
<map
|
||||
id="map"
|
||||
style="width: 100%; height: 500rpx;"
|
||||
:latitude="30.5728"
|
||||
:longitude="104.0668"
|
||||
:markers="markers"
|
||||
show-location
|
||||
></map>
|
||||
</view>
|
||||
|
||||
<view class="my-bee-title">
|
||||
<view>推荐蜜源</view>
|
||||
<image src="/static/images/homePage/myBeeTitle.png" mode="" class="title-image"></image>
|
||||
</view>
|
||||
<view class="bee-list-center">
|
||||
<view class="bee-list-box" v-for="(item,index) in honeySourceList" :key="index">
|
||||
<view class="bee-item-img">
|
||||
<image :src=item.imgUrl style="width: 100%; height: 100%;"></image>
|
||||
</view>
|
||||
<view class="bee-item-title">
|
||||
<text>{{item.name}}</text>
|
||||
<view class="bee-item-address">{{item.address}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
<script setup>
|
||||
import { getStatusBarHeight, getTitleBarHeight } from '../../utils/system';
|
||||
import BeeTabbarVue from '../../components/BeeTabbar.vue';
|
||||
@@ -70,46 +108,6 @@ onMounted(() => {
|
||||
});
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<view> <BeeTabbarVue active-tab="monitorPage"></BeeTabbarVue>
|
||||
<view class="container">
|
||||
<image src="/static/images/homePage/homePageBg.png" mode="aspectFill" class="bg-image"></image>
|
||||
<view :style="{ height: getStatusBarHeight() + 'px' }"></view>
|
||||
<view class="title-bar" :style="{ height: getTitleBarHeight() + 'px' }">
|
||||
<view>蜜源</view>
|
||||
</view>
|
||||
|
||||
|
||||
<view class="map-container">
|
||||
<map
|
||||
id="map"
|
||||
style="width: 100%; height: 500rpx;"
|
||||
:latitude="30.5728"
|
||||
:longitude="104.0668"
|
||||
:markers="markers"
|
||||
show-location
|
||||
></map>
|
||||
</view>
|
||||
|
||||
<view class="my-bee-title">
|
||||
<view>推荐蜜源</view>
|
||||
<image src="/static/images/homePage/myBeeTitle.png" mode="" class="title-image"></image>
|
||||
</view>
|
||||
<view class="bee-list-center">
|
||||
<view class="bee-list-box" v-for="(item,index) in honeySourceList" :key="index">
|
||||
<view class="bee-item-img">
|
||||
<image :src=item.imgUrl style="width: 100%; height: 100%;"></image>
|
||||
</view>
|
||||
<view class="bee-item-title">
|
||||
<text>{{item.name}}</text>
|
||||
<view class="bee-item-address">{{item.address}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.container {
|
||||
@@ -119,6 +117,7 @@ onMounted(() => {
|
||||
z-index: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding-bottom: 35rpx;
|
||||
|
||||
.bg-image {
|
||||
width: 100%;
|
||||
|
@@ -1,4 +1,6 @@
|
||||
<template>
|
||||
<view>
|
||||
<TransNavVue title="我的消息"/>
|
||||
<view>
|
||||
<uni-popup ref="popup" type="center">
|
||||
<view class="popup-content">
|
||||
@@ -35,11 +37,13 @@
|
||||
<view class="safe-view"></view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref ,onMounted} from 'vue';
|
||||
import { request } from '@/utils/request'
|
||||
import TransNavVue from '../../components/TransNav.vue';
|
||||
|
||||
|
||||
|
||||
|
@@ -1,324 +0,0 @@
|
||||
<template>
|
||||
<view>
|
||||
<BeeTabbarVue active-tab="mine"></BeeTabbarVue>
|
||||
<view class="container">
|
||||
<view class="swiper-content">
|
||||
<swiper class="swiper" circular indicator-active-color="#ffffff" indicator-dots="true" autoplay="true" interval="2000" duration="500">
|
||||
<swiper-item class="swiper-item">
|
||||
<image src="/static/images/轮播图(1).png" class="swiper-image" mode=""></image>
|
||||
</swiper-item>
|
||||
<swiper-item class="swiper-item">
|
||||
<image src="/static/images/轮播图(1).png" class="swiper-image" mode=""></image>
|
||||
</swiper-item>
|
||||
<swiper-item class="swiper-item">
|
||||
<image src="/static/images/轮播图(1).png" class="swiper-image" mode=""></image>
|
||||
</swiper-item>
|
||||
</swiper>
|
||||
</view>
|
||||
<scroll-view scroll-y="true" class="scroll-content">
|
||||
<view class="goods-info">
|
||||
<image src="/static/images/homePage/shoppingBg.png" mode=""></image>
|
||||
<view class="info-left">
|
||||
<view class="info-content">
|
||||
<view class="goods-price">
|
||||
¥
|
||||
<text>218</text>
|
||||
</view>
|
||||
<view class="goods-weight">净重500g</view>
|
||||
</view>
|
||||
<view class="goods-name">商品名称</view>
|
||||
</view>
|
||||
<view class="user-avatars">
|
||||
<AvatarStackVue :avatars="avatarList" :size="48"></AvatarStackVue>
|
||||
</view>
|
||||
</view>
|
||||
<view class="progress-panel">
|
||||
<view class="progress-title">
|
||||
<text class="title-text">进度报告</text>
|
||||
<text class="progress-text">50%交付进度</text>
|
||||
</view>
|
||||
<view class="progress-content">
|
||||
<view class="steps-container">
|
||||
<view class="step-item" v-for="(step, index) in steps" :key="index">
|
||||
<view class="step-ccontent">
|
||||
<image :src="step.completed ? step.curl : step.curl" class="step-icon"></image>
|
||||
<text :class="['step-text', { 'completed-text': step.completed }]">{{ step.text }}</text>
|
||||
</view>
|
||||
<image v-if="index < steps.length - 1" src="/static/images/homePage/next.png" class="arrow-icon"></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="hive-state">
|
||||
<view class="hive-title">蜂箱状态</view>
|
||||
<view class="state-info">
|
||||
<view class="info-item">
|
||||
<view class="info-val">
|
||||
80
|
||||
<text class="unit">/%</text>
|
||||
</view>
|
||||
<view class="info-name">蜜蜂出勤</view>
|
||||
</view>
|
||||
<view class="info-item">
|
||||
<view class="info-val">
|
||||
80
|
||||
<text class="unit">/万斤</text>
|
||||
</view>
|
||||
<view class="info-name">蜂蜜产量</view>
|
||||
</view>
|
||||
<view class="info-item">
|
||||
<view class="info-val">
|
||||
80
|
||||
<text class="unit">/万箱</text>
|
||||
</view>
|
||||
<view class="info-name">蜂箱领养</view>
|
||||
</view>
|
||||
<view class="info-item">
|
||||
<view class="info-val">
|
||||
80
|
||||
<text class="unit">/万斤</text>
|
||||
</view>
|
||||
<view class="info-name">蜜蜂数量</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="message-content">
|
||||
<view class="message-item" v-for="(item,index) in 4" :key="index">
|
||||
<text class="message-type">任务描述</text>
|
||||
2025-01-02 14:20:25 完成打扫
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
<view class="tabbar-bottom"></view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import BeeTabbarVue from '../../components/BeeTabbar.vue';
|
||||
import AvatarStackVue from '../../components/AvatarStack.vue';
|
||||
import { ref } from 'vue';
|
||||
|
||||
const avatarList = ref(['/static/images/homePage/BeehiveLogo.png', '/static/images/homePage/BeehiveLogo.png']);
|
||||
const steps = ref([
|
||||
{ text: '开始', completed: true, url: '/static/images/homePage/accomplish.png', curl: '/static/images/homePage/accomplishs.png' },
|
||||
{ text: '采蜜', completed: true, url: '/static/images/homePage/bee.png', curl: '/static/images/homePage/bees.png' },
|
||||
{ text: '分装', completed: false, url: '/static/images/homePage/classify.png', curl: '/static/images/homePage/classifys.png' },
|
||||
{ text: '完成', completed: false, url: '/static/images/homePage/accomplish.png', curl: '/static/images/homePage/accomplishs.png' },
|
||||
{ text: '交付', completed: false, url: '/static/images/homePage/delivery.png', curl: '/static/images/homePage/deliverys.png' }
|
||||
]);
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.container {
|
||||
height: 100vh;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
background: #efefef;
|
||||
.swiper-content {
|
||||
height: 480rpx;
|
||||
width: 100%;
|
||||
border-radius: 24rpx;
|
||||
overflow: hidden;
|
||||
margin: auto;
|
||||
margin-top: 5rpx;
|
||||
.swiper {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
.swiper-image {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
.scroll-content {
|
||||
flex: 1;
|
||||
height: 100rpx;
|
||||
padding-top: 24rpx;
|
||||
border-radius: 32rpx 32rpx 0rpx 0rpx;
|
||||
.goods-info {
|
||||
height: 204rpx;
|
||||
width: 702rpx;
|
||||
position: relative;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin: auto;
|
||||
z-index: 1;
|
||||
image {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: -1;
|
||||
}
|
||||
.info-left {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.info-content {
|
||||
margin-top: 20rpx;
|
||||
margin-left: 30rpx;
|
||||
height: 84rpx;
|
||||
display: flex;
|
||||
|
||||
.goods-price {
|
||||
font-weight: 500;
|
||||
font-size: 32rpx;
|
||||
color: #ec652c;
|
||||
text {
|
||||
font-weight: bold;
|
||||
font-size: 56rpx;
|
||||
color: #eb5c20;
|
||||
}
|
||||
}
|
||||
.goods-weight {
|
||||
margin-left: 20rpx;
|
||||
margin-top: 34rpx;
|
||||
font-weight: 400;
|
||||
font-size: 28rpx;
|
||||
color: #999999;
|
||||
}
|
||||
}
|
||||
.goods-name {
|
||||
font-weight: bold;
|
||||
font-size: 36rpx;
|
||||
color: #1e1e1e;
|
||||
margin-left: 30rpx;
|
||||
margin-top: 10rpx;
|
||||
}
|
||||
}
|
||||
.user-avatars {
|
||||
margin-top: 40rpx;
|
||||
margin-right: 30rpx;
|
||||
}
|
||||
}
|
||||
.progress-panel {
|
||||
margin: auto;
|
||||
margin-top: 24rpx;
|
||||
width: 702rpx;
|
||||
height: 246rpx;
|
||||
background: #ffffff;
|
||||
box-shadow: 0rpx 4rpx 16rpx 0rpx rgba(0, 0, 0, 0.03);
|
||||
border-radius: 24rpx;
|
||||
.progress-content {
|
||||
padding: 20rpx 30rpx;
|
||||
.steps-container {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
.step-item {
|
||||
display: flex;
|
||||
.step-ccontent {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: 72rpx;
|
||||
height: 116rpx;
|
||||
.step-icon {
|
||||
width: 72rpx;
|
||||
height: 72rpx;
|
||||
}
|
||||
.step-text {
|
||||
margin-top: 8rpx;
|
||||
text-align: center;
|
||||
font-size: 24rpx;
|
||||
color: #999999;
|
||||
line-height: 36rpx;
|
||||
&.completed-text {
|
||||
color: #101010;
|
||||
}
|
||||
}
|
||||
}
|
||||
.arrow-icon {
|
||||
margin: 0 20rpx;
|
||||
margin-top: 28rpx;
|
||||
width: 27rpx;
|
||||
height: 23rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.progress-title {
|
||||
padding: 0 30rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
.title-text {
|
||||
margin-top: 26rpx;
|
||||
font-weight: 500;
|
||||
font-size: 32rpx;
|
||||
color: #1e1e1e;
|
||||
line-height: 46rpx;
|
||||
}
|
||||
.progress-text {
|
||||
margin-top: 38rpx;
|
||||
font-weight: 400;
|
||||
font-size: 26rpx;
|
||||
color: #999999;
|
||||
line-height: 40rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
.hive-state {
|
||||
padding: 26rpx 30rpx;
|
||||
margin: auto;
|
||||
margin-top: 24rpx;
|
||||
width: 702rpx;
|
||||
height: 210rpx;
|
||||
background: #ffffff;
|
||||
box-shadow: 0rpx 4rpx 16rpx 0rpx rgba(0, 0, 0, 0.03);
|
||||
border-radius: 16rpx;
|
||||
.hive-title {
|
||||
font-weight: 500;
|
||||
font-size: 32rpx;
|
||||
color: #1e1e1e;
|
||||
line-height: 46rpx;
|
||||
}
|
||||
.state-info {
|
||||
margin-top: 22rpx;
|
||||
display: grid;
|
||||
grid-template-columns: repeat(4, 1fr);
|
||||
.info-item {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
.info-val {
|
||||
font-weight: bold;
|
||||
font-size: 32rpx;
|
||||
color: #000000;
|
||||
line-height: 48rpx;
|
||||
.unit {
|
||||
font-weight: 400;
|
||||
font-size: 20rpx;
|
||||
color: #999999;
|
||||
}
|
||||
}
|
||||
.info-name {
|
||||
font-size: 24rpx;
|
||||
color: #999999;
|
||||
line-height: 36rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.message-content {
|
||||
margin: auto;
|
||||
margin-top: 24rpx;
|
||||
padding: 32rpx 28rpx;
|
||||
width: 717rpx;
|
||||
height: 280rpx;
|
||||
background: #ffffff;
|
||||
box-shadow: 0rpx 4rpx 16rpx 0rpx rgba(0, 0, 0, 0.03);
|
||||
border-radius: 16rpx 16rpx 16rpx 16rpx;
|
||||
.message-item {
|
||||
margin-bottom: 20rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-size: 26rpx;
|
||||
color: #262626;
|
||||
line-height: 40rpx;
|
||||
.message-type {
|
||||
font-size: 26rpx;
|
||||
color: #999999;
|
||||
margin-right: 32rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
@@ -537,6 +537,7 @@ const logout = () => {
|
||||
height: 100vh;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
padding-bottom: 35rpx;
|
||||
position: relative;
|
||||
.bg-image {
|
||||
position: absolute;
|
||||
|
@@ -1,4 +1,6 @@
|
||||
<template>
|
||||
<view>
|
||||
<TransNavVue title="订单列表" />
|
||||
<view class="container">
|
||||
<!-- 导航栏 -->
|
||||
<view class="nav-tabs">
|
||||
@@ -40,12 +42,14 @@
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, computed , onMounted} from 'vue';
|
||||
import { request } from '@/utils/request'
|
||||
import { useTokenStorage } from '../../utils/storage'
|
||||
import TransNavVue from '../../components/TransNav.vue';
|
||||
const { getAccessToken} = useTokenStorage()
|
||||
|
||||
const tabs = [
|
||||
@@ -166,7 +170,7 @@ const formatDateTime = (dateString) => {
|
||||
.list-container {
|
||||
height: calc(100vh - 100rpx);
|
||||
background-color: #f7f7f7; // 整体背景色
|
||||
// padding: 20rpx; // 添加内边距
|
||||
padding-bottom: 20rpx; // 添加内边距
|
||||
|
||||
|
||||
.record-item {
|
||||
|
@@ -1,4 +1,6 @@
|
||||
<template>
|
||||
<view>
|
||||
<TransNavVue title="购物车" />
|
||||
<view class="container">
|
||||
<!-- 购物车头部 -->
|
||||
<view class="cart-header">
|
||||
@@ -34,6 +36,7 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</scroll-view>
|
||||
|
||||
<!-- 结算区域 -->
|
||||
@@ -61,12 +64,14 @@
|
||||
</view>
|
||||
<view class="safe-view" style="background: #ffffff"></view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, computed, onMounted } from 'vue';
|
||||
import { request } from '@/utils/request'
|
||||
import { useTokenStorage } from '../../utils/storage' // 新增导入
|
||||
import TransNavVue from '../../components/TransNav.vue';
|
||||
|
||||
const { getAccessToken } = useTokenStorage() // 新增获取token方法
|
||||
|
||||
|
@@ -1,6 +1,7 @@
|
||||
<template>
|
||||
<view class="container">
|
||||
<TransNavVue title="商品详情"></TransNavVue>
|
||||
<TransNavVue title="商品详情" />
|
||||
<scroll-view class="scroll-content" scroll-y>
|
||||
<view class="details-top">
|
||||
<view class="swiper-content">
|
||||
<swiper class="swiper" circular indicator-active-color="#ffffff" indicator-dots="true" autoplay="true"
|
||||
@@ -29,10 +30,44 @@
|
||||
<view class="details-bottom">
|
||||
<button class="settle-btn" @click="buyBtn">加入购物车</button>
|
||||
</view>
|
||||
|
||||
</scroll-view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: 100vh;
|
||||
position: relative;
|
||||
|
||||
.scroll-content {
|
||||
flex: 1;
|
||||
overflow-y: auto;
|
||||
padding-bottom: 120rpx; /* 为底部按钮留出空间 */
|
||||
}
|
||||
|
||||
.details-bottom {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 100rpx;
|
||||
background-color: #fff;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
box-shadow: 0 -2rpx 10rpx rgba(0,0,0,0.1);
|
||||
|
||||
.settle-btn {
|
||||
width: 90%;
|
||||
height: 80rpx;
|
||||
line-height: 80rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
<script setup>
|
||||
import {
|
||||
ref,
|
||||
@@ -154,7 +189,7 @@
|
||||
flex-direction: column;
|
||||
|
||||
.swiper-content {
|
||||
height: 380rpx;
|
||||
height: 580rpx;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
margin: auto;
|
||||
@@ -218,10 +253,7 @@
|
||||
}
|
||||
|
||||
.details-img {
|
||||
height: 500rpx;
|
||||
width: 100%;
|
||||
overflow: auto;
|
||||
|
||||
.details-image {
|
||||
width: 100%;
|
||||
}
|
||||
|
@@ -143,10 +143,13 @@ onMounted(() => {
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.container {
|
||||
background-color: #f7f7f7;
|
||||
padding-bottom: 120rpx;
|
||||
|
||||
z-index: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
background: #f7f7f7;
|
||||
height: 100vh; // 新增:设置容器高度为视窗高度
|
||||
|
||||
.cart-btn {
|
||||
bottom: 384rpx;
|
||||
|
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<view class="container">
|
||||
<TransNavVue title="确认订单"></TransNavVue>
|
||||
<TransNavVue title="订单确认"></TransNavVue>
|
||||
<view class="pay-center">
|
||||
<view v-if="currentAddress.consigneeName" class="name-box">
|
||||
<view class="address-header">
|
||||
|
@@ -1,4 +1,6 @@
|
||||
<template>
|
||||
<view>
|
||||
<TransNavVue title="认养记录" />
|
||||
<view class="container">
|
||||
<scroll-view scroll-y class="content">
|
||||
<!-- 使用v-for遍历后端数据 -->
|
||||
@@ -21,12 +23,13 @@
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, onMounted} from 'vue';
|
||||
import { request } from '@/utils/request'
|
||||
|
||||
import TransNavVue from '../../components/TransNav.vue'
|
||||
const smartBeeList=ref([])
|
||||
|
||||
onMounted(() => {
|
||||
|
@@ -1,4 +1,6 @@
|
||||
<template>
|
||||
<view>
|
||||
<TransNavVue title="问卷详情" />
|
||||
<view class="container">
|
||||
<scroll-view scroll-y class="content">
|
||||
<!-- 问卷标题 -->
|
||||
@@ -58,12 +60,14 @@
|
||||
<button class="submit-btn" @click="submitSurvey">提交问卷</button>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref } from 'vue'
|
||||
import { request } from '@/utils/request'
|
||||
import { onLoad } from '@dcloudio/uni-app'
|
||||
import TransNavVue from '../../components/TransNav.vue'
|
||||
|
||||
const surveyId = ref('')
|
||||
const surveyData = ref({
|
||||
|
@@ -1,4 +1,6 @@
|
||||
<template>
|
||||
<view>
|
||||
<TransNavVue title="问卷列表" />
|
||||
<view class="container">
|
||||
<scroll-view scroll-y class="content">
|
||||
<view class="survey-list">
|
||||
@@ -26,11 +28,13 @@
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, onMounted } from 'vue'
|
||||
import { request } from '@/utils/request'
|
||||
import TransNavVue from '../../components/TransNav.vue';
|
||||
|
||||
|
||||
const surveyList = ref([
|
||||
|
@@ -1,4 +1,6 @@
|
||||
<template>
|
||||
<view>
|
||||
<TransNavVue title="编辑地址" />
|
||||
<view class="container">
|
||||
<view class="form">
|
||||
<view class="form-item">
|
||||
@@ -58,11 +60,13 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, onMounted, computed } from 'vue'
|
||||
import { request } from '@/utils/request'
|
||||
import TransNavVue from '../../components/TransNav.vue'
|
||||
|
||||
const areaList = ref([])
|
||||
const regionPickerVisible = ref(false)
|
||||
|
@@ -1,4 +1,6 @@
|
||||
<template>
|
||||
<view>
|
||||
<TransNavVue title="收获地址" />
|
||||
<view class="container">
|
||||
<scroll-view scroll-y class="list">
|
||||
<view class="item" v-for="item in addressList" :key="item.id">
|
||||
@@ -10,7 +12,7 @@
|
||||
<view>
|
||||
<image
|
||||
style="width:25rpx ; height: 25rpx;"
|
||||
src="/static/images/myPapeImages/edit.png"
|
||||
src="/static/images/myPage/edit.png"
|
||||
|
||||
@click="editAddress(item)"></image>
|
||||
</view>
|
||||
@@ -26,12 +28,12 @@
|
||||
<image
|
||||
v-if="item.isDefault"
|
||||
style="width:25rpx; height:25rpx;"
|
||||
src="/static/images/myPapeImages/changeActive.png"
|
||||
src="/static/images/myPage/changeActive.png"
|
||||
></image>
|
||||
<image
|
||||
v-else
|
||||
style="width:25rpx; height:25rpx;"
|
||||
src="/static/images/myPapeImages/change.png"
|
||||
src="/static/images/myPage/change.png"
|
||||
></image>
|
||||
<text>设为默认地址</text>
|
||||
</view>
|
||||
@@ -44,12 +46,14 @@
|
||||
<button class="add-btn" @click="addAddress">新增收货地址</button>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, onMounted, } from 'vue'
|
||||
import { request } from '@/utils/request'
|
||||
import { onShow } from '@dcloudio/uni-app';
|
||||
import TransNavVue from '../../components/TransNav.vue'
|
||||
|
||||
const addressList = ref([])
|
||||
const refreshing = ref(false)
|
||||
|
@@ -1,4 +1,6 @@
|
||||
<template>
|
||||
<view>
|
||||
<TransNavVue title="设置" />
|
||||
<view class="container">
|
||||
|
||||
<view class="content">
|
||||
@@ -60,6 +62,7 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
@@ -67,6 +70,7 @@ import { ref } from 'vue'
|
||||
import { request } from '@/utils/request'
|
||||
import { useTokenStorage } from '../../utils/storage'
|
||||
import { onMounted } from 'vue'
|
||||
import TransNavVue from '../../components/TransNav.vue'
|
||||
|
||||
const { getAccessToken} = useTokenStorage()
|
||||
|
||||
|
@@ -1,4 +1,6 @@
|
||||
<template>
|
||||
<view>
|
||||
<TransNavVue title="推广佣金"></TransNavVue>
|
||||
<view class="container">
|
||||
<!-- 修改顶部黑色区域显示现金余额 -->
|
||||
<view class="top-card black-bg">
|
||||
@@ -41,12 +43,14 @@
|
||||
</view>
|
||||
</uni-popup>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, onMounted } from 'vue'
|
||||
import { request } from '@/utils/request'
|
||||
import { useTokenStorage } from '../../utils/storage'
|
||||
import TransNavVue from '../../components/TransNav.vue'
|
||||
const { getAccessToken } = useTokenStorage()
|
||||
|
||||
const popup = ref(null)
|
||||
|
BIN
static/images/.DS_Store
vendored
BIN
static/images/.DS_Store
vendored
Binary file not shown.
BIN
static/images/homePage/.DS_Store
vendored
Normal file
BIN
static/images/homePage/.DS_Store
vendored
Normal file
Binary file not shown.
@@ -2,8 +2,8 @@
|
||||
import { useTokenStorage } from './storage'
|
||||
const { getRefreshToken, setToken ,getAccessToken} = useTokenStorage()
|
||||
|
||||
const BASE_URL = 'http://192.168.1.132:48080'
|
||||
// const BASE_URL="https:www.cdsrh.top"
|
||||
// const BASE_URL = 'http://192.168.1.132:48080'
|
||||
const BASE_URL="https:www.cdsrh.top"
|
||||
|
||||
let isRefreshing = false
|
||||
let refreshSubscribers = []
|
||||
|
Reference in New Issue
Block a user