Browse Source

自定义导航栏跳转 解决hideTabbar回调报错 适配问题

743180155@qq.com 1 year ago
parent
commit
3d4306cb22

+ 8 - 15
src/App.vue

@@ -6,23 +6,16 @@
       //#ifdef MP-WEIXIN
       // updateVersion();
       //#endif
-      console.log('@@@@getCache',getCache('SET_ACCESS_TOKEN'));
-      return 
-      uni.hideTabBar()
-      let tabbar_type = uni.getStorageSync('tabbar_type')
-      console.log('@@@tabbar_type',tabbar_type);
-      // if(tabbar_type == false)
-      // let token = getCache('access_token')
-      // console.log('@@@token',token);
-      // if(!token){
-      //   uni.navigateTo({
-      //     url:'/pages/login/index'
-      //   })
-      //   return
-      // }
+	  uni.setStorageSync('tabbar_type', false);
     },
     onShow() {
-      uni.hideTabBar()
+      uni.hideTabBar({
+		  success: () => {
+		  	console.log('hide tabber success');
+		  },fail: () => {
+		  	console.log('hide tabber fail');
+		  }
+	  })
     }
   };
 </script>

+ 6 - 3
src/components/tabbar/index.vue

@@ -116,20 +116,23 @@ export default {
   },
   mounted() {
     this.isShow = uni.getStorageSync('tabbar_type')
+	// if(!this.isShow){
+	// 	this.isShow = true
+	// }
   },
   watch:{
     isShow(newValue){
-      console.log('@@@newValue',newValue);
+      console.log('@@@isShownewValue',newValue);
     }
   },
   methods: {
     handTab(row) {
       if(this.isShow){
-        uni.switchTab({
+        uni.redirectTo({
           url: row.pagePath,
         });
       }else{
-        uni.navigateTo({
+        uni.redirectTo({
           url: row.pagePath,
         });
       }

+ 48 - 36
src/pages.json

@@ -38,41 +38,6 @@
         "navigationStyle": "custom"
       }
     },
-    {
-      "path": "pages/merchant/tabBar/extend/index",
-      "style": {
-        "navigationBarTitleText": "推广",
-        "navigationStyle": "custom"
-      }
-    },
-    {
-      "path": "pages/merchant/tabBar/mine/index",
-      "style": {
-        "navigationBarTitleText": "我的",
-        "navigationStyle": "custom"
-      }
-    },
-    {
-      "path": "pages/merchant/tabBar/message/index",
-      "style": {
-        "navigationBarTitleText": "消息",
-        "navigationStyle": "custom"
-      }
-    },
-    {
-      "path": "pages/merchant/tabBar/store/index",
-      "style": {
-        "navigationBarTitleText": "店铺",
-        "navigationStyle": "custom"
-      }
-    },
-    {
-      "path": "pages/merchant/tabBar/order/index",
-      "style": {
-        "navigationBarTitleText": "订单",
-        "navigationStyle": "custom"
-      }
-    },
     {
       "path": "pages/login/register",
       "style": {
@@ -284,7 +249,54 @@
           }
         }
       ]
-    }
+    },
+	{
+		"root": "pages/merchant",
+		"pages": [
+			{
+			  "path": "tabBar/extend/index",
+			  "style": {
+			    "navigationBarTitleText": "推广",
+			    "navigationStyle": "custom"
+			  }
+			},
+			{
+			  "path": "tabBar/mine/index",
+			  "style": {
+			    "navigationBarTitleText": "我的",
+			    "navigationStyle": "custom"
+			  }
+			},
+			{
+			  "path": "tabBar/message/index",
+			  "style": {
+			    "navigationBarTitleText": "消息",
+			    "navigationStyle": "custom"
+			  }
+			},
+			{
+			  "path": "tabBar/message/systemNotice",
+			  "style": {
+			    "navigationBarTitleText": "订单",
+			    "navigationStyle": "custom"
+			  }
+			},
+			{
+			  "path": "tabBar/store/index",
+			  "style": {
+			    "navigationBarTitleText": "店铺",
+			    "navigationStyle": "custom"
+			  }
+			},
+			{
+			  "path": "tabBar/order/index",
+			  "style": {
+			    "navigationBarTitleText": "订单",
+			    "navigationStyle": "custom"
+			  }
+			}
+		]
+	}
   ],
   "tabBar": {
     "color": "#999999",

+ 124 - 162
src/pages/client/clientUser/mine/setting.vue

@@ -1,174 +1,136 @@
 <template>
-  <view class="container">
-    <view class="main-out-box">
-      <view class="main-inner-box">
-        <u-cell-group :border="false">
-          <u-cell
-            size="large"
-            :border="false"
-            icon="account-fill"
-            title="个人信息"
-            isLink
-            url="/pages/client/clientUser/mine/setting/personInfo"
-          />
-          <u-cell
-            size="large"
-            :border="false"
-            icon="fingerprint"
-            title="安全中心"
-            isLink
-            url="/pages/client/clientUser/mine/setting/personInfo"
-          />
-          <u-cell
-            size="large"
-            :border="false"
-            icon="github-circle-fill"
-            title="关于我们"
-            isLink
-            url="/pages/client/clientUser/mine/setting/aboutMine"
-          />
-          <u-cell
-            size="large"
-            :border="false"
-            icon="file-text-fill"
-            title="用户协议"
-            isLink
-            url="/pages/client/clientUser/mine/setting/agreement"
-          />
-          <u-cell
-            size="large"
-            :border="false"
-            icon="file-text"
-            title="隐私政策"
-            isLink
-            url="/pages/client/clientUser/mine/setting/privacyPolicy"
-          />
-          <u-cell icon="integral-fill" title="版本信息" value="V0.0.1" />
-        </u-cell-group>
-      </view>
-    </view>
-    <SwitchIdentityDialog v-if="showSwitchDialog" @confirm="confirmSwitch" @cancel="cancelSwitch">
-      <p>您确定要从用户/商家端切换到商家段/用户端吗?</p>
-      <br />
-      <br />
-    </SwitchIdentityDialog>
-    <view class="policy-out-box">
-      <view class="policy-inner-box">
-        <u-cell-group :border="false">
-          <u-cell
-            size="large"
-            :border="false"
-            icon="level"
-            title="切换身份"
-            isLink
-            @click="openSwitchDialog"
-          />
-        </u-cell-group>
-      </view>
-    </view>
-    <view class="exit">
-      <u-row class="button" justify="center" align="center">
-        <u-col span="24">
-          <u-button type="info" shape="circle" text="注销账号" :style="{ width: '500rpx' }" />
-        </u-col>
-      </u-row>
-      <u-row class="button" justify="center" align="center">
-        <u-col span="24">
-          <u-button type="primary" shape="circle" text="退出登录" :style="{ width: '500rpx' }" />
-        </u-col>
-      </u-row>
-    </view>
-  </view>
+	<view class="container">
+		<view class="main-out-box">
+			<view class="main-inner-box">
+				<u-cell-group :border="false">
+					<u-cell size="large" :border="false" icon="account-fill" title="个人信息" isLink
+						url="/pages/client/clientUser/mine/setting/personInfo" />
+					<u-cell size="large" :border="false" icon="fingerprint" title="安全中心" isLink
+						url="/pages/client/clientUser/mine/setting/personInfo" />
+					<u-cell size="large" :border="false" icon="github-circle-fill" title="关于我们" isLink
+						url="/pages/client/clientUser/mine/setting/aboutMine" />
+					<u-cell size="large" :border="false" icon="file-text-fill" title="用户协议" isLink
+						url="/pages/client/clientUser/mine/setting/agreement" />
+					<u-cell size="large" :border="false" icon="file-text" title="隐私政策" isLink
+						url="/pages/client/clientUser/mine/setting/privacyPolicy" />
+					<u-cell icon="integral-fill" title="版本信息" value="V0.0.1" />
+				</u-cell-group>
+			</view>
+		</view>
+		<!-- <SwitchIdentityDialog v-if="showSwitchDialog" @confirm="confirmSwitch" @cancel="cancelSwitch">
+			<p>您确定要从用户/商家端切换到商家段/用户端吗?</p>
+			<br />
+			<br />
+		</SwitchIdentityDialog> -->
+		
+		<view class="policy-out-box">
+			<view class="policy-inner-box">
+				<u-cell-group :border="false">
+					<u-cell size="large" :border="false" icon="level" title="切换身份" isLink @click="showSwitchDialog = true" />
+				</u-cell-group>
+			</view>
+		</view>
+		
+		<u-modal :show="showSwitchDialog" showCancelButton='true' :title="title" :content='content' @confirm='confirmSwitch' @cancel='showSwitchDialog = false'></u-modal>
+		
+		<view class="exit">
+			<u-row class="button">
+				<u-col span="6">
+					<u-button type="info" shape="circle" text="注销账号" :style="{ width: '500rpx' }" />
+				</u-col>
+				<u-col span="6">
+					<u-button type="primary" shape="circle" text="退出登录" :style="{ width: '500rpx' }" />
+				</u-col>
+			</u-row>
+		</view>
+	</view>
 </template>
 
 <script>
-import SwitchIdentityDialog from '@/components/SwitchIdentityDialog/SwitchIdentityDialog.vue';
+	import SwitchIdentityDialog from '@/components/SwitchIdentityDialog/SwitchIdentityDialog.vue';
 
-export default {
-  components: {
-    SwitchIdentityDialog,
-  },
-  data() {
-    return {
-      showSwitchDialog: false,
-    };
-  },
+	export default {
+		components: {
+			SwitchIdentityDialog,
+		},
+		data() {
+			return {
+				showSwitchDialog: false,
+				title:'标题',
+				content:'您确定要从用户/商家端切换到商家段/用户端吗'
+			};
+		},
 
-  mounted() {},
+		mounted() {},
 
-  methods: {
-    // 获取当前用户信息
-    handlerInitUserMessage() {
-      maintainUserInfo().then(res => {
-        this.user_info = res.data;
-      });
-    },
+		methods: {
+			// 获取当前用户信息
+			handlerInitUserMessage() {
+				maintainUserInfo().then(res => {
+					this.user_info = res.data;
+				});
+			},
 
-    // 点击跳转到全部订单
-    gotoOrder(item) {
-      uni.navigateTo({
-        url: `/pages/client/clientPackage/orderAll?type=${item.type}`,
-      });
-    },
+			// 点击跳转到全部订单
+			gotoOrder(item) {
+				uni.navigateTo({
+					url: `/pages/client/clientPackage/orderAll?type=${item.type}`,
+				});
+			},
 
-    // 点击跳转到我的收益
-    handlerSkipMyProfit() {
-      uni.navigateTo({
-        url: '/pages/client/clientUser/myProfit',
-      });
-    },
-    // 点击身份切换
-    openSwitchDialog() {
-      // 打开切换身份确认弹框
-      this.showSwitchDialog = true;
-    },
-    confirmSwitch() {
-      // 点击确认切换身份
-      // 处理身份切换逻辑
-      uni.setStorageSync('tabbar_type', false);
-      uni.navigateTo({
-        url:'/pages/merchant/tabBar/extend/index'
-      })
-      // ... 其他操作
-    },
-    cancelSwitch() {
-      // 点击取消切换身份
-      this.showSwitchDialog = false;
-      // ... 其他操作
-    },
-  },
-};
+			// 点击跳转到我的收益
+			handlerSkipMyProfit() {
+				uni.navigateTo({
+					url: '/pages/client/clientUser/myProfit',
+				});
+			},
+			confirmSwitch() {
+				// 点击确认切换身份
+				// 处理身份切换逻辑
+				uni.setStorageSync('tabbar_type', false);
+				uni.navigateTo({
+					url: '/pages/merchant/tabBar/extend/index'
+				})
+				// ... 其他操作
+			},
+		},
+	};
 </script>
 
 <style lang="scss" scoped>
-.container {
-  min-height: 100vh;
-  background-color: #efefef;
-  .main-out-box {
-    padding: 20rpx 16rpx;
-    box-sizing: border-box;
-    .main-inner-box {
-      background-color: $uni-bg-color;
-      border-radius: 20rpx;
-    }
-  }
-  .policy-out-box {
-    padding: 50rpx 16rpx;
-    box-sizing: border-box;
-    .policy-inner-box {
-      background-color: $uni-bg-color;
-      border-radius: 20rpx;
-    }
-  }
-}
-.exit {
-  width: 100%;
-  display: flex;
-  flex-direction: column;
-  justify-content: center;
-  align-items: center;
-}
-.button {
-  margin-top: 35rpx;
-}
-</style>
+	.container {
+		min-height: 100vh;
+		background-color: #efefef;
+
+		.main-out-box {
+			padding: 20rpx 16rpx;
+			box-sizing: border-box;
+
+			.main-inner-box {
+				background-color: $uni-bg-color;
+				border-radius: 20rpx;
+			}
+		}
+
+		.policy-out-box {
+			padding: 50rpx 16rpx;
+			box-sizing: border-box;
+
+			.policy-inner-box {
+				background-color: $uni-bg-color;
+				border-radius: 20rpx;
+			}
+		}
+	}
+
+	.exit {
+		width: 100%;
+	}
+
+	.button {
+		margin-top: 35rpx;
+		display: flex;
+		justify-content: space-evenly;
+		align-items: center;
+	}
+</style>

+ 1 - 1
src/pages/client/tabBar/mine/index.scss

@@ -45,7 +45,7 @@
     .order-out-box {
       width: 94%;
       position: absolute;
-      bottom: -70rpx;
+      bottom: -80rpx;
       .order-inner-box {
         padding: 30rpx;
         font-size: 30rpx;

+ 182 - 6
src/pages/merchant/tabBar/message/index.vue

@@ -1,12 +1,188 @@
+<!--
+ * @Author: yizhiyang
+ * @Date: 2023-11-30 09:40:24
+ * @Description:
+-->
 <template>
-  <div>
-    <view>消息</view>
-    <tabbar currentTab="merchantMessage" />
-  </div>
+  <view class="message">
+    <view class="message__like">
+      <view v-for="item in list" :key="item.id">
+        <image
+          slot="icon"
+          src="@/static/tools.jpg"
+          style="width: 80rpx; height: 80rpx"
+        />
+        <view class="message__like--text">{{ item.name }}</view>
+      </view>
+    </view>
+
+    <view class="message__note" v-for="value in systemList" :key="value.id" @click="handlerSkipSystemNotice(value)">
+      <image
+        slot="icon"
+        src="@/static/tools.jpg"
+        style="width: 80rpx; height: 80rpx"
+      />
+      <view class="message__note--info">
+        <view class="">
+          <view class="systemTitle">{{ value.name }}</view>
+          <view class="textInfo">{{ value.info }}</view>
+        </view>
+        <view class="message__note--flex">
+          <view class="textInfo">{{ value.time }}</view>
+          <view style="width: 40rpx; height: 40rpx">
+            <u-badge
+              numberType="ellipsis"
+              type="primary"
+              :value="value.num"
+              shape="circle"
+            ></u-badge>
+          </view>
+        </view>
+      </view>
+    </view>
+
+    <view class="message__note" v-for="value in systemList1" :key="value.id">
+      <image
+        slot="icon"
+        src="@/static/QR57a.jpg"
+        style="width: 80rpx; height: 80rpx"
+      />
+      <view class="message__note--info">
+        <view class="">
+          <view class="systemTitle">{{ value.name }}</view>
+          <view class="textInfo">{{ value.info }}</view>
+        </view>
+        <view class="message__note--flex">
+          <view class="textInfo">{{ value.time }}</view>
+          <view style="width: 40rpx; height: 40rpx">
+            <u-badge
+              numberType="ellipsis"
+              type="primary"
+              :value="value.num"
+              shape="circle"
+            ></u-badge>
+          </view>
+        </view>
+      </view>
+    </view>
+	<tabbar currentTab="merchantMessage" />
+  </view>
 </template>
 
 <script>
-export default {};
+import { methods } from 'uview-ui/libs/mixin/mixin';
+export default {
+  data() {
+    return {
+      list: [
+        {
+          id: '1',
+          name: '新的赞',
+        },
+        {
+          id: '2',
+          name: '评论',
+        },
+        {
+          id: '3',
+          name: '好友',
+        },
+      ],
+      systemList: [
+        {
+          id: '1',
+          name: '系统通知',
+          info: '您修改的店铺LOGO审核未通过',
+          time: '23小时',
+          num: '99+',
+        },
+        {
+          id: '2',
+          name: '订单通知',
+          info: '附近暂无配送员接单,订单已关闭。',
+          time: '刚刚',
+          num: '9',
+        },
+        {
+          id: '3',
+          name: '活动通知',
+          info: '您修改的店铺LOGO审核未通过。',
+          time: '10-26',
+          num: '23',
+        },
+      ],
+
+      systemList1: [
+        {
+          id: '1',
+          name: 'yizhiyang',
+          info: '在吗??',
+          time: '23小时',
+          num: '2',
+        },
+        {
+          id: '2',
+          name: '易只烊',
+          info: '请问这个怎么烊???',
+          time: '刚刚',
+          num: '9',
+        },
+      ]
+    }
+  },
+  methods:{
+    // 点击跳转到系统通知
+    handlerSkipSystemNotice(value){
+      uni.navigateTo({
+        url:`/pages/tabbar/message/systemNotice?type=${value.id}`
+      })
+    }
+  }
+};
 </script>
 
-<style lang="scss" scoped></style>
+<style lang="scss" scoped>
+.message {
+  background-color: $uni-bg-color;
+  min-height: calc(100vh - 80rpx);
+  padding-top: 80rpx;
+  &__like {
+    text-align: center;
+    color: #333;
+    display: flex;
+    align-items: center;
+    justify-content: space-around;
+    padding: 30rpx;
+    &--text {
+      margin-top: 10rpx;
+    }
+  }
+  &__note {
+    display: flex;
+    padding: 20rpx;
+    &--info {
+      flex: 1;
+      margin-left: 20rpx;
+      padding-bottom: 18rpx;
+      display: flex;
+      justify-content: space-between;
+      border-bottom: 2rpx solid #eeeded;
+    }
+    &--flex {
+      display: flex;
+      flex-direction: column;
+      justify-content: space-between;
+      align-items: center;
+    }
+
+    .textInfo {
+      font-size: 24rpx;
+      color: #666;
+    }
+    .systemTitle {
+      font-size: 36rpx;
+      margin-bottom: 10rpx;
+    }
+  }
+}
+</style>

+ 117 - 0
src/pages/merchant/tabBar/message/systemNotice.vue

@@ -0,0 +1,117 @@
+<template>
+  <view class="container">
+    <!-- 系统通知 /  订单通知-->
+    <view class="content-item" v-for="item of 2" v-show="type == 1 || type == 2">
+      <p class="item-time">2023-10-26 23:35</p>
+      <view class="item">
+        <view class="item-box">
+          <p class="item-title"> 店铺LOGO审核通过 </p>
+          <p class="item-content"> 您修改的店铺LOGO审核通过 </p>
+        </view>
+        <view class="item-bottom">
+          <p>点击查看详情</p>
+          <u-icon name="arrow-right" color="#A1A1A1" size="18"></u-icon>
+        </view>
+      </view>
+    </view>
+
+    <!-- 活动通知 -->
+    <view class="content-item2" v-for="item of 2" v-show='type == 3'>
+      <p class="item-time">2023-10-26 23:35</p>
+      <view class="item">
+        <view class="item-box">
+          <p class="item-content"> 您修改的店铺LOGO审核通过 </p>
+          <img class="item-img" src="@/static/logo.png" alt="">
+        </view>
+        <view class="item-bottom">
+          <p>点击查看详情</p>
+          <u-icon name="arrow-right" color="#A1A1A1" size="18"></u-icon>
+        </view>
+      </view>
+    </view>
+
+  </view>
+</template>
+
+<script>
+  export default {
+    data() {
+      return {
+        type: 0
+      }
+    },
+    onLoad(option) {
+      this.type = option.type
+      console.log('type',this.type);
+      if(this.type == 1){
+        uni.setNavigationBarTitle({
+          title: '系统通知'
+        });
+      }else if(this.type == 2){
+        uni.setNavigationBarTitle({
+          title: '订单通知'
+        });
+      }else{
+        uni.setNavigationBarTitle({
+          title: '活动通知'
+        });
+      }
+    },
+    methods: {
+
+    }
+  }
+</script>
+
+<style lang="scss" scoped>
+  .container {
+    padding: 20rpx;
+    min-height: calc(100vh - 40rpx);
+    background-color: #F5F5F5 !important;
+    .content-item,.content-item2{
+      .item-time{
+        text-align: center;
+        color: #999999;
+        font-size:26rpx;
+      }
+      .item{
+        background-color: #FBFBFB;
+        margin: 20rpx 0;
+        border-radius: 20rpx;
+        padding: 20rpx;
+        .item-box{
+          .item-title{
+            color: #000;
+            font-size:28rpx;
+          }
+          .item-content{
+            color: #999999;
+            font-size:26rpx;
+            margin-top: 20rpx;
+          }
+        }
+        .item-bottom{
+          border-top: 2rpx solid #F5F5F5;
+          padding-top: 10rpx;
+          color: #A1A1A1;
+          display: flex;
+          justify-content: space-between;
+          margin-top: 20rpx;
+          font-size: 26rpx
+        }
+      }
+    }
+    .content-item2{
+      .item-img{
+        width: 100%;
+        height: 350rpx;
+        margin-top: 20rpx;
+      }
+      .item-content{
+        color: #999999;
+        font-size:26rpx;
+        margin-top: 0;
+      }
+    }
+  }
+</style>

+ 261 - 6
src/pages/merchant/tabBar/mine/index.vue

@@ -1,12 +1,267 @@
+<!--
+ * @Author: yizhiyang
+ * @Date: 2023-11-30 09:40:24
+ * @Description:
+-->
 <template>
-  <div>
-    <view>我的</view>
-    <tabbar currentTab="merchantMine" />
-  </div>
+  <view class="mine">
+    <!-- 状态栏占位 -->
+    <!-- <view class="mine__nav" :style="{ height: statusBarHeight + 'px' }" /> -->
+    <view class="mine__nav" style="height: 80rpx;" />
+
+    <view class="mine__person">
+      <view class="mine__person--icon">
+        <u-icon name="setting" color="#fff" size="22" @click="handlerSkipSetting"/>
+        <u-icon name="chat" color="#fff" size="22" />
+      </view>
+      <view class="mine__person--info">
+        <image
+          src="@/static/QR57a.jpg"
+          style="width: 140rpx; height: 140rpx; border-radius: 50%"
+        />
+
+        <view class="userName">
+          <view> yizhiyang的鲜花店(云岩区店)</view>
+          <text> +8618285564342</text>
+        </view>
+        <view class="status">
+          <view style="margin-right: 6rpx">营业状态</view>
+          <u-icon name="play-right-fill" color="#fff" size="12" />
+        </view>
+      </view>
+    </view>
+
+    <view class="mine__main">
+      <view class="mine__main--purse">
+        <view class="wallet">
+          <view class="wallet--title">我的钱包</view>
+          <view class="wallet--more">
+            <text>查看钱包余额</text>
+            <u-icon name="arrow-right" color="#333" size="14" />
+          </view>
+        </view>
+        <view class="walletInfo">
+          <view v-for="index in 4" :key="index">
+            <view class="text-title">借钱(元)</view>
+            <view class="text-data">
+              30
+              <text style="font-size: 24rpx; margin-left: 5rpx">万</text>
+            </view>
+            <view class="text-info">最高可用</view>
+          </view>
+        </view>
+        <view class="shortcut">
+          <view style="display: flex">
+            <view>快捷支付</view>
+            <view style="margin: 0 20rpx">|</view>
+            <view>一银升级银行卡用于麦付</view>
+          </view>
+          <u-icon name="arrow-right" color="#fff" size="14" />
+        </view>
+      </view>
+      <view class="mine__main--setting">
+        <template v-for="item in list1" >
+          <u-cell size="large" :border="false" :title="item.name" isLink :url="item.url">
+            <image
+              slot="icon"
+              src="@/static/tools.jpg"
+              style="width: 60rpx; height: 60rpx"
+            />
+          </u-cell>
+        </template>
+      </view>
+
+     <view class="mine__main--setting">
+        <template v-for="item in list2" >
+          <u-cell size="large" :border="false" :title="item.name" isLink :url="item.url">
+            <image
+              slot="icon"
+              src="@/static/tools.jpg"
+              style="width: 60rpx; height: 60rpx"
+            />
+          </u-cell>
+        </template>
+      </view>
+    </view>
+	<tabbar currentTab="merchantMine" />
+  </view>
 </template>
 
 <script>
-export default {};
+export default {
+  data() {
+    return {
+      statusBarHeight: 0,
+      list1: [
+        {
+          id: '1',
+          name: '门店环境',
+          url: '',
+        },
+        {
+          id: '2',
+          name: '资质信息',
+          url: '',
+        },
+        {
+          id: '3',
+          name: '我要开店',
+          url: '/pages/tabbar/mine/openStore/index',
+        },
+      ],
+
+      list2: [
+        {
+          id: '1',
+          name: '帮助中心',
+          url: '',
+        },
+        {
+          id: '2',
+          name: '设置',
+          url: '/pages/tabbar/mine/setting/index',
+        },
+      ],
+    };
+  },
+  methods: {
+    // 点击跳转到设置
+    handlerSkipSetting(){
+      uni.navigateTo({
+        url:'/pages/tabbar/mine/setting/index'
+      })
+    },
+    //计算导航栏总高度
+    getHeight() {
+      // 获取系统信息
+      const systemInfo = wx.getSystemInfoSync();
+      // 胶囊按钮位置信息
+      const menuButtonInfo = wx.getMenuButtonBoundingClientRect();
+      // 导航栏高度 = 状态栏到胶囊的间距(胶囊距上距离-状态栏高度) * 2 + 胶囊高度 + 状态栏高度
+      this.statusBarHeight =
+        (menuButtonInfo.top - systemInfo.statusBarHeight) * 2 +
+        menuButtonInfo.height +
+        systemInfo.statusBarHeight;
+    },
+  },
+
+  onLoad() {
+    this.getHeight();
+  },
+};
 </script>
 
-<style lang="scss" scoped></style>
+<style lang="scss" scoped>
+.mine {
+  min-height: calc(100vh - 80rpx);
+  box-sizing: border-box;
+
+  &__nav {
+    background-color: $uni-bg-color-primary;
+  }
+
+  &__person {
+    height: 230rpx;
+    padding: $uni-bg-padding-sm;
+    background-color: $uni-bg-color-primary;
+    position: relative;
+    &--icon {
+      display: flex;
+      justify-content: space-between;
+    }
+    &--info {
+      color: #fff;
+      display: flex;
+      margin-top: 20rpx;
+
+      .userName {
+        width: 400rpx;
+        font-size: 34rpx;
+        margin: 10rpx 0 0 16rpx;
+
+        > text {
+          font-size: 26rpx;
+        }
+      }
+      .status {
+        display: flex;
+        position: absolute;
+        bottom: 80rpx;
+        padding-left: 20rpx;
+        right: 0;
+        width: 150rpx;
+        height: 60rpx;
+        font-size: 25rpx;
+        align-items: center;
+        justify-content: center;
+        box-sizing: border-box;
+        border-radius: 30rpx 0 0 30rpx;
+        background-color: rgba(255, 255, 255, 0.3);
+      }
+    }
+  }
+  &__main {
+    padding: $uni-bg-padding-sm;
+    &--purse {
+      background-color: $uni-bg-color;
+      padding: $uni-bg-padding-sm;
+      border-radius: $uni-border-radius-base;
+      .wallet {
+        display: flex;
+        justify-content: space-between;
+        font-size: 28rpx;
+
+        &--title {
+          color: #000;
+          font-size: 36rpx;
+          font-weight: 700;
+        }
+        &--more {
+          color: #333;
+          display: flex;
+          justify-content: center;
+          align-items: center;
+        }
+      }
+
+      .walletInfo {
+        margin: 40rpx 0;
+        color: #333;
+        display: flex;
+        text-align: center;
+        justify-content: space-around;
+      }
+      .shortcut {
+        height: 70rpx;
+        padding: 0 20rpx;
+        color: #fff;
+        font-size: 28rpx;
+        display: flex;
+        align-items: center;
+        justify-content: space-between;
+        background-color: $uni-bg-color-primary;
+        border-radius: $uni-border-radius-sm;
+      }
+    }
+    &--setting {
+      margin: 20rpx 0;
+      background-color: $uni-bg-color;
+      padding: $uni-bg-padding-sm;
+      border-radius: $uni-border-radius-base;
+    }
+  }
+}
+.text-title {
+  font-size: 34rpx;
+}
+
+.text-data {
+  font-size: 40rpx;
+  margin: 15rpx 0;
+  font-weight: 700;
+}
+
+.text-info {
+  font-size: 24rpx;
+}
+</style>

+ 64 - 7
src/pages/merchant/tabBar/order/index.vue

@@ -1,12 +1,69 @@
+<!--
+ * @Author: yizhiyang
+ * @Date: 2023-11-30 09:40:24
+ * @Description:
+-->
 <template>
-  <div>
-    <view>订单</view>
-    <tabbar currentTab="merchantOrder" />
-  </div>
+  <view>
+    <view class="order">
+      <view style="background-color: #fff; padding: 15rpx">
+        <u-tabs
+          :list="list1"
+          lineWidth="30"
+          lineColor="$uni-bg-color-primary"
+          :activeStyle="{
+            color: '#000',
+            fontWeight: 'bold',
+            fontSize: '32rpx',
+            transform: 'scale(1.05)',
+            marginBottom: '15rpx',
+          }"
+          :inactiveStyle="{
+            color: '#333',
+            fontSize: '30rpx',
+            transform: 'scale(1)',
+            marginBottom: '15rpx',
+          }"
+          itemStyle="padding-left: 15px; padding-right: 15px; height: 34px;"
+          @click="handlerChangeItem"
+        ></u-tabs>
+      </view>
+
+      <!-- <orderItem :typeStyle.sync='typeStyle'></orderItem> -->
+
+    </view>
+	<tabbar currentTab="merchantOrder" />
+  </view>
 </template>
 
 <script>
-export default {};
+  // import orderItem from "@/pages/tabbar/order/components/orderItem.vue"
+export default {
+  data() {
+    return {
+      list1: [
+        { id: '1', name: '全部' },
+        { id: '2', name: '进行中' },
+        { id: '3', name: '预约中' },
+        { id: '4', name: '退款' },
+        { id: '5', name: '已完成' },
+      ],
+      typeStyle:0
+    };
+  },
+  // components:{orderItem},
+  methods:{
+    // 点击切换顶部导航栏
+    handlerChangeItem(item){
+      this.typeStyle = item.index
+    }
+  }
+};
 </script>
-
-<style lang="scss" scoped></style>
+<style lang="scss" scoped>
+  .order {
+    min-height: calc(100vh - 80rpx);
+    background-color: $uni-bg-color-page;
+	padding-top: 80rpx;
+  }
+</style>

+ 221 - 6
src/pages/merchant/tabBar/store/index.vue

@@ -1,12 +1,227 @@
+<!--
+ * @Author: yizhiyang
+ * @Date: 2023-11-30 09:40:24
+ * @Description:
+-->
 <template>
-  <div>
-    <view>店铺</view>
-    <tabbar currentTab="merchantStore" />
-  </div>
+  <view class="shop">
+    <view class="shop__data">
+      <view class="shop__data--left">
+        <view class="text-title">店铺分</view>
+        <view class="text-num">90</view>
+      </view>
+      <view class="shop__data--right">
+        <view>
+          <view class="text-title">今日收入(元)</view>
+          <view class="text-num">500</view>
+        </view>
+        <view class="line"></view>
+        <view>
+          <view class="text-title">今日订单(单)</view>
+          <view class="text-num">30</view>
+        </view>
+      </view>
+    </view>
+
+    <view class="shop__note">
+      <u-notice-bar :text="text1"></u-notice-bar>
+    </view>
+
+    <view class="shop__tools">
+      <u-grid :border="false" col="5">
+        <u-grid-item v-for="(listItem, listIndex) in list" :key="listIndex" @click="handlerSkip(listItem,listIndex)">
+          <image src="@/static/tools.jpg" />
+          <text class="grid-text">{{ listItem.title }}</text>
+        </u-grid-item>
+      </u-grid>
+    </view>
+
+    <view class="shop__note" style="background-color: #fff">
+      <u-cell-group>
+        <u-cell
+          size="large"
+          :border="false"
+          title="规制中心"
+          isLink
+          url=""
+        ></u-cell>
+      </u-cell-group>
+    </view>
+
+    <view>
+      <u-tabs
+        :list="list1"
+        lineWidth="40"
+        lineColor="$uni-bg-color-primary"
+        :activeStyle="{
+          color: '#000',
+          fontWeight: 'bold',
+          fontSize: '32rpx',
+          transform: 'scale(1.05)',
+          marginBottom: '15rpx',
+        }"
+        :inactiveStyle="{
+          color: '#333',
+          fontSize: '30rpx',
+          transform: 'scale(1)',
+          marginBottom: '15rpx',
+        }"
+        itemStyle="padding-left: 15px; padding-right: 15px; height: 34px;"
+      ></u-tabs>
+
+      <view style="background-color: #fff; height: 400rpx; margin-top: 20rpx">
+        1111111111
+      </view>
+    </view>
+	<tabbar currentTab="merchantStore" />
+  </view>
 </template>
 
 <script>
