Browse Source

feat: 果园级别果园介绍,认养列表

刘秀芳 6 ngày trước cách đây
mục cha
commit
9e04a3450e

+ 1 - 0
package.json

@@ -41,6 +41,7 @@
     "run": "^1.4.0",
     "serve": "^14.1.2",
     "svg-sprite-loader": "^4.1.3",
+    "vant": "^4.9.19",
     "videojs-contrib-hls": "^5.15.0",
     "vue": "^3.2.47",
     "vue-echarts": "^6.5.4",

BIN
src/assets/images/common/edit-icon.png


BIN
src/assets/images/common/sub-title.png


BIN
src/assets/images/foster-home/honour-bg.png


BIN
src/assets/images/foster-home/recode.png


BIN
src/assets/images/foster-home/tree-icon.png


BIN
src/assets/images/foster-home/tree-item.png


BIN
src/assets/images/foster-home/video.png


BIN
src/assets/images/foster-home/water-icon.png


BIN
src/assets/images/foster-home/wind-icon.png


BIN
src/assets/images/foster-home/work.mp4


+ 2 - 1
src/components/chartBox.vue

@@ -46,7 +46,8 @@ const handleShrink = () =>{
 <style lang="scss" scoped>
 .chart-box {
   width: 100%;
-  height: 100%;
+  min-height: 100%;
+  height: max-content;
   box-sizing: border-box;
   border-radius: 4px;
   background: #232323;

+ 39 - 0
src/components/subTitle.vue

@@ -0,0 +1,39 @@
+<template>
+    <div class="sub-title">
+      <div class="sub-t">
+        <img :src="require(`@/assets/images/common/sub-title.png`)" alt="" />
+        <span class="sub-name">{{name}}</span>
+      </div>
+      <div class="slot">
+        <slot name="title-right"></slot>
+      </div>
+    </div>
+</template>
+
+<script setup>
+import {onMounted, ref} from 'vue'
+const props = defineProps({
+    name:{
+        type:String,
+        defalut:''
+    },
+})
+
+onMounted(()=>{
+})
+
+</script>
+
+<style lang="scss" scoped>
+.sub-title {
+    .sub-t {
+        display: inline-flex;
+        align-items: center;
+        .sub-name {
+            padding-left: 6px;
+            font-size: 16px;
+            color: #fff;
+        }
+    }
+}
+</style>

+ 3 - 0
src/main.js

@@ -25,6 +25,8 @@ import '@/common/rem'
 import Print from 'vue3-print-nb'
 import vue3PhotoPreview from 'vue3-photo-preview'
 import 'vue3-photo-preview/dist/index.css'
+import { Popup } from 'vant';
+import 'vant/lib/index.css';
 
 const app = createApp(App);
 app.use(mock)
@@ -36,6 +38,7 @@ app.use(mock)
     .use(permission, { router, store })
     .use(directives, { router, store })
     .use(Print)
+    .use(Popup)
     .use(vue3PhotoPreview, {
         // 配置图片预览的参数
         fullscreen: true, // 是否启用全屏

+ 17 - 0
src/views/home/components/addressList.vue

@@ -0,0 +1,17 @@
+<template>
+    <div class="adopt-list">
+      address
+    </div>
+</template>
+
+<script setup>
+import {onMounted, ref} from 'vue'
+
+onMounted(()=>{
+})
+
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 227 - 0
src/views/home/components/adoptList.vue

@@ -0,0 +1,227 @@
+<template>
+    <div class="adopt-list">
+      <div class="select-wrap">
+        <el-select class="select-item" v-model="areaVal" placeholder="全区" style="width: 116px">
+          <el-option
+            v-for="item in areaOptions"
+            :key="item.value"
+            :label="item.label"
+            :value="item.value"
+          />
+        </el-select>
+        <el-select class="select-item" v-model="typeVal" placeholder="全部品类" style="width: 116px">
+          <el-option
+            v-for="item in typeOptions"
+            :key="item.value"
+            :label="item.label"
+            :value="item.value"
+          />
+        </el-select>
+        <el-select class="select-item" v-model="ageVal" placeholder="树龄" style="width: 116px">
+          <el-option
+            v-for="item in ageOptions"
+            :key="item.value"
+            :label="item.label"
+            :value="item.value"
+          />
+        </el-select>
+      </div>
+      <div class="select-wrap select-b">
+        <el-select class="select-item" v-model="allVal" placeholder="综合评分" style="width: 116px">
+          <el-option
+            v-for="item in allOptions"
+            :key="item.value"
+            :label="item.label"
+            :value="item.value"
+          />
+        </el-select>
+        <el-select class="select-item" v-model="ecologyVal" placeholder="生态评分" style="width: 116px">
+          <el-option
+            v-for="item in ecologyOptions"
+            :key="item.value"
+            :label="item.label"
+            :value="item.value"
+          />
+        </el-select>
+        <el-select class="select-item" v-model="statusVal" placeholder="全部状态" style="width: 116px">
+          <el-option
+            v-for="item in statusOptions"
+            :key="item.value"
+            :label="item.label"
+            :value="item.value"
+          />
+        </el-select>
+      </div>
+
+      <div class="list-wrap">
+        <div class="list-item" v-for="(item, index) in 10" :key="index">
+          <div class="tree-icon">
+            <div class="tree-tag">未定价</div>
+            <img class="tree-img" src="@/assets/images/foster-home/tree-item.png" alt="">
+            <div class="tree-type-name-tag">白糖罂</div>
+          </div>
+          <div class="item-center">
+            <div class="center-t">
+              BTY-A25
+              <span class="type-tag">综合:94分</span>
+              <span class="type-tag">生态:92分</span>
+              <span class="type-tag">树龄:5年</span>
+            </div>
+            <div class="center-item">
+              单价:<span>--元/斤</span>
+            </div>
+            <div class="center-item">
+              总认养斤数:<span>215斤</span>
+            </div>
+          </div>
+          <div>
+            <img src="@/assets/images/common/edit-icon.png" alt="">
+          </div>
+        </div>
+      </div>
+    </div>
+</template>
+
+<script setup>
+import {onMounted, ref} from 'vue'
+
+const areaVal = ref(0)
+const areaOptions = ref([
+  {label: "全区", value: 0},
+  {label: "1区", value: 1},
+  {label: "2区", value: 2},
+])
+const typeVal = ref(0)
+const typeOptions = ref([
+  {label: "全部品类", value: 0},
+  {label: "白糖罂", value: 1},
+  {label: "井岗红糯", value: 2},
+])
+const ageVal = ref(0)
+const ageOptions = ref([
+  {label: "全部树龄", value: 0},
+  {label: "0-10年", value: 1},
+  {label: "10-20年", value: 2},
+])
+const allVal = ref(0)
+const allOptions = ref([
+  {label: "全部评分", value: 0},
+  {label: "0-10年", value: 1},
+  {label: "10-20年", value: 2},
+])
+const ecologyVal = ref(0)
+const ecologyOptions = ref([
+  {label: "生态评分", value: 0},
+  {label: "0-10年", value: 1},
+  {label: "10-20年", value: 2},
+])
+const statusVal = ref(0)
+const statusOptions = ref([
+  {label: "全部状态", value: 0},
+  {label: "0-10年", value: 1},
+  {label: "10-20年", value: 2},
+])
+onMounted(()=>{
+})
+
+</script>
+
+<style lang="scss" scoped>
+.adopt-list {
+  .type-tag {
+        color: #FFD489;
+        background: rgba(255, 212, 137, 0.06);
+        padding: 2px 4px;
+        font-size: 10px;
+        margin-left: 4px;
+        border-radius: 4px;
+    }
+  .select-wrap {
+    display: flex;
+    align-items: center;
+    ::v-deep {
+      .el-select__wrapper {
+        background: rgba(255, 212, 137, 0.06);
+        box-shadow: 0 0 0 1px rgba(255, 212, 137, 0.3) inset;
+        font-size: 13px;
+        .el-select__input {
+          color: #FFD489;
+        }
+        .el-select__placeholder {
+          color: #FFD489;
+          text-align: center;
+        }
+        .el-select__suffix {
+          color: #FFD489;
+        }
+      }
+    }
+    .select-item + .select-item {
+      margin-left: 5px;
+    }
+  }
+  .select-b {
+    margin-top: 8px;
+  }
+  .list-wrap {
+    padding: 12px 0;
+    .list-item {
+      display: flex;
+      justify-content: space-between;
+      align-items: center;
+      background: rgba(255, 255, 255, 0.08);
+      padding: 8px 10px;
+      border-radius: 5px;
+      .tree-icon {
+        position: relative;
+        .tree-tag {
+          position: absolute;
+          left: 0;
+          top: 0;
+          background: #0ACCBF;
+          border-radius: 5px 0 5px 0;
+          color: #fff;
+          padding: 1px 6px;
+          font-size: 10px;
+        }
+        .tree-type-name-tag {
+          position: absolute;
+          left: 0;
+          bottom: 0;
+          background: rgba(0, 0, 0, 0.6);
+          border-radius: 0 5px 5px 0;
+          font-size: 10px;
+          width: 100%;
+          text-align: center;
+          padding: 1px;
+          backdrop-filter: blur(2px);
+        }
+        .tree-img {
+          width: 63px;
+          height: 63px;
+          border-radius: 5px;
+          object-fit: cover;
+        }
+      }
+      .item-center {
+        flex: 1;
+        padding: 0 12px;
+        color: #fff;
+        .center-t {
+          font-size: 14px;
+        }
+        .center-item {
+          color: #6C6C6C;
+          font-size: 12px;
+          span {
+            color: #fff;
+          }
+        }
+      }
+    }
+    .list-item + .list-item {
+      margin-top: 8px;
+    }
+  }
+}
+</style>

+ 17 - 0
src/views/home/components/applyList.vue

@@ -0,0 +1,17 @@
+<template>
+    <div class="adopt-list">
+      apply
+    </div>
+</template>
+
+<script setup>
+import {onMounted, ref} from 'vue'
+
+onMounted(()=>{
+})
+
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 17 - 0
src/views/home/components/clientList.vue

@@ -0,0 +1,17 @@
+<template>
+    <div class="adopt-list">
+      kehu
+    </div>
+</template>
+
+<script setup>
+import {onMounted, ref} from 'vue'
+
+onMounted(()=>{
+})
+
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 226 - 1
src/views/home/components/gardenIntroduce.vue

@@ -1,21 +1,246 @@
 <template>
     <div class="garden-introduce">
         <div class="introduce-overview">
-            
+            <div class="overview-top">
+                <img class="garden-img" src="@/assets/images/foster-home/garden-img.png" alt="">
+                <div class="overview-info">
+                    <div class="garden-name">
+                        柏桥村
+                        <span class="type-tag">白糖罂</span>
+                    </div>
+                    <div class="info-item center-info">
+                        果园面积:<span class="info-val">6800亩</span>
+                    </div>
+                    <div class="info-item">
+                        果园地址:<span class="info-val">广东省茂名市高州市根子镇下辖村</span>
+                    </div>
+                </div>
+            </div>
+
+            <div class="overview-data-box">
+                <div class="box-item">
+                    <div class="item-val">
+                        383<span>/1001</span>
+                    </div>
+                    <div class="item-name">已认养(棵)</div>
+                </div>
+                <div class="box-item">
+                    <div class="item-val">96</div>
+                    <div class="item-name">综合评分(分)</div>
+                </div>
+                <div class="box-item">
+                    <div class="item-val">98</div>
+                    <div class="item-name">生态评分(分)</div></div>
+            </div>
+        </div>
+
+        <div class="sub-box">
+            <sub-title name="果园简介"></sub-title>
+            <div class="sub-content">
+                <div class="content-text" v-show="isEdit">
+                    <el-input
+                        v-model="gardenDes"
+                        :autosize="{ minRows: 2, maxRows: 8 }"
+                        type="textarea"
+                    />
+                </div>
+                <div class="content-text" v-show="!isEdit">
+                    {{ gardenDes }}
+                </div>
+            </div>
+        </div>
+
+        <div class="sub-box">
+            <div class="honour-name">
+                <img class="honour-l" src="@/assets/images/foster-home/honour-bg.png" alt="">
+                勋章墙
+                <img class="honour-r" src="@/assets/images/foster-home/honour-bg.png" alt="">
+            </div>
+            <div class="honour-imgs">
+                <div class="honour-item">
+                    <img src="@/assets/images/foster-home/water-icon.png" alt="">
+                    <div class="icon-name">水源洁净</div>
+                </div>
+                <div class="honour-item">
+                    <img src="@/assets/images/foster-home/wind-icon.png" alt="">
+                    <div class="icon-name">风畅气顺</div>
+                </div>
+                <div class="honour-item">
+                    <img src="@/assets/images/foster-home/tree-icon.png" alt="">
+                    <div class="icon-name">古树名木</div>
+                </div>
+            </div>
+        </div>
+
+        <div class="sub-box">
+            <sub-title name="美景视频">
+                <template>
+                    更多
+                </template>
+            </sub-title>
+            <div class="video-wrap" @click="showVideo">
+                <img class="introduce-img" src="@/assets/images/foster-home/video.png" alt="">
+            </div>
         </div>
+
+        <div class="sub-box">
+            <sub-title name="农事记录">
+                <template>
+                    更多
+                </template>
+            </sub-title>
+            <div class="video-wrap">
+                <img class="introduce-img" src="@/assets/images/foster-home/recode.png" alt="">
+            </div>
+        </div>
+
+        <Popup v-model:show="showPopup" class="video-popup">
+            <video
+                class="video-wrap"
+                controls
+                width="1280"
+                height="800"
+            >
+            <source src="@/assets/images/foster-home/work.mp4"/>
+            </video>
+        </Popup>
     </div>
 </template>
 
 <script setup>
 import {onMounted, ref} from 'vue'
+import subTitle from "@/components/subTitle.vue"
+import { Popup } from 'vant';
 import eventBus from "@/api/eventBus";
 
+const isEdit = ref(false)
+const gardenDes = ref("柏桥村位于广东茂名高州根子镇,是千年荔枝之乡的核心产区,盛产果肉晶莹、鲜甜多汁的白糖罂荔枝。村内6800亩荔枝林与古荔园中48棵百年以上古树交相辉映,诉说着种植传奇。依托冷链物流和电商直播,新鲜荔枝一键直达全国。")
+const showPopup = ref(false)
 
 onMounted(()=>{
 })
 
+function showVideo() {
+    showPopup.value = true
+}
 </script>
 
 <style lang="scss" scoped>
+.garden-introduce {
+    padding: 12px 8px;
+    .introduce-overview {
+        .type-tag {
+            color: #FFD489;
+            background: rgba(243, 193, 29, 0.16);
+            padding: 2px 6px;
+            font-size: 12px;
+            margin-left: 8px;
+            border-radius: 4px;
+        }
+        .overview-top {
+            display: flex;
+            .garden-img {
+                width: 68px;
+                height: 68px;
+                object-fit: cover;
+                border-radius: 12px;
+                border: 2px solid #fff;
+            }
+            .overview-info {
+                padding-left: 12px;
+                .garden-name {
+                    color: #fff;
+                    font-size: 18px;
+                }
+                .center-info {
+                    padding: 4px 0 2px 0;
+                }
+                .info-item {
+                    color: #666666;
+                    font-size: 12px;
+                    .info-val {
+                        color: #999999;
+                    }
+                }
+            }
+        }
+
+        .overview-data-box {
+            display: flex;
+            align-items: center;
+            justify-content: space-between;
+            padding: 16px 6px 8px 6px;
+            .box-item {
+                width: 33%;
+                margin: 0 auto;
+                text-align: center;
+                .item-val {
+                    color: #fff;
+                    font-size: 18px;
+                    display: inline-flex;
+                    align-items: baseline;
+                    span {
+                        font-size: 12px;
+                        color: #666666;
+                    }
+                }
+                .item-name {
+                    font-size: 12px;
+                    color: #666666;
+                }
+            }
+        }
+    }
+
+    .sub-box {
+        background: rgba(255, 255, 255, 0.08);
+        padding: 10px;
+        margin-bottom: 8px;
+        border-radius: 6px;
+    }
+    .sub-content {
+        padding-top: 12px;
+        text-align: justify;
+        font-size: 12px;
+        color: #999999;
+    }
+    .honour-name {
+        display: flex;
+        align-items: center;
+        justify-content: center;
+        color: #FFD489;
+        font-size: 16px;
+        font-family: 'PangMenZhengDao';
+        .honour-l {
+            padding-right: 6px;
+        }
+        .honour-r {
+            padding-right: 6px;
+            transform: rotate(180deg);
+        }
+    }
+    .honour-imgs {
+        display: flex;
+        align-items: center;
+        justify-content: space-around;
+        .honour-item {
+            width: 33%;
+            text-align: center;
+            .icon-name {
+                color: #fff;
+                font-size: 12px;
+            }
+        }
+    }
+    .introduce-img {
+        width: 100%;
+        padding-top: 12px;
+    }
+}
+</style>
 
+<style lang="less">
+.video-popup {
+    background: transparent;
+}
 </style>

+ 43 - 79
src/views/home/index.vue

@@ -20,11 +20,22 @@
                 </div>
             </div> -->
             <div class="right yes-events">
-                <div class="list album-r">
-                    <chart-box name="认养管理" arrow="arrow-left" :class="{ 'list-wrap': rightIndex === 0 }">
-                        <template v-if="rightIndex === 0">
-                            <!-- <album></album> -->
-                        </template>
+                <div class="list adopt-list-wrap">
+                    <chart-box name="认养管理" arrow="">
+                        <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
+                            <el-tab-pane label="认养列表" name="认养列表">
+                                <adopt-list></adopt-list>
+                            </el-tab-pane>
+                            <el-tab-pane label="客户列表" name="客户列表">
+                                <client-list></client-list>
+                            </el-tab-pane>
+                            <el-tab-pane label="认养申请" name="认养申请">
+                                <apply-list></apply-list>
+                            </el-tab-pane>
+                            <el-tab-pane label="确认地址" name="确认地址">
+                                <address-list></address-list>
+                            </el-tab-pane>
+                        </el-tabs>
                     </chart-box>
                 </div>
                 <!-- <tool-list direction="right" :list="rightToolList" @handleActive="handleActiveRight"></tool-list> -->
@@ -79,10 +90,10 @@ import toolList from "@/components/toolList.vue";
 import fileBar from "@/components/fileBar.vue";
 import HomeMap from "./map/homeMap";
 import homePage from "./components/homePage.vue";
-import weatherPage from "./components/weatherPage.vue";
-import phenologyPage from "./components/phenologyPage.vue";
-import indicatorChart from "./components/indicatorChart.vue";
-import homeFile from "./components/homeFile.vue";
+import adoptList from "./components/adoptList.vue";
+import clientList from "./components/clientList.vue";
+import applyList from "./components/applyList.vue";
+import addressList from "./components/addressList.vue";
 import { useRouter } from "vue-router";
 import SamplePointLayer from "./map/samplePointLayer";
 import { useStore } from "vuex";
@@ -96,8 +107,6 @@ import PdfDialog from "../../components/PdfDialog";
 let store = useStore();
 const components = {
     homePage,
-    weatherPage,
-    phenologyPage,
 };
 //当前农场
 const currentFarm = {
@@ -115,6 +124,8 @@ let regionLayer = null;
 let blueRegionLayer = null;
 const router = useRouter();
 const mapRef = ref();
+
+const activeName = ref('认养列表')
 onMounted(() => {
     homeMap.initMap("POINT(113.61448114737868 23.585550924763083)", mapRef.value);
     // homeMap.initMap(store.getters.userinfo.location, mapRef.value);
@@ -433,64 +444,6 @@ eventBus.on("click:updateArea", (e) => {
 });
 
 const currentComponent = ref("homePage");
-const handleActiveLeft = (e) => {
-    currentComponent.value = e.componentName;
-    if (e.title === "首页") {
-        router.push("/warningHome");
-    }
-};
-const leftToolList = [
-    {
-        title: "首页",
-        name: "home",
-        componentName: "homePage",
-    },
-    {
-        title: "气象预警",
-        componentName: "weatherPage",
-    },
-    {
-        title: "物候调节",
-        componentName: "phenologyPage",
-    },
-    {
-        title: "病虫测报",
-    },
-    {
-        title: "营养评估",
-    },
-];
-
-const rightIndex = ref(0);
-const handleActiveRight = ({ index }) => {
-    rightIndex.value = index;
-    btnIndex.value = null;
-    btnName.value = "";
-    samplePointLayer.updateAreaStatus(false);
-    regionLayer.resetData();
-    samplePointLayer.resetPoint();
-    if (index !== 0) {
-        act.value = null;
-    }
-};
-const hanleRightIndex = (num) => {
-    rightIndex.value = num;
-    eventBus.emit("tool:updateAct", num);
-};
-const rightToolList = [
-    {
-        title: "农事列表",
-        index: 0,
-    },
-    {
-        title: "处方分析",
-        index: 2,
-    },
-    {
-        title: "复核对比",
-        index: 1,
-    },
-];
 
 // 跳转果园档案
 const toFilePage = () => {
@@ -589,14 +542,32 @@ const photoList = ref([
         .right {
             width: 376px;
             margin-right: 25px;
-            .album-r {
-                .list-wrap {
-                    width: 375px;
+            .adopt-list-wrap {
+                ::v-deep {
+                    .el-tabs__item {
+                        color: #727272;
+                    }
+                    .el-tabs__active-bar {
+                        background-color: #FFFFFF;
+                        height: 1px;
+                    }
+                    .el-tabs__item.is-active {
+                        color: #fff;
+                    }
+                    .el-tabs__nav-wrap:after {
+                        height: 1px;
+                        background-color: rgba(127, 127, 127, 0.3);
+                    }
+                    .el-tabs__nav {
+                        left: 50%;
+                        transform: translateX(-50%) !important;
+                    }
                 }
             }
             .list {
                 width: 100%;
                 height: 100%;
+                overflow: auto;
                 .btn-wrap {
                     width: 100%;
                     height: 25px;
@@ -647,13 +618,6 @@ const photoList = ref([
                 .mt {
                     margin-top: -12px;
                 }
-                .list-wrap {
-                    ::v-deep {
-                        .chart-content {
-                            padding: 16px 0 0 0;
-                        }
-                    }
-                }
             }
         }
         .overflow {

+ 25 - 1
yarn.lock

@@ -3082,6 +3082,16 @@
   dependencies:
     "@types/node" "*"
 
+"@vant/popperjs@^1.3.0":
+  version "1.3.0"
+  resolved "https://registry.npmjs.org/@vant/popperjs/-/popperjs-1.3.0.tgz"
+  integrity sha512-hB+czUG+aHtjhaEmCJDuXOep0YTZjdlRR+4MSmIFnkCQIxJaXLQdSsR90XWvAI2yvKUI7TCGqR8pQg2RtvkMHw==
+
+"@vant/use@^1.6.0":
+  version "1.6.0"
+  resolved "https://registry.npmjs.org/@vant/use/-/use-1.6.0.tgz"
+  integrity sha512-PHHxeAASgiOpSmMjceweIrv2AxDZIkWXyaczksMoWvKV2YAYEhoizRuk/xFnKF+emUIi46TsQ+rvlm/t2BBCfA==
+
 "@videojs/http-streaming@2.16.2":
   version "2.16.2"
   resolved "https://registry.npmmirror.com/@videojs/http-streaming/-/http-streaming-2.16.2.tgz"
@@ -3478,6 +3488,11 @@
     "@vue/compiler-ssr" "3.2.47"
     "@vue/shared" "3.2.47"
 
+"@vue/shared@^3.5.13":
+  version "3.5.13"
+  resolved "https://registry.npmjs.org/@vue/shared/-/shared-3.5.13.tgz"
+  integrity sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==
+
 "@vue/shared@3.2.47":
   version "3.2.47"
   resolved "https://registry.npmjs.org/@vue/shared/-/shared-3.2.47.tgz"
@@ -13152,6 +13167,15 @@ validate-npm-package-name@^5.0.0:
   dependencies:
     builtins "^5.0.0"
 
+vant@^4.9.19:
+  version "4.9.19"
+  resolved "https://registry.npmjs.org/vant/-/vant-4.9.19.tgz"
+  integrity sha512-fRt32XI0fO0vB3/YGhZOpTnHKjplUiNuA05yZy8rPZntmbQE5GA57Y7iC7jmMDxSOaLebovynhgCvWnyk9zmDw==
+  dependencies:
+    "@vant/popperjs" "^1.3.0"
+    "@vant/use" "^1.6.0"
+    "@vue/shared" "^3.5.13"
+
 vary@~1.1.2:
   version "1.1.2"
   resolved "https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz"
@@ -13347,7 +13371,7 @@ vue-template-es2015-compiler@^1.9.0:
   resolved "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz"
   integrity sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==
 
-"vue@^2 || ^3.2.13", "vue@^2.6.0 || ^3.2.0", "vue@^2.6.12 || ^3.1.1", "vue@^3.0.0-0 || ^2.6.0", vue@^3.0.2, vue@^3.0.5, vue@^3.2.0, vue@^3.2.47, vue@>=3, vue@>=3.2.0, vue@3.2.47:
+"vue@^2 || ^3.2.13", "vue@^2.6.0 || ^3.2.0", "vue@^2.6.12 || ^3.1.1", vue@^3.0.0, "vue@^3.0.0-0 || ^2.6.0", vue@^3.0.2, vue@^3.0.5, vue@^3.2.0, vue@^3.2.47, vue@>=3, vue@>=3.2.0, vue@3.2.47:
   version "3.2.47"
   resolved "https://registry.npmjs.org/vue/-/vue-3.2.47.tgz"
   integrity sha512-60188y/9Dc9WVrAZeUVSDxRQOZ+z+y5nO2ts9jWXSTkMvayiWxCWOWtBQoYjLeccfXkiiPZWAHcV+WTPhkqJHQ==