Forráskód Böngészése

Merge remote-tracking branch 'origin/main' into main

# Conflicts:
#	src/pages-charge/machines/machines.vue
#	src/pages/map/map.vue
zuy 1 éve
szülő
commit
abbd727ca6

+ 1 - 1
src/App.vue

@@ -33,7 +33,7 @@ export default <any>{
 
 view {
   box-sizing: border-box;
-  --color-primary: #347dff;
+  --color-primary: #2d9e95;
   --color-warning: #ff9900;
   --color-sec: #f7f7f7;
 }

+ 2 - 2
src/api/charge.ts

@@ -123,7 +123,7 @@ export function fetchChargeStatus(
           content: "当前已有预约中的订单,请取消再扫码充电",
           showCancel: false,
           confirmText: "查看预约",
-          confirmColor: "#347DFF",
+          confirmColor: "#2d9e95",
           success(modal) {
             if (modal.confirm) {
               uni.redirectTo({
@@ -140,7 +140,7 @@ export function fetchChargeStatus(
           content: "当前已有进行中的订单,请结束订单再扫码充电",
           showCancel: false,
           confirmText: "查看详情",
-          confirmColor: "#347DFF",
+          confirmColor: "#2d9e95",
           success(modal) {
             if (modal.confirm) {
               uni.redirectTo({

+ 4 - 4
src/components/style-button/style-button.vue

@@ -51,7 +51,7 @@ button::after {
 
 .button {
   --bg-default: #ffffff;
-  --bg-primary: #347dff;
+  --bg-primary: #2d9e95;
   --bg-warning: #ff9900;
   --bg-error: red;
   --color-default: #666666;
@@ -59,7 +59,7 @@ button::after {
   --color-warning: #ffffff;
   --color-error: #ffffff;
   --border-default: #999999;
-  --border-primary: #347dff;
+  --border-primary: #2d9e95;
   --border-warning: #ff9900;
   --border-error: red;
 
@@ -68,11 +68,11 @@ button::after {
   --bg-warning-border: #ffffff;
   --bg-error-border: #ffffff;
   --color-default-border: #666666;
-  --color-primary-border: #347dff;
+  --color-primary-border: #2d9e95;
   --color-warning-border: #ff9900;
   --color-error-border: red;
   --border-default-border: #666666;
-  --border-primary-border: #347dff;
+  --border-primary-border: #2d9e95;
   --border-warning-border: #ff9900;
   --border-error-border: red;
 

+ 1 - 1
src/custom-tab-bar/index.wxss

@@ -79,7 +79,7 @@ button::after {
 }
 
 .tab-bar-item .selected-color {
-  color: #347DFF;
+  color: #2d9e95;
   font-weight: 500;
 }
 

+ 3 - 3
src/pages-charge/appointment/appointment.vue

@@ -175,7 +175,7 @@
           <view class="ml-auto">
             <switch
               :checked="chargeTime.isPowerSaving"
-              color="#347DFF"
+              color="#2d9e95"
               @change="changePowerSaving"
             />
           </view>
@@ -477,7 +477,7 @@ const changeHour = (index: number) => {
       title: "温馨提示",
       content: `确认修改为${timesInfo.value.hour[index].format}吗?`,
       confirmText: "确定",
-      confirmColor: "#347DFF",
+      confirmColor: "#2d9e95",
       success(modal) {
         if (modal.confirm) {
           uni.showLoading({
@@ -563,7 +563,7 @@ const cancelAppointment = () => {
     cancelText: "取消预约",
     cancelColor: "#999999",
     confirmText: "点错了",
-    confirmColor: "#347DFF",
+    confirmColor: "#2d9e95",
     success: (res) => {
       if (res.cancel) {
         uni.showLoading({

+ 1 - 1
src/pages-charge/codeing/codeing.vue

@@ -61,7 +61,7 @@ const submit = () => {
         title: "温馨提示",
         content: `充电桩编号不存在,请检查后重新输入`,
         confirmText: "确定",
-        confirmColor: "#347DFF",
+        confirmColor: "#2d9e95",
         showCancel: false,
       });
     });

+ 118 - 165
src/pages-charge/machines/machines.vue

@@ -1,62 +1,52 @@
 <template>
   <!--  #ifdef MP-WEIXIN -->
-  <page-meta page-style="overflow: {{y ? 'hidden' : 'visible'}}"/>
+  <page-meta page-style="overflow: {{y ? 'hidden' : 'visible'}}" />
   <!--  #endif -->
   <view :class="['pb-40']" v-if="station">
     <view class="banner">
       <swiper
-          class="full-percent"
-          circular
-          :indicator-dots="true"
-          :autoplay="true"
-          :interval="3000"
+        class="full-percent"
+        circular
+        :indicator-dots="true"
+        :autoplay="true"
+        :interval="3000"
       >
         <swiper-item
-            class="full-percent"
-            v-for="(item, index) in station.bannerImages"
-            :key="index"
+          class="full-percent"
+          v-for="(item, index) in station.bannerImages"
+          :key="index"
         >
           <view
-              class="full-percent banner-image"
-              :style="{
+            class="full-percent banner-image"
+            :style="{
               backgroundImage: `url(${item})`,
             }"
-              @click="previewImage(item)"
+            @click="previewImage(item)"
           ></view>
         </swiper-item>
       </swiper>
     </view>
     <view class="pl-20 pr-20">
       <view class="station flex-column" v-if="canUseCount >= 0">
-        <view style="display: inline-flex;align-items: center;">
-          <view class="fs-40 fw-600 color-000">{{ title }}</view>
-          <view class="coupon-box ml-5"
-                v-if="location.activityList&&location.activityList.length>0"
-                @tap.stop="toCouponCenter"
-          >
-            <image src="/static/images/coupon-center.png" mode="widthFix" style="width:42rpx"/>
-            <text>领取优惠</text>
-          </view>
-        </view>
-
+        <view class="fs-40 fw-600 color-000">{{ title }}</view>
         <view class="flex-align-center mt-10 height-48 relative flex-shrink">
           <image
-              src="/pages-charge/static/machines-banner-address.png"
-              mode="widthFix"
-              style="width: 16px; display: block; flex-shrink: 0"
+            src="/pages-charge/static/machines-banner-address.png"
+            mode="widthFix"
+            style="width: 16px; display: block; flex-shrink: 0"
           />
           <view class="ml-12 fs-26 color-666">{{ location.address }}</view>
           <view class="flex-center ml-auto nav" @click="openAddress">
             <image
-                src="/pages-charge/static/machines-banner-nav.png"
-                mode="widthFix"
+              src="/pages-charge/static/machines-banner-nav.png"
+              mode="widthFix"
             />
-            <view class="fs-26" style="color: #347dff">导航</view>
+            <view class="fs-26" style="color: #2d9e95">导航</view>
           </view>
         </view>
         <view
-            class="foot mt-30 flex-align-center flex-shrink"
-            @click="openDesc"
+          class="foot mt-30 flex-align-center flex-shrink"
+          @click="openDesc"
         >
           <view class="fs-28 color-666">可用充电桩:</view>
           <view class="fs-36 fw-500 color-primary">{{ canUseCount }}</view>
@@ -71,24 +61,23 @@
           <view class="fs-26 color-000">{{ canUsePrice }}元/度</view>
           <view class="ml-auto lh-0">
             <uni-icons
-                type="right"
-                size="18"
-                color="rgba(0,0,0,0.4)"
+              type="right"
+              size="18"
+              color="rgba(0,0,0,0.4)"
             ></uni-icons>
           </view>
         </view>
         <view class="flex-align-center">
           <view class="width-168 fs-26 color-666">停车费用</view>
           <view class="fs-26 color-000">{{
-              Number(station.parkFee) > 0
-                  ? station.parkFee
-                  : "以停车场公示信息为准"
-            }}
-          </view>
+            Number(station.parkFee) > 0
+              ? station.parkFee
+              : "以停车场公示信息为准"
+          }}</view>
         </view>
         <view
-            class="flex-align-center"
-            v-if="
+          class="flex-align-center"
+          v-if="
             station &&
             station.equipmentInfos &&
             station.equipmentInfos.length &&
@@ -97,28 +86,25 @@
         >
           <view class="width-168 fs-26 color-666">充电桩类型</view>
           <view class="fs-26 color-000"
-          >{{
+            >{{
               station.equipmentInfos[0].connectorInfos[0].connectorType === 1
-                  ? "直流"
-                  : "交流"
-            }}{{ station.equipmentInfos[0].connectorInfos[0].power }}kw
-          </view
+                ? "直流"
+                : "交流"
+            }}{{ station.equipmentInfos[0].connectorInfos[0].power }}kw</view
           >
         </view>
       </view>
       <view class="pt-40 flex-align-center">
         <view class="fs-32 fw-500 color-999">充电桩</view>
         <view class="fs-26 color-999" v-if="station"
-        >(共{{ totalCount }}个)
-        </view
+          >(共{{ totalCount }}个)</view
         >
         <view class="ml-auto flex-align-center" @click="openStatus">
           <view class="fs-28 color-333 mr-16">{{
-              statusList[status].title
-            }}
-          </view>
+            statusList[status].title
+          }}</view>
           <view
-              style="
+            style="
               width: 0;
               height: 0;
               border: 8rpx solid;
@@ -129,32 +115,31 @@
         </view>
       </view>
       <template
-          v-if="station"
-          v-for="(item, index) in stationEquipmentInfos"
-          :key="index"
+        v-if="station"
+        v-for="(item, index) in stationEquipmentInfos"
+        :key="index"
       >
         <ChargeMachine
-            :title="'NO.' + item.shortId"
-            :price="station.totalFee"
-            :list="item.connectorInfos"
-            :parkingNo="item.parkingNo"
+          :title="'NO.' + item.shortId"
+          :price="station.totalFee"
+          :list="item.connectorInfos"
+          :parkingNo="item.parkingNo"
         ></ChargeMachine>
       </template>
     </view>
     <PriceDesc
-        v-if="dialogVisible && dialogType === 'desc'"
-        :desc="desc"
-        @close="closeDialog"
+      v-if="dialogVisible && dialogType === 'desc'"
+      :desc="desc"
+      @close="closeDialog"
     ></PriceDesc>
     <view
-        class="dialog flex-align-end"
-        v-if="dialogVisible && dialogType === 'status'"
+      class="dialog flex-align-end"
+      v-if="dialogVisible && dialogType === 'status'"
     >
       <view class="status-dialog">
         <view class="status-dialog_head flex-center">
           <view class="fw-500 color-000" style="font-size: 16px"
-          >选择充电桩状态
-          </view
+            >选择充电桩状态</view
           >
           <view class="close" @click="closeDialog">
             <uni-icons type="closeempty" size="24" color="#2D284B"></uni-icons>
@@ -163,11 +148,11 @@
         <view class="status-dialog_body">
           <view class="status">
             <view
-                :class="['fs-32', 'flex-align-center']"
-                :style="{ color: status === index ? '#347DFF' : '#2d284b' }"
-                v-for="(statusItem, index) in statusList"
-                :key="index"
-                @click="changeStatus(index)"
+              :class="['fs-32', 'flex-align-center']"
+              :style="{ color: status === index ? '#2d9e95' : '#2d284b' }"
+              v-for="(statusItem, index) in statusList"
+              :key="index"
+              @click="changeStatus(index)"
             >
               {{ statusItem.title }}
             </view>
@@ -179,12 +164,11 @@
 </template>
 
 <script setup lang="ts">
-import {ref} from "vue";
-import {fetchStation, fetchStationPriceDesc} from "../../api/charge";
-import {onLoad} from "@dcloudio/uni-app";
+import { ref } from "vue";
+import { fetchStation, fetchStationPriceDesc } from "../../api/charge";
+import { onLoad } from "@dcloudio/uni-app";
 import ChargeMachine from "./charge-machine/charge-machine.vue";
 import PriceDesc from "./price-desc/price-desc.vue";
-
 const dialogVisible = ref(false);
 const dialogType = ref("");
 const desc = ref<any[]>([]);
@@ -210,7 +194,6 @@ const location = ref({
   address: "",
   latitude: "",
   longitude: "",
-  activityList: Array
 });
 
 const station = ref();
@@ -224,13 +207,12 @@ onLoad((options: any) => {
   });
   title.value = _title;
   if (getApp<any>().globalData.lastData.station) {
-    const {address, latitude, longitude, activityList} =
-        getApp<any>().globalData.lastData.station;
+    const { address, latitude, longitude } =
+      getApp<any>().globalData.lastData.station;
     location.value = {
       address,
       latitude,
       longitude,
-      activityList
     };
     getApp<any>().globalData.lastData.station = undefined;
   }
@@ -239,59 +221,59 @@ onLoad((options: any) => {
     mask: true,
   });
   fetchStation(Number(options.id))
-      .then((res) => {
-        console.log(res);
-        let ConnectorID = "";
-        if (res.equipmentInfos && res.equipmentInfos.length) {
-          res.equipmentInfos.forEach((item: any) => {
-            if (item.connectorInfos && item.connectorInfos.length) {
-              item.connectorInfos.forEach((con: any) => {
-                totalCount.value++;
-                if (!ConnectorID) {
-                  ConnectorID = con.connectorId;
-                }
-                if (
-                    con.connectorStatusInfo &&
-                    con.connectorStatusInfo.status === 1
-                ) {
-                  canUseCount.value++;
-                }
-              });
-            }
-          });
-        }
-        res.bannerImages = res.pictures.split(",");
-        station.value = res;
-        stationEquipmentInfos.value = res.equipmentInfos.map((item: any) => {
-          return {
-            ...item,
-          };
+    .then((res) => {
+      console.log(res);
+      let ConnectorID = "";
+      if (res.equipmentInfos && res.equipmentInfos.length) {
+        res.equipmentInfos.forEach((item: any) => {
+          if (item.connectorInfos && item.connectorInfos.length) {
+            item.connectorInfos.forEach((con: any) => {
+              totalCount.value++;
+              if (!ConnectorID) {
+                ConnectorID = con.connectorId;
+              }
+              if (
+                con.connectorStatusInfo &&
+                con.connectorStatusInfo.status === 1
+              ) {
+                canUseCount.value++;
+              }
+            });
+          }
         });
-        if (ConnectorID) {
-          return fetchStationPriceDesc(ConnectorID);
-        } else {
-          // eslint-disable-next-line promise/no-return-wrap
-          return Promise.resolve({
-            policyInfos: [],
-          });
-        }
-      })
-      .then((res) => {
-        uni.hideLoading();
-        currentTime.value = res.currentTime;
-        canUseTime.value = res.useTime;
-        canUsePrice.value = `${res.minPrice}~${res.maxPrice}`;
-        desc.value = res.policyInfos || [];
-      })
-      .catch((err) => {
-        // eslint-disable-next-line no-console
-        console.log(err);
-        uni.hideLoading();
-        uni.showToast({
-          title: "加载失败,请重试",
-          icon: "none",
+      }
+      res.bannerImages = res.pictures.split(",");
+      station.value = res;
+      stationEquipmentInfos.value = res.equipmentInfos.map((item: any) => {
+        return {
+          ...item,
+        };
+      });
+      if (ConnectorID) {
+        return fetchStationPriceDesc(ConnectorID);
+      } else {
+        // eslint-disable-next-line promise/no-return-wrap
+        return Promise.resolve({
+          policyInfos: [],
         });
+      }
+    })
+    .then((res) => {
+      uni.hideLoading();
+      currentTime.value = res.currentTime;
+      canUseTime.value = res.useTime;
+      canUsePrice.value = `${res.minPrice}~${res.maxPrice}`;
+      desc.value = res.policyInfos || [];
+    })
+    .catch((err) => {
+      // eslint-disable-next-line no-console
+      console.log(err);
+      uni.hideLoading();
+      uni.showToast({
+        title: "加载失败,请重试",
+        icon: "none",
       });
+    });
 });
 const openAddress = function () {
   uni.openLocation({
@@ -321,11 +303,11 @@ const changeStatus = function (index: number) {
   status.value = index;
   if (index === 0) {
     stationEquipmentInfos.value = station.value.equipmentInfos.map(
-        (item: any) => {
-          return {
-            ...item,
-          };
-        }
+      (item: any) => {
+        return {
+          ...item,
+        };
+      }
     );
     closeDialog();
     return;
@@ -337,8 +319,8 @@ const changeStatus = function (index: number) {
     if (item.connectorInfos && item.connectorInfos.length) {
       item.connectorInfos.forEach((con: any) => {
         if (
-            con.connectorStatusInfo &&
-            Number(con.connectorStatusInfo.status) === STATUS_MAP[status.value]
+          con.connectorStatusInfo &&
+          Number(con.connectorStatusInfo.status) === STATUS_MAP[status.value]
         ) {
           check = true;
         }
@@ -357,18 +339,10 @@ const previewImage = (url: string) => {
     current: url,
   });
 };
-
-const toCouponCenter = () => {
-  // uni.navigateTo({
-  //   url: `/pages-charge/coupon-center/coupon-center?title=${station.value.title}&id=${station.value.StationID}`,
-  // });
-
-}
 </script>
 
 <style lang="scss">
 @import "../../styles/dialog.scss";
-
 page {
   background-color: #f5f5f5;
 }
@@ -376,7 +350,6 @@ page {
 .banner {
   height: 440rpx;
   background-color: transparent;
-
   .banner-image {
     background-position: center;
     background-size: cover;
@@ -400,7 +373,6 @@ page {
     height: 48rpx;
     border-radius: 40rpx;
     background: rgba(52, 125, 255, 0.1);
-
     image {
       width: 36rpx;
     }
@@ -417,11 +389,9 @@ page {
   padding: 0rpx 30rpx;
   border-radius: 20rpx;
   background-color: #fff;
-
   & > view {
     height: 90rpx;
     border-top: 1px solid rgba(0, 0, 0, 0.1);
-
     &:first-child {
       border-top: none;
     }
@@ -438,7 +408,6 @@ page {
     padding: 24rpx 0px;
     position: relative;
     background-color: #fff;
-
     .close {
       position: absolute;
       right: 30rpx;
@@ -458,7 +427,6 @@ page {
       & > view {
         height: 92rpx;
         border-top: 1px solid rgba(0, 0, 0, 0.1);
-
         &:first-child {
           border-top: none;
         }
@@ -466,19 +434,4 @@ page {
     }
   }
 }
-
-.coupon-box {
-  display: inline-flex;
-  justify-content: space-between;
-  align-items: center;
-  color: #dd524d;
-  font-size: 24rpx;
-  border-radius: 20rpx;
-  border: 3rpx solid #dd524d;
-  padding: 2rpx 6rpx;
-
-  text {
-    font-size: 24rpx;
-  }
-}
 </style>

+ 1 - 1
src/pages-charge/machines/price-desc/price-desc.vue

@@ -77,7 +77,7 @@ export default defineComponent({
         "rgba(255, 46, 0, 0.20)",
         "rgba(0, 218, 179, 0.20)"
       ],
-      iconColor: ["#00DAB3", "#347DFF", "#FF9900", "#FF2E00", "#006b57"]
+      iconColor: ["#00DAB3", "#2d9e95", "#FF9900", "#FF2E00", "#006b57"]
     };
   },
   mounted() {

+ 4 - 4
src/pages-charge/ordering/ordering.vue

@@ -105,7 +105,7 @@ const startStartTimer = () => {
         content: "出现问题,请重试",
         showCancel: false,
         confirmText: "知道了",
-        confirmColor: "#347DFF",
+        confirmColor: "#2d9e95",
         success() {
           uni.navigateBack();
         },
@@ -162,7 +162,7 @@ const cancel = () => {
     cancelText: "停止",
     cancelColor: "#999999",
     confirmText: "点错了",
-    confirmColor: "#347DFF",
+    confirmColor: "#2d9e95",
     success: (res) => {
       if (res.cancel) {
         clearTimeout(timer);
@@ -301,7 +301,7 @@ const finish = () => {
         content: "出现错误,请重试",
         showCancel: false,
         confirmText: "重试",
-        confirmColor: "#347DFF",
+        confirmColor: "#2d9e95",
         success: () => {
           finish();
         },
@@ -388,7 +388,7 @@ const onImgLoad = () => {
           content: "当前有正在充电中的订单",
           showCancel: false,
           confirmText: "查看订单",
-          confirmColor: "#347DFF",
+          confirmColor: "#2d9e95",
           success: () => {
             fetchStatus(res);
           },

+ 1 - 1
src/pages-charge/search/search.vue

@@ -104,7 +104,7 @@ const search = function () {
       title: "温馨提示",
       content: "请输入搜素内容",
       showCancel: false,
-      confirmColor: "#347DFF",
+      confirmColor: "#2d9e95",
     });
     return;
   }

BIN
src/pages-charge/static/charge-input-head.png


BIN
src/pages-charge/static/machines-banner-nav.png


+ 1 - 1
src/pages-user/profile-edit/profile-edit.vue

@@ -48,7 +48,7 @@ const save = () => {
     uni.showModal({
       title: "提示",
       content: "未保存修改,返回后本次编辑无效",
-      confirmColor: "#347DFF",
+      confirmColor: "#2d9e95",
       confirmText: "知道了",
       showCancel: false,
       success() {

+ 1 - 1
src/pages-user/profile/profile.vue

@@ -191,7 +191,7 @@ const logoutUser = () => {
   uni.showModal({
     title: "温馨提示",
     content: "确定退出登录吗?",
-    confirmColor: "#347DFF",
+    confirmColor: "#2d9e95",
     confirmText: "确定退出",
     cancelText: "手滑了",
     success: (res) => {

BIN
src/pages-user/static/wallet-banner.png


+ 2 - 2
src/pages-user/wallet-recharge/wallet-recharge.vue

@@ -78,7 +78,7 @@ const confirm = () => {
       title: "温馨提示",
       content: "请输入正确的金额",
       showCancel: false,
-      confirmColor: "#347DFF",
+      confirmColor: "#2d9e95",
     });
     return;
   }
@@ -90,7 +90,7 @@ const confirm = () => {
       title: "温馨提示",
       content: "每次最大充值金额10000,请修改金额",
       showCancel: false,
-      confirmColor: "#347DFF",
+      confirmColor: "#2d9e95",
     });
     return;
   }

+ 109 - 90
src/pages-user/wallet/wallet.vue

@@ -1,9 +1,9 @@
 <template>
   <view class="page flex-column">
     <navigation-bar
-      autoFixedStyle="background-color:#fff;"
-      title="我的钱包"
-      @ready="ready"
+        autoFixedStyle="background-color:#fff;"
+        title="我的钱包"
+        @ready="ready"
     ></navigation-bar>
     <view class="head flex-shrink">
       <view>
@@ -11,25 +11,28 @@
         <view class="fg pt-48 pl-48 pr-48">
           <view class="flex-align-center">
             <uni-icons
-              type="wallet-filled"
-              size="24"
-              color="#ffffff"
+                type="wallet-filled"
+                size="24"
+                color="#ffffff"
             ></uni-icons>
             <view class="fs-36 color-fff fw-500 ml-16">我的钱包</view>
             <view
-              class="btn flex-center fs-28 ml-auto"
-              @click="to(`/pages-user/wallet-refund/wallet-refund`)"
-              >退款</view
+                class="btn flex-center fs-28 ml-auto"
+                @click="to(`/pages-user/wallet-refund/wallet-refund`)"
+            >退款
+            </view
             >
           </view>
           <view class="price mt-50" v-if="user">
             <text class="color-fff fw-600 fs-48" style="vertical-align: top"
-              >¥</text
+            >¥
+            </text
             >
             <text
-              class="color-fff fw-600 ml-12"
-              style="font-size: 46px; line-height: 46px"
-              >{{ user.balance }}</text
+                class="color-fff fw-600 ml-12"
+                style="font-size: 46px; line-height: 46px"
+            >{{ user.balance }}
+            </text
             >
           </view>
         </view>
@@ -38,54 +41,59 @@
     <view class="body flex-grow flex-column">
       <view class="tabs flex-shrink flex-align-center">
         <view
-          v-for="(item, index) in tabs"
-          :key="index"
-          class="flex-align-center fs-30 mr-60"
-          :style="{
+            v-for="(item, index) in tabs"
+            :key="index"
+            class="flex-align-center fs-30 mr-60"
+            :style="{
             color:
               tab === item.value ? 'rgba(0, 0, 0, 1);' : 'rgba(0, 0, 0, 0.6);',
           }"
-          @click="changeTab(index)"
-          >{{ item.label
-          }}<view
-            :style="{ opacity: tab === item.value ? '1' : '0' }"
-            class="active"
+            @click="changeTab(index)"
+        >{{
+            item.label
+          }}
+          <view
+              :style="{ opacity: tab === item.value ? '1' : '0' }"
+              class="active"
           ></view
-        ></view>
+          >
+        </view>
       </view>
       <view class="list pl-30 pr-30">
         <view
-          class="item flex-align-center"
-          v-for="(item, index) in dataList"
-          :key="index"
-          @click="detail(index)"
+            class="item flex-align-center"
+            v-for="(item, index) in dataList"
+            :key="index"
+            @click="detail(index)"
         >
           <view>
             <view class="fs-30 fw-500" key="title" duration="300">{{
-              typeMap[item.type - 1]
-            }}</view>
+                typeMap[item.type - 1]
+              }}
+            </view>
             <view v-if="item.type!==2">
               <view class="fs-24" style="color: rgba(0, 0, 0, 0.4)">余额</view>
             </view>
             <view v-else>
-              <text class="refund-status" :style="refundStyle(item.status)">{{refundLabel(item.status)}}</text>
+              <text class="refund-status" :style="refundStyle(item.status)">{{ refundLabel(item.status) }}</text>
             </view>
 
           </view>
           <view class="ml-auto" style="text-align: right">
             <view class="fs-30 fw-500">
-              <text>{{ item.type ==3 ? "- " : "" }}{{ item.amount }}</text>
+              <text>{{ item.type == 3 ? "- " : "" }}{{ item.amount }}</text>
               <text class="fs-24 ml-6">元</text>
             </view>
             <view class="fs-24" style="color: rgba(0, 0, 0, 0.4)">{{
-              item.transactionTime
-            }}</view>
+                item.transactionTime
+              }}
+            </view>
           </view>
           <view class="ml-32" v-if="item.type === 3">
             <uni-icons
-              type="right"
-              size="12"
-              color="rgba(0,0,0,0.4)"
+                type="right"
+                size="12"
+                color="rgba(0,0,0,0.4)"
             ></uni-icons>
           </view>
           <view class="ml-32" v-else>&nbsp;&nbsp;&nbsp;</view>
@@ -96,9 +104,10 @@
     <style-bottom-view background="#ffffff">
       <view class="pl-40 pr-40 pb-30 pt-30">
         <style-button
-          type="primary"
-          @click="to(`/pages-user/wallet-recharge/wallet-recharge`)"
-          >充值</style-button
+            type="primary"
+            @click="to(`/pages-user/wallet-recharge/wallet-recharge`)"
+        >充值
+        </style-button
         >
       </view>
     </style-bottom-view>
@@ -106,16 +115,16 @@
 </template>
 
 <script setup lang="ts">
-import { useInfiniteScroll } from "../../utils/infinite-scroll";
-import { onReachBottom, onPullDownRefresh, onShow } from "@dcloudio/uni-app";
-import { fetchWallet ,listRefund} from "../../api/user";
-import { to } from "../../utils/navigate";
-import { ref } from "vue";
-import { rpxToPx } from "@/utils/device";
+import {useInfiniteScroll} from "../../utils/infinite-scroll";
+import {onReachBottom, onPullDownRefresh, onShow} from "@dcloudio/uni-app";
+import {fetchWallet, listRefund} from "../../api/user";
+import {to} from "../../utils/navigate";
+import {ref} from "vue";
+import {rpxToPx} from "@/utils/device";
 
 const user = ref();
 
-const dataList =ref([])
+const dataList = ref([])
 const tab = ref(0);
 const tabs = ref([
   {
@@ -137,11 +146,11 @@ const tabs = ref([
 ]);
 
 const refundStatusMap = ref([
-  {label:'退款成功 ',value:'SUCCESS',color:'#4cd964'},
-  {label:'退款关闭  ',value:'CLOSED',color:'#000000'},
-  {label:'退款处理中 ',value:'PROCESSING',color:'#007aff'},
-  {label:'退款异常  ',value:'ABNORMAL',color:'#dd524d'},
-  {label:'退款已申请  ',value:'NEW',color:'#f0ad4e'},
+  {label: '退款成功 ', value: 'SUCCESS', color: '#4cd964'},
+  {label: '退款关闭  ', value: 'CLOSED', color: '#000000'},
+  {label: '退款处理中 ', value: 'PROCESSING', color: '#007aff'},
+  {label: '退款异常  ', value: 'ABNORMAL', color: '#dd524d'},
+  {label: '退款已申请  ', value: 'NEW', color: '#f0ad4e'},
 ])
 
 const typeMap = ref(["充值", "退款", "消费"]);
@@ -181,20 +190,20 @@ onPullDownRefresh(() => {
 
 const ready = (e: any) => {
   scrollViewHeight.value =
-    getApp<any>().globalData.device.windowHeight -
-    (e.detail.navigationBarHeight + rpxToPx(380));
+      getApp<any>().globalData.device.windowHeight -
+      (e.detail.navigationBarHeight + rpxToPx(380));
 };
 
-const refundLabel   = (value:string)=>{
-  return refundStatusMap.value.find((item:any)=>item.value===value)?.label
+const refundLabel = (value: string) => {
+  return refundStatusMap.value.find((item: any) => item.value === value)?.label
 }
 
-const refundStyle   = (value:string)=>{
-  let rf =  refundStatusMap.value.find((item:any)=>item.value===value);
+const refundStyle = (value: string) => {
+  let rf = refundStatusMap.value.find((item: any) => item.value === value);
   return setupLabelColorStyle(rf?.color)
 }
 
-const setupLabelColorStyle=(hex: string = "#000000", opacity = 0.2)=> {
+const setupLabelColorStyle = (hex: string = "#000000", opacity = 0.2) => {
   if (!hex) {
     hex = "#000000"
   }
@@ -205,8 +214,8 @@ const setupLabelColorStyle=(hex: string = "#000000", opacity = 0.2)=> {
   const b = parseInt(hex.substring(4, 6), 16);
 
   return {
-/*    'text-shadow': `2px 2px 3px rgba(${r},${g},${b},${opacity})`,
-    'background-color': `rgba(${r},${g},${b},${opacity})`,*/
+    /*    'text-shadow': `2px 2px 3px rgba(${r},${g},${b},${opacity})`,
+        'background-color': `rgba(${r},${g},${b},${opacity})`,*/
     'color': `rgb(${r},${g},${b})`
   }
 }
@@ -214,31 +223,31 @@ const setupLabelColorStyle=(hex: string = "#000000", opacity = 0.2)=> {
 const changeTab = (index: number) => {
   tab.value = tabs.value[index].value;
   loadData();
-/*  if (tab.value === 2) {
-    let user = getApp<any>().globalData.user;
-    if (user) {
-      listRefund({userId: user.id,pageSize:1000}).then((res: any) => {
-        console.log(res)
-        let  dataList = (res.list || []).map(item => {
-          item.amount = (Number(item.refund) / 100).toFixed(2);
-          item.type = 2;
-          if (item.successTime) {
-            item.transactionTime = item.successTime.slice(0, 3).join("-") + " " + item.successTime.slice(3, 6).join(":")
-          }
-          return item;
+  /*  if (tab.value === 2) {
+      let user = getApp<any>().globalData.user;
+      if (user) {
+        listRefund({userId: user.id,pageSize:1000}).then((res: any) => {
+          console.log(res)
+          let  dataList = (res.list || []).map(item => {
+            item.amount = (Number(item.refund) / 100).toFixed(2);
+            item.type = 2;
+            if (item.successTime) {
+              item.transactionTime = item.successTime.slice(0, 3).join("-") + " " + item.successTime.slice(3, 6).join(":")
+            }
+            return item;
+          })
+          infiniteScroller.setList(dataList);
         })
-        infiniteScroller.setList(dataList);
-      })
-    } else {
-      infiniteScroller.refresh();
-    }
+      } else {
+        infiniteScroller.refresh();
+      }
 
-  }*/
+    }*/
 }
 
-const loadData = ()=>{
-  if(!user)return;
-  if(tab.value!==2){
+const loadData = () => {
+  if (!user) return;
+  if (tab.value !== 2) {
     fetchWallet(tab.value, 1, 1000).then((res: any) => {
       if (res && res.length) {
         res.forEach((item: any) => {
@@ -247,10 +256,10 @@ const loadData = ()=>{
       }
       dataList.value = res;
     });
-  }else{
-    listRefund({userId: user.value.id,pageSize:1000}).then((res: any) => {
+  } else {
+    listRefund({userId: user.value.id, pageSize: 1000}).then((res: any) => {
       console.log(res)
-      let  list = (res.list || []).map(item => {
+      let list = (res.list || []).map(item => {
         item.amount = (Number(item.refund) / 100).toFixed(2);
         item.type = 2;
         if (item.successTime) {
@@ -280,27 +289,32 @@ const detail = (index: number) => {
   height: 100vh;
   width: 100vw;
   background: linear-gradient(
-    180deg,
-    #e0ebff 0%,
-    rgba(255, 255, 255, 0) 60.13%
+          180deg,
+          #e0ebff 0%,
+          rgba(255, 255, 255, 0) 60.13%
   );
+
   .head {
     padding: 30rpx 40rpx;
+
     & > view {
       position: relative;
       height: 320rpx;
       border-radius: 40rpx;
       overflow: hidden;
+
       .bg {
         height: 100%;
         width: 100%;
       }
+
       .fg {
         position: absolute;
         left: 0px;
         top: 0px;
         height: 100%;
         width: 100%;
+
         .btn {
           width: 120rpx;
           height: 64rpx;
@@ -311,12 +325,15 @@ const detail = (index: number) => {
       }
     }
   }
+
   .body {
     .tabs {
       padding: 0 40rpx;
+
       & > view {
         position: relative;
         height: 72rpx;
+
         .active {
           position: absolute;
           left: 50%;
@@ -329,10 +346,12 @@ const detail = (index: number) => {
         }
       }
     }
+
     .list {
       .item {
-        height: 170rpx;
+        height: 130rpx;
         border-bottom: 1rpx solid rgba(0, 0, 0, 0.1);
+
         &:last-child {
           border-bottom: none;
         }
@@ -341,9 +360,9 @@ const detail = (index: number) => {
   }
 }
 
-.refund-status{
+.refund-status {
   display: inline-block;
-  padding: 8rpx;
+  //padding: 8rpx;
   font-size: 22rpx;
   font-weight: 500;
 }

+ 1 - 3
src/pages/map/map.vue

@@ -193,7 +193,6 @@
               :distance="item.stationLatDistance"
               :latitude="item.location.stationLat"
               :longitude="item.location.stationLng"
-              :activity-list="item.activityList"
               :fromMap="true"
             ></charge-station>
           </view>
@@ -213,7 +212,6 @@
               :distance="station[markersIndex].stationLatDistance"
               :latitude="station[markersIndex].location.stationLat"
               :longitude="station[markersIndex].location.stationLng"
-              :activity-list="station[markersIndex].activityList"
               :fromMap="true"
             ></charge-station>
           </view>
@@ -956,7 +954,7 @@ page {
   width: 186rpx;
   height: 88rpx;
   border-radius: 88rpx 0px 0px 88rpx;
-  background: linear-gradient(106deg, #34b6ff 15.97%, #347dff 72.38%);
+  background: linear-gradient(106deg, #34b6ff 15.97%, #2d9e95 72.38%);
   margin-bottom: constant(safe-area-inset-bottom);
   margin-bottom: env(safe-area-inset-bottom);
 }

BIN
src/static/images/custom-tab-bar/1-1.png


BIN
src/static/images/custom-tab-bar/2.png


BIN
src/static/images/custom-tab-bar/3-1.png


BIN
src/static/images/map-current.png


BIN
src/static/images/map-logo.png


BIN
src/static/images/user-bg.png