-export default {};
+export default {
+  data() {
+    return {
+      text1:
+        'uView UI众多组件覆盖开发过程的各个需求,组件功能丰富,多端兼容。让您快速集成,开箱即用',
+
+      list1: [
+        {
+          name: '商家社区',
+        },
+        {
+          name: '活动中心',
+        },
+        {
+          name: '商品优惠',
+        },
+      ],
+
+      list: [
+        {
+          title: '店铺管理',
+        },
+        {
+          title: '顾客评价',
+        },
+        {
+          title: '商品核销',
+        },
+        {
+          title: '商品优惠',
+        },
+        {
+          title: '经营数据',
+        },
+        {
+          title: '我的团队',
+        },
+        {
+          title: '活动中心',
+        },
+        {
+          title: '当前佣金',
+        },
+        {
+          title: '商家社区',
+        },
+        {
+          title: '全部',
+        },
+      ],
+    };
+  },
+  methods:{
+    // 点击跳转
+    handlerSkip(item,index){
+      console.log('index',index);
+      switch(index){
+        case 0:
+          uni.navigateTo({
+            url:'/pages/tabbar/store/shopManage'
+          })
+        break;
+        case 1:
+          uni.navigateTo({
+            url:'/pages/tabbar/store/evaluateManagement'
+          })
+        break;
+        case 5:
+          uni.navigateTo({
+            url:'/pages/tabbar/store/myTeam'
+          })
+        break;
+      }
+    }
+  }
+};
 </script>
 
