Ver Fonte

fix: 修改样式

lxf há 1 semana atrás
pai
commit
dcd6cc4f8b

+ 0 - 4
src/api/modules/old_mini_map.js

@@ -10,10 +10,6 @@ module.exports = {
         url: "https://api.tianditu.gov.cn/geocoder",
         type: "get"
     },
-    getAltitude: {
-        url: "/v3/elevation/point",
-        type: "get"
-    },
     /** 天地图地名搜索 V2(业务请走 tiandituLocation.fetchPlaceSuggestion) */
     search: {
         url: "https://api.tianditu.gov.cn/v2/search",

BIN
src/assets/img/agricultural/invite-bg.png


BIN
src/assets/img/agricultural/logo-big.png


+ 7 - 0
src/router/globalRoutes.js

@@ -54,6 +54,13 @@ export default [
         meta: { keepAlive: false },
         component: () => import("@/views/old_mini/work_execute/surveyEntry.vue"),
     },
+    // 欢迎建档(无农场引导)
+    {
+        path: "/invite_welcome",
+        name: "InviteWelcome",
+        meta: { keepAlive: false },
+        component: () => import("@/views/old_mini/invite_welcome/index.vue"),
+    },
     // 录入信息
     {
         path: "/entry_information",

+ 1 - 1
src/utils/tiandituLocation.js

@@ -163,7 +163,7 @@ export async function fetchPlaceSuggestion(keyword, locationLngLat) {
     const postObj = {
         keyWord: keyword,
         mapBound: buildMapBound(center.lng, center.lat, 1),
-        level: "18",
+        level: "8",
         queryType: "7",
         start: "0",
         count: "20",

+ 1 - 1
src/views/old_mini/agri_file/components/patrolPanel.vue

@@ -529,7 +529,7 @@ const handleShare = (item) => {
                 ? t("agriFile.patrolAbnormalTitle")
                 : t("agriFile.patrolGrowthTitle"),
         }),
-        imageUrl: "https://birdseye-img.sysuimars.com/temp/field.png",
+        imageUrl: "https://birdseye-img.sysuimars.com/farm-h5/field.png",
     };
     wx.miniProgram.navigateTo({
         url: `/pages/subPages/share_page/index?pageParams=${JSON.stringify(query)}&type=sharePage`,

+ 1 - 1
src/views/old_mini/agri_file/components/reportPanel.vue

@@ -257,7 +257,7 @@ const handleShare = (item) => {
             type: item?.type || "warning",
             fromShare: 1,
         }),
-        imageUrl: item?.cover || "https://birdseye-img.sysuimars.com/temp/field.png",
+        imageUrl: item?.cover || "https://birdseye-img.sysuimars.com/farm-h5/field.png",
     };
     wx.miniProgram.navigateTo({
         url: `/pages/subPages/share_page/index?pageParams=${JSON.stringify(query)}&type=sharePage`,

+ 1 - 1
src/views/old_mini/agri_file/pages/abnormalTrack.vue

@@ -362,7 +362,7 @@ const handleShare = () => {
             fromShare: 1,
             ...(route.query.pageName ? { pageName: route.query.pageName } : {}),
         }),
-        imageUrl: "https://birdseye-img.sysuimars.com/temp/field.png",
+        imageUrl: "https://birdseye-img.sysuimars.com/farm-h5/field.png",
     };
     wx.miniProgram.navigateTo({
         url: `/pages/subPages/share_page/index?pageParams=${JSON.stringify(query)}&type=sharePage`,

+ 1 - 1
src/views/old_mini/agri_file/pages/growthTrack.vue

@@ -300,7 +300,7 @@ const handleShare = () => {
             fromShare: 1,
             ...(route.query.pageName ? { pageName: route.query.pageName } : {}),
         }),
-        imageUrl: "https://birdseye-img.sysuimars.com/temp/field.png",
+        imageUrl: "https://birdseye-img.sysuimars.com/farm-h5/field.png",
     };
     wx.miniProgram.navigateTo({
         url: `/pages/subPages/share_page/index?pageParams=${JSON.stringify(query)}&type=sharePage`,

+ 10 - 7
src/views/old_mini/agri_file/pages/regionAlbums.vue

@@ -341,6 +341,7 @@ onDeactivated(() => {
         border-radius: 50%;
         display: flex;
         align-items: center;
+        backdrop-filter: blur(4px);
         justify-content: center;
         background: rgba(255, 255, 255, 0.25);
         cursor: pointer;
@@ -371,7 +372,7 @@ onDeactivated(() => {
         display: flex;
         align-items: center;
         gap: 4px;
-        padding: 0 6px;
+        padding: 0 10px 0 6px;
         height: 28px;
         border-radius: 24px;
         backdrop-filter: blur(4px);
@@ -379,6 +380,7 @@ onDeactivated(() => {
         color: #fff;
         font-size: 14px;
         box-sizing: border-box;
+        width: fit-content;
         .count-icon {
             width: 20px;
             height: 20px;
@@ -441,14 +443,14 @@ linear-gradient(180deg, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0) 72.1
     &__album-list {
         overflow-y: auto;
         height: 100%;
-        padding: 0 6px 40px;
+        padding: 12px 6px 40px;
         box-sizing: border-box;
     }
 
     &__fab {
         position: fixed;
         right: 18px;
-        bottom: 148px;
+        bottom: 88px;
         z-index: 20;
         width: 56px;
         height: 56px;
@@ -463,18 +465,19 @@ linear-gradient(180deg, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0) 72.1
 
 .album-group {
     & + & {
-        margin-top: 22px;
+        margin-top: 18px;
     }
 
     &__header {
-        margin-bottom: 14px;
+        margin-bottom: 10px;
         padding: 0 6px;
     }
 
     &__date {
-        font-size: 16px;
+        font-size: 14px;
+        font-weight: 600;
         line-height: 22px;
-        color: #010101;
+        color: #fff;
     }
 
     &__remark {

+ 4 - 4
src/views/old_mini/entry_information/components/baInformation.vue

@@ -35,7 +35,7 @@
                     <el-icon size="18" color="rgba(255, 255, 255, 0.6)"><Location /></el-icon>
                     <div class="address-text">
                         <div class="address-name">{{ locationAddress || "定位中..." }}</div>
-                        <div class="address-meta">已定位 · 精度约 10 米</div>
+                        <!-- <div class="address-meta">已定位 · 精度约 10 米</div> -->
                     </div>
                 </div>
             </div>
@@ -430,9 +430,9 @@ onBeforeUnmount(() => {
             font-size: 16px;
             line-height: 24px;
             color: #fff;
-            overflow: hidden;
-            text-overflow: ellipsis;
-            white-space: nowrap;
+            // overflow: hidden;
+            // text-overflow: ellipsis;
+            // white-space: nowrap;
         }
 
         .address-meta {

+ 0 - 116
src/views/old_mini/entry_information/components/inviteEntryPopup.vue

@@ -1,116 +0,0 @@
-<template>
-    <Popup
-        v-model:show="show"
-        round
-        class="invite-entry-popup"
-        teleport="body"
-        :z-index="9999"
-        :close-on-click-overlay="false"
-    >
-        <div class="invite-entry-popup__inner">
-            <img class="invite-entry-popup__cover" src="@/assets/img/home/plant.png" alt="" />
-            <div class="invite-entry-popup__text">
-                <div class="invite-entry-popup__line">管理员邀请您</div>
-                <div class="invite-entry-popup__line" v-if="inviteType === 'service'">
-                    完善 <span class="highlight">农服信息</span>
-                </div>
-                <div class="invite-entry-popup__line" v-else>
-                    录入 <span class="highlight">地块种植信息</span>
-                </div>
-            </div>
-            <div class="invite-entry-popup__btn" @click="handleConfirm">去录入</div>
-        </div>
-    </Popup>
-</template>
-
-<script setup>
-import { ref } from "vue";
-import { useRouter } from "vue-router";
-import { Popup } from "vant";
-
-const INVITE_TYPE_KEY = "ENTRY_INVITE_TYPE";
-const STEP_KEY = "ENTRY_INFORMATION_STEP";
-const ADMIN_ID_KEY = "ENTRY_ADMIN_ID";
-
-const router = useRouter();
-const show = ref(false);
-const inviteType = ref("farmer");
-const adminId = ref("");
-
-const open = (type = "farmer", inviterAdminId = "") => {
-    inviteType.value = type === "service" ? "service" : "farmer";
-    adminId.value = inviterAdminId ? String(inviterAdminId) : "";
-    show.value = true;
-};
-
-const close = () => {
-    show.value = false;
-};
-
-const handleConfirm = () => {
-    close();
-    sessionStorage.setItem(INVITE_TYPE_KEY, inviteType.value);
-    sessionStorage.removeItem(STEP_KEY);
-    if (adminId.value) {
-        sessionStorage.setItem(ADMIN_ID_KEY, adminId.value);
-    }
-    router.push({
-        path: "/entry_information",
-        query: {
-            inviteType: inviteType.value,
-            ...(adminId.value ? { adminId: adminId.value } : {}),
-        },
-    });
-};
-
-defineExpose({ open, close });
-</script>
-
-<style lang="scss">
-.invite-entry-popup {
-    width: 78%;
-    max-width: 320px;
-    overflow: hidden;
-    background: #fff;
-
-    .invite-entry-popup__inner {
-        padding: 10px;
-        text-align: center;
-    }
-
-    .invite-entry-popup__cover {
-        width: 100%;
-        height: 158px;
-        object-fit: cover;
-        border-radius: 12px;
-        display: block;
-    }
-
-    .invite-entry-popup__text {
-        margin-top: 12px;
-        font-size: 24px;
-        color: #111;
-        line-height: 28px;
-    }
-
-    .invite-entry-popup__line {
-        font-family: "PangMenZhengDao";
-        .highlight {
-            color: #2199f8;
-        }
-    }
-
-    .invite-entry-popup__btn {
-        margin-top: 12px;
-        height: 40px;
-        line-height: 40px;
-        width: 160px;
-        margin: 12px auto 0;
-        text-align: center;
-        border-radius: 22px;
-        background: #2199f8;
-        color: #fff;
-        font-size: 16px;
-    }
-}
-</style>

+ 17 - 103
src/views/old_mini/growth_report/index.vue

@@ -67,7 +67,7 @@
                 </div>
                 
                 <div class="invite-group">
-                    <div class="invite-btn">
+                    <div class="invite-btn" @click="handleLocateToCenter">
                         <img class="current-icon" src="@/assets/img/home/current.png" alt="">
                     </div>
                     <div class="invite-btn" @click="handleInvite('service')">
@@ -92,17 +92,13 @@
             @zone-change="handleZoneChange" @height-change="handlePanelHeightChange" />
     </div>
 
-    <!-- 录入信息邀请弹窗:分享链接带 showInviteEntry 时展示 -->
-    <invite-entry-popup ref="invitePopupRef" />
-
-
     <!-- 恢复种植弹窗 -->
     <restore-planting-popup />
 </template>
 
 <script setup>
 import { computed, nextTick, onActivated, onMounted, ref } from "vue";
-import { useRoute, useRouter } from "vue-router";
+import { useRouter } from "vue-router";
 import { useStore } from "vuex";
 import { ElMessage } from "element-plus";
 import { ArrowRight, Close, LocationFilled } from "@element-plus/icons-vue";
@@ -110,14 +106,12 @@ import { convertPointToArray } from "@/utils/index";
 import { fetchRegeo, toLocationParam } from "@/utils/tiandituLocation";
 import GrowthReportMap from "./growthReportMap.js";
 import CropAlertPanel from "./components/CropAlertPanel.vue";
-import inviteEntryPopup from "@/views/old_mini/entry_information/components/inviteEntryPopup.vue";
 import wx from "weixin-js-sdk";
 
 import { base_img_url3 } from "@/api/config";
 import restorePlantingPopup from "@/components/popup/restorePlantingPopup.vue";
 
 const router = useRouter();
-const route = useRoute();
 
 const DEFAULT_MAP_POINT = "POINT(113.6142086995688 23.585836479509055)";
 const LOCATION_SESSION_KEY = "GROWTH_REPORT_LOCATION";
@@ -162,7 +156,6 @@ const activeMenuKey = ref("");
 const activeLegendUrl = ref("");
 const panelHeight = ref(280);
 const inviteBottom = computed(() => panelHeight.value);
-const invitePopupRef = ref(null);
 /** 防止切换农场/分区时旧请求回写 */
 let mapCalcToken = 0;
 
@@ -701,6 +694,18 @@ function syncMapFromSelectedFarm() {
     return true;
 }
 
+/** 定位按钮:地图回到农场 / 用户点位中心 */
+const handleLocateToCenter = () => {
+    if (!growthReportMap.kmap) return;
+    const point = resolveMapCenterPoint() || currentMapPoint.value;
+    if (!point) return;
+    saveCurrentMapPoint(point);
+    const coordinate = convertPointToArray(point)?.map(Number);
+    if (coordinate?.length === 2) {
+        growthReportMap.setMapPosition(coordinate);
+    }
+};
+
 const handleSwitchFarm = () => {
     router.push("/all_garden");
 };
@@ -748,104 +753,15 @@ const handleInvite = (type) => {
     const query = {
         askInfo: { title: "邀请完善信息", content: "是否分享该邀请给好友" },
         shareText: isService ? "邀请您完善农服信息" : "邀请您完善地块种植信息",
-        targetUrl: `growth_report`,
-        paramsPage: JSON.stringify({ inviteName, showInviteEntry: 1, inviteType, adminId }),
-        imageUrl: 'https://birdseye-img.sysuimars.com/temp/field.png',
+        targetUrl: `invite_welcome`,
+        paramsPage: JSON.stringify({ inviteName, inviteType, adminId }),
+        imageUrl: 'https://birdseye-img.sysuimars.com/farm-h5/field.png',
     };
     wx.miniProgram.navigateTo({
         url: `/pages/subPages/share_page/index?pageParams=${JSON.stringify(query)}&type=sharePage`,
     });
 }
 
-function isTruthyFlag(value) {
-    return value === 1 || value === "1" || value === true || value === "true";
-}
-
-function parseMaybeJson(value) {
-    if (!value) return null;
-    if (typeof value === "object") return value;
-    try {
-        return JSON.parse(value);
-    } catch {
-        return null;
-    }
-}
-
-function getInviteTypeFromRoute() {
-    const candidates = [
-        route.query.inviteType,
-        parseMaybeJson(route.query.paramsPage)?.inviteType,
-        parseMaybeJson(route.query.miniJson)?.inviteType,
-        parseMaybeJson(parseMaybeJson(route.query.miniJson)?.paramsPage)?.inviteType,
-    ];
-    return candidates.find((item) => item === "service" || item === "farmer") || "farmer";
-}
-
-function getAdminIdFromRoute() {
-    const candidates = [
-        route.query.adminId,
-        parseMaybeJson(route.query.paramsPage)?.adminId,
-        parseMaybeJson(route.query.miniJson)?.adminId,
-        parseMaybeJson(parseMaybeJson(route.query.miniJson)?.paramsPage)?.adminId,
-    ];
-    return candidates.find((item) => item != null && item !== "") || "";
-}
-
-function shouldShowInviteEntryPopup() {
-    if (isTruthyFlag(route.query.showInviteEntry)) return true;
-
-    const miniJson = parseMaybeJson(route.query.miniJson);
-    if (miniJson) {
-        if (isTruthyFlag(miniJson.showInviteEntry)) return true;
-        const nested = parseMaybeJson(miniJson.paramsPage);
-        if (isTruthyFlag(nested?.showInviteEntry)) return true;
-    }
-
-    const paramsPage = parseMaybeJson(route.query.paramsPage);
-    if (isTruthyFlag(paramsPage?.showInviteEntry)) return true;
-
-    return false;
-}
-
-function clearInviteEntryQuery() {
-    if (!shouldShowInviteEntryPopup()) return;
-    const newQuery = { ...(route.query || {}) };
-    delete newQuery.showInviteEntry;
-    delete newQuery.adminId;
-    if (newQuery.paramsPage) {
-        const paramsPage = parseMaybeJson(newQuery.paramsPage);
-        if (paramsPage && typeof paramsPage === "object") {
-            delete paramsPage.showInviteEntry;
-            newQuery.paramsPage = JSON.stringify(paramsPage);
-        }
-    }
-    if (newQuery.miniJson) {
-        const miniJson = parseMaybeJson(newQuery.miniJson);
-        if (miniJson && typeof miniJson === "object") {
-            delete miniJson.showInviteEntry;
-            if (miniJson.paramsPage) {
-                const nested = parseMaybeJson(miniJson.paramsPage);
-                if (nested && typeof nested === "object") {
-                    delete nested.showInviteEntry;
-                    miniJson.paramsPage = JSON.stringify(nested);
-                }
-            }
-            newQuery.miniJson = JSON.stringify(miniJson);
-        }
-    }
-    router.replace({ path: route.path, query: newQuery });
-}
-
-function tryOpenInviteEntryPopup() {
-    if (!shouldShowInviteEntryPopup()) return;
-    const inviteType = getInviteTypeFromRoute();
-    const adminId = getAdminIdFromRoute();
-    nextTick(() => {
-        invitePopupRef.value?.open(inviteType, adminId);
-        clearInviteEntryQuery();
-    });
-}
-
 const handlePanelHeightChange = (height) => {
     panelHeight.value = Number(height) || 0;
 };
@@ -857,7 +773,6 @@ onMounted(() => {
     // initMap();
     // fetchFarmRangeStatus();
     // fetchInteractTask();
-    // tryOpenInviteEntryPopup();
 });
 onActivated(() => {
     syncSelectedFarmId();
@@ -866,7 +781,6 @@ onActivated(() => {
     initMap();
     fetchFarmRangeStatus();
     // fetchInteractTask();
-    tryOpenInviteEntryPopup();
 });
 </script>
 

+ 240 - 0
src/views/old_mini/invite_welcome/index.vue

@@ -0,0 +1,240 @@
+<template>
+    <div class="invite-welcome-page">
+        <div class="invite-welcome-page__nav" @click="goBack">
+            <el-icon class="invite-welcome-page__back-icon" color="#fff" :size="18">
+                <ArrowLeftBold />
+            </el-icon>
+        </div>
+
+        <div class="invite-welcome-page__hero">
+            <img
+                class="invite-welcome-page__logo"
+                src="@/assets/img/agricultural/logo-big.png"
+                alt="飞鸟管家"
+            />
+            <h1 class="invite-welcome-page__title">欢迎来到飞鸟管家</h1>
+            <p class="invite-welcome-page__subtitle">建好农场档案,马上领取专属种植报告</p>
+        </div>
+
+        <div class="invite-welcome-page__card">
+            <div
+                v-for="(item, index) in featureList"
+                :key="item.title"
+                class="feature-item"
+                :class="{ 'is-last': index === featureList.length - 1 }"
+            >
+                <div class="feature-item__icon">
+                    <img v-if="item.icon" :src="item.icon" alt="" />
+                </div>
+                <div class="feature-item__text">
+                    <div class="feature-item__title">{{ item.title }}</div>
+                    <div class="feature-item__desc">{{ item.desc }}</div>
+                </div>
+            </div>
+        </div>
+
+        <div class="invite-welcome-page__footer">
+            <div class="invite-welcome-page__btn" @click="handleCreate">去新建</div>
+        </div>
+    </div>
+</template>
+
+<script setup>
+import { useRouter, useRoute } from "vue-router";
+import { ArrowLeftBold } from "@element-plus/icons-vue";
+
+const STEP_KEY = "ENTRY_INFORMATION_STEP";
+const INVITE_TYPE_KEY = "ENTRY_INVITE_TYPE";
+
+const router = useRouter();
+const route = useRoute();
+
+const goBack = () => {
+    router.replace({ path: "/growth_report" });
+};
+
+const featureList = [
+    {
+        icon: require("@/assets/img/farm/warning.png"),
+        title: "风险预警",
+        desc: "暴雨、病虫提前 3 天告诉你",
+    },
+    {
+        icon: require("@/assets/img/farm/list.png"),
+        title: "专属种植报告",
+        desc: "按你的品种、地块和物候生成",
+    },
+    {
+        icon: require("@/assets/img/farm/clock.png"),
+        title: "农事提醒",
+        desc: "该干什么、什么时候干,到点提醒",
+    },
+];
+
+/** 进入新建农场流程,保留邀请相关 query */
+const handleCreate = () => {
+    sessionStorage.removeItem(STEP_KEY);
+    const inviteType = route.query.inviteType === "service" ? "service" : "farmer";
+    sessionStorage.setItem(INVITE_TYPE_KEY, inviteType);
+
+    const query = {
+        // isClose: "1",
+        inviteType,
+    };
+    if (route.query.adminId) {
+        query.adminId = String(route.query.adminId);
+    }
+
+    router.replace({ path: "/entry_information", query });
+};
+</script>
+
+<style scoped lang="scss">
+.invite-welcome-page {
+    position: relative;
+    min-height: 100vh;
+    min-height: 100dvh;
+    box-sizing: border-box;
+    display: flex;
+    flex-direction: column;
+    align-items: center;
+    padding: 52px 28px calc(28px + env(safe-area-inset-bottom));
+    background: #0a0c0a url("@/assets/img/agricultural/invite-bg.png") no-repeat center top /
+        cover;
+    color: #fff;
+}
+
+.invite-welcome-page__nav {
+    position: absolute;
+    z-index: 2;
+    top: 14px;
+    left: 12px;
+    width: 32px;
+    height: 32px;
+    border-radius: 50%;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    backdrop-filter: blur(4px);
+    background: rgba(255, 255, 255, 0.25);
+    cursor: pointer;
+}
+
+.invite-welcome-page__hero {
+    width: 100%;
+    display: flex;
+    flex-direction: column;
+    align-items: center;
+    text-align: center;
+}
+
+.invite-welcome-page__logo {
+    width: 76px;
+    height: auto;
+    display: block;
+}
+
+.invite-welcome-page__title {
+    margin: 28px 0 0;
+    font-size: 28px;
+    font-family: "PangMenZhengDao";
+    line-height: 32px;
+}
+
+.invite-welcome-page__subtitle {
+    margin: 14px 0 0;
+    font-size: 14px;
+    line-height: 22px;
+    color: rgba(255, 255, 255, 0.6);
+}
+
+.invite-welcome-page__card {
+    background: linear-gradient(180deg, rgba(26, 25, 29, 0.82) 0%, rgba(18, 18, 22, 0.82) 100%);
+    width: 100%;
+    margin-top: 40px;
+    padding: 12px;
+    box-sizing: border-box;
+    border-radius: 16px;
+    border: 1px solid rgba(255, 255, 255, 0.12);
+    backdrop-filter: blur(4px);
+    -webkit-backdrop-filter: blur(4px);
+}
+
+.feature-item {
+    display: flex;
+    align-items: center;
+    gap: 12px;
+    position: relative;
+    padding-bottom: 26px;
+    &:last-child {
+        padding-bottom: 0;
+    }
+    &:not(:last-child)::after {
+        content: '';
+        position: absolute;
+        bottom: 0;
+        left: 0;
+        width: calc(100% - 48px);
+        margin: 11px 0 14px 48px;
+        height: 1px;
+        background: rgba(255, 255, 255, 0.12);
+    }
+}
+
+.feature-item__icon {
+    flex-shrink: 0;
+    width: 35px;
+    height: 35px;
+    border-radius: 10px;
+    border: 1px solid rgba(255, 212, 137, 0.16);
+    background: rgba(255, 212, 137, 0.1);
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    box-sizing: border-box;
+
+    img,
+    .feature-item__svg {
+        width: 20px;
+        height: 20px;
+        object-fit: contain;
+        display: block;
+    }
+}
+
+.feature-item__text {
+    min-width: 0;
+    flex: 1;
+}
+
+.feature-item__title {
+    font-size: 16px;
+    line-height: 24px;
+    color: #fff;
+}
+
+.feature-item__desc {
+    margin-top: 1px;
+    font-size: 12px;
+    line-height: 20px;
+    color: rgba(255, 255, 255, 0.5);
+}
+
+.invite-welcome-page__footer {
+    width: 100%;
+    // margin-top: auto;
+    padding-top: 34px;
+}
+
+.invite-welcome-page__btn {
+    width: 100%;
+    height: 48px;
+    border-radius: 8px;
+    background: linear-gradient(90deg, #FFEBC9 0%, #FFCA6D 100%);
+    color: #1a1408;
+    font-size: 16px;
+    font-weight: 500;
+    line-height: 48px;
+    text-align: center;
+}
+</style>

+ 3 - 3
src/views/old_mini/work_execute/components/calendar.vue

@@ -259,10 +259,10 @@ defineExpose({
 <style lang="scss" scoped>
 .calendar {
     width: 100%;
-    padding: 14px 12px 12px;
+    padding: 10px;
     box-sizing: border-box;
-    border-radius: 16px;
-    background: rgba(255, 255, 255, 0.06);
+    border-radius: 12px;
+    background: #151519;
     border: 1px solid rgba(255, 255, 255, 0.06);
     text-align: center;
 

+ 2 - 7
vue.config.js

@@ -38,11 +38,6 @@ module.exports = {
                 ws: false,
                 pathRewrite: { '^/tianditu-api': '' },
             },
-            '/v3': {
-                target: 'https://restapi.amap.com',
-                changeOrigin: true,
-                ws: false,
-            },
             '/mapimg': {
                 target: 'https://feiniao-farm-h5-v3.feiniaotech.com',
                 changeOrigin: true,
@@ -50,8 +45,8 @@ module.exports = {
             }
         },
         //这里的ip和端口是前端项目的;下面为需要跨域访问后端项目
-        host:"0.0.0.0",
-        port: '8080',
+        host:"127.0.0.1",
+        port: '8081',
         https: false,
         open: false // 配置自动启动浏览器
     },