-<style lang="scss" scoped></style>
+<style lang="scss" scoped>
+.text-title {
+  font-size: 28rpx;
+  color: #333;
+  margin-bottom: 20rpx;
+}
+
+.text-num {
+  font-size: 40rpx;
+  font-weight: bold;
+  color: $uni-bg-color-primary;
+}
+
+.shop {
+  min-height: calc(100vh - 80rpx);
+  background-color: $uni-bg-color-page;
+  padding-top: 80rpx;  
+  &__data {
+    display: flex;
+    text-align: center;
+
+    &--left {
+      flex: 1;
+      padding: 30rpx 20rpx;
+      background-color: $uni-bg-color;
+      margin-right: 20rpx;
+      border-radius: $uni-border-radius-base;
+    }
+
+    &--right {
+      flex: 3;
+      display: flex;
+      justify-content: space-around;
+      padding: 30rpx 20rpx;
+      background-color: $uni-bg-color;
+      border-radius: $uni-border-radius-base;
+      .line {
+        width: 2rpx;
+        height: 65%;
+        margin-top: 35rpx;
+        background-color: #f5f5f5;
+      }
+    }
+  }
+
+  &__note {
+    margin: 30rpx 0;
+  }
+
+  /* 工具 */
+  &__tools {
+    padding: 20rpx 10rpx;
+    background-color: $uni-bg-color;
+    border-radius: $uni-border-radius-base;
+    image {
+      width: 100rpx;
+      height: 100rpx;
+      display: block;
+      margin: 15rpx 0 25rpx 0;
+    }
+  }
+}
+
+::v-deep .u-cell__title-text {
+  border: 0;
+  font-weight: bold;
+  font-size: 36rpx;
+}
+</style>

BIN
src/static/QR57a.jpg


BIN
src/static/mine/icon_mine_email.png


BIN
src/static/mine/icon_mine_phone.png


BIN
src/static/mine/icon_mine_success.png


BIN
src/static/mine/icon_mine_underReview.png


BIN
src/static/tools.jpg