shizhongqi 3 ماه پیش
والد
کامیت
0993007f14

+ 1 - 0
ghsPad/src/assets/svg-icons/general/more-menu.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1777372950697" class="icon" viewBox="0 0 1059 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5867" xmlns:xlink="http://www.w3.org/1999/xlink" width="206.8359375" height="200"><path d="M360.41269 494.344828H63.240828C28.248276 494.344828 0 466.025931 0 431.104V133.826207C0 98.904276 28.283586 70.62069 63.205517 70.62069h297.207173C395.369931 70.62069 423.724138 98.939586 423.724138 133.861517v297.242483c0 34.957241-28.318897 63.240828-63.205517 63.240828h-0.105931m0 529.655172H63.240828A63.205517 63.205517 0 0 1 0 960.794483v-297.207173C0 628.630069 28.283586 600.275862 63.205517 600.275862h297.207173c34.957241 0 63.311448 28.354207 63.311448 63.311448v297.101242A63.205517 63.205517 0 0 1 360.553931 1024h-0.141241M1040.242759 328.704l-217.158621 217.12331a65.324138 65.324138 0 0 1-92.407172 0l-217.158621-217.15862a65.324138 65.324138 0 0 1 0-92.407173l217.158621-217.12331a65.288828 65.288828 0 0 1 92.371862 0l217.15862 217.158621a65.324138 65.324138 0 0 1 0 92.407172M925.554759 1024H628.171034c-34.957241 0-63.240828-28.318897-63.240827-63.205517v-297.207173c0-34.957241 28.318897-63.311448 63.240827-63.311448h297.242483c34.957241 0 63.240828 28.354207 63.240828 63.311448v297.101242c0.03531 34.957241-28.248276 63.276138-63.205517 63.311448h-0.035311" fill="#ffffff" p-id="5868"></path></svg>

+ 66 - 6
ghsPad/src/pages/home/components/nav.vue

@@ -1,9 +1,19 @@
 <template>
   <view class="nav-left">
     <template v-if="showMenu">
-    <view :class="['item-list',navType==s.flag ?'selected':'']" v-for="(s, idx) in nav" @tap="goTo(s)" :key="idx">
-      <view class="name">{{s.name}}</view>
-     </view>
+      <view :class="['item-list',navType==s.flag ?'selected':'']" v-for="(s, idx) in nav" @tap="goTo(s)" :key="idx">
+        <view class="name">{{s.name}}</view>
+      </view>
+      <view class="more-menu-wrapper">
+        <view class="more-menu-popover" v-if="showMoreMenu" @tap.stop>
+          <view class="more-menu-item" v-for="(s, idx) in moreNav" @tap.stop="goTo(s)" :key="idx">
+            {{s.name}}
+          </view>
+        </view>
+        <view class="more-menu-btn" @tap.stop="toggleMoreMenu">
+          <zui-svg-icon icon="general-more-menu" :width="28" :height="28" />
+        </view>
+      </view>
     </template>
   </view>
 </template>
@@ -31,11 +41,14 @@ export default {
         { name: "收银", page: "/pages/home/cash",flag:'casher'},
         { name: "订单", page: "/pages/home/order",flag:'order'},
         { name: "现金", page: "/pages/home/xj",flag:'xj'},
+        //{ name: "损耗", page: "/pages/home/waste",flag:'waste'},
+      ],
+      moreNav: [
         { name: "退出", page: "/pages/home/logout",flag:'logout'},
         { name: "关闭", page: "/pages/home/close",flag:'close'},
-        //{ name: "损耗", page: "/pages/home/waste",flag:'waste'},
       ],
-      device:''
+      device:'',
+      showMoreMenu: false
     };
   },
   created(){
@@ -77,8 +90,13 @@ export default {
         }
       }
 		},
+    toggleMoreMenu(){
+      this.$util.hitVoice()
+      this.showMoreMenu = !this.showMoreMenu
+    },
     goTo(item) {
       let that = this
+      this.showMoreMenu = false
       this.$util.hitVoice();
       if(item.flag == 'close'){
         // #ifdef APP-PLUS
@@ -118,7 +136,12 @@ export default {
 <style lang="scss" scoped>
 .nav-left {
   flex: 5;
-  view:first-child {
+  height: 100%;
+  position: relative;
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  & > .item-list:first-child {
     margin-top: 23upx;
   }
   & .item-list {
@@ -132,6 +155,43 @@ export default {
       width:28upx;
     }
   }
+  & .more-menu-wrapper {
+    position: absolute;
+    left: 0;
+    right: 0;
+    bottom: 0;
+    display: flex;
+    justify-content: center;
+    z-index: 10;
+  }
+  & .more-menu-btn {
+    width: 32upx;
+    height: 32upx;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+  }
+  & .more-menu-popover {
+    position: absolute;
+    left: 0;
+    bottom: 30upx;
+    width: 100%;
+    height: 80upx;
+    background-color: #fff;
+    border-radius: 8upx;
+    box-shadow: 0 4upx 16upx rgba(0, 0, 0, 0.18);
+    display: flex;
+    flex-direction: column;
+    overflow: hidden;
+  }
+  & .more-menu-item {
+    flex: 1;
+    color: #333;
+    font-size: 10upx;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+  }
   & .selected{
     font-weight:bold;
     color:white;

+ 8 - 3
ghsPad/src/static/svg-icons-lib.js

@@ -6,7 +6,7 @@
  *
  * !!! DO NOT MODIFY MANUALLY !!!
  *
- * @datetime 2026/4/28 15:43:27
+ * @datetime 2026/4/28 18:53:06
  *
  */
 
@@ -14,17 +14,22 @@
 const collections = {
   default: {
     "icons": {
+      "general-more-menu": [
+        "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"206.836\" height=\"200\" class=\"icon\" viewBox=\"0 0 1059 1024\"><path fill=\"#fff\" d=\"M360.413 494.345H63.24c-34.992 0-63.24-28.32-63.24-63.241V133.826c0-34.922 28.284-63.205 63.206-63.205h297.207c34.957 0 63.311 28.319 63.311 63.24v297.243c0 34.957-28.319 63.24-63.205 63.24zm0 529.656H63.24A63.206 63.206 0 0 1 0 960.794V663.587c0-34.957 28.284-63.311 63.206-63.311h297.207c34.957 0 63.311 28.354 63.311 63.311V960.69a63.206 63.206 0 0 1-63.17 63.311zm679.83-695.296L823.084 545.827a65.324 65.324 0 0 1-92.407 0L513.518 328.67a65.324 65.324 0 0 1 0-92.407L730.677 19.138a65.29 65.29 0 0 1 92.372 0l217.158 217.159a65.324 65.324 0 0 1 0 92.407M925.555 1024H628.17c-34.957 0-63.24-28.319-63.24-63.206V663.587c0-34.957 28.318-63.311 63.24-63.311h297.243c34.957 0 63.24 28.354 63.24 63.311V960.69c.036 34.957-28.248 63.276-63.205 63.311h-.035\"/></svg>",
+        0
+      ],
       "general-plus": [
         "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"200\" height=\"200\" class=\"icon\" viewBox=\"0 0 1024 1024\"><path fill=\"#8abf8a\" d=\"M511.3 64.2c-247.1 0-447.4 200.3-447.4 447.4S264.2 959 511.3 959s447.4-200.3 447.4-447.4S758.4 64.2 511.3 64.2m244.1 488.1H552v203.4c0 22.5-18.2 40.7-40.7 40.7s-40.7-18.2-40.7-40.7V552.3H267.3c-22.5 0-40.7-18.2-40.7-40.7s18.2-40.7 40.7-40.7h203.4V267.6c0-22.5 18.2-40.7 40.7-40.7s40.7 18.2 40.7 40.7V471h203.4c22.5 0 40.7 18.2 40.7 40.7-.1 22.4-18.4 40.6-40.8 40.6\"/></svg>",
-        0
+        1
       ],
       "general-sub": [
         "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"200\" height=\"200\" class=\"icon\" viewBox=\"0 0 1024 1024\"><path fill=\"#8abf8a\" d=\"M511.3 63.9c-247.2 0-447.6 200.4-447.6 447.6s200.4 447.6 447.6 447.6 447.6-200.4 447.6-447.6S758.5 63.9 511.3 63.9m244.2 488.3H267.2c-22.5 0-40.7-18.2-40.7-40.7s18.2-40.7 40.7-40.7h488.3c22.5 0 40.7 18.2 40.7 40.7s-18.2 40.7-40.7 40.7\"/></svg>",
-        0
+        1
       ]
     },
     "currentColor": "",
     "$_colorPalette": [
+      "#fff",
       "#8abf8a"
     ]
   },

+ 1 - 0
hdPad/src/assets/svg-icons/general/more-menu.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1777372950697" class="icon" viewBox="0 0 1059 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5867" xmlns:xlink="http://www.w3.org/1999/xlink" width="206.8359375" height="200"><path d="M360.41269 494.344828H63.240828C28.248276 494.344828 0 466.025931 0 431.104V133.826207C0 98.904276 28.283586 70.62069 63.205517 70.62069h297.207173C395.369931 70.62069 423.724138 98.939586 423.724138 133.861517v297.242483c0 34.957241-28.318897 63.240828-63.205517 63.240828h-0.105931m0 529.655172H63.240828A63.205517 63.205517 0 0 1 0 960.794483v-297.207173C0 628.630069 28.283586 600.275862 63.205517 600.275862h297.207173c34.957241 0 63.311448 28.354207 63.311448 63.311448v297.101242A63.205517 63.205517 0 0 1 360.553931 1024h-0.141241M1040.242759 328.704l-217.158621 217.12331a65.324138 65.324138 0 0 1-92.407172 0l-217.158621-217.15862a65.324138 65.324138 0 0 1 0-92.407173l217.158621-217.12331a65.288828 65.288828 0 0 1 92.371862 0l217.15862 217.158621a65.324138 65.324138 0 0 1 0 92.407172M925.554759 1024H628.171034c-34.957241 0-63.240828-28.318897-63.240827-63.205517v-297.207173c0-34.957241 28.318897-63.311448 63.240827-63.311448h297.242483c34.957241 0 63.240828 28.354207 63.240828 63.311448v297.101242c0.03531 34.957241-28.248276 63.276138-63.205517 63.311448h-0.035311" fill="#ffffff" p-id="5868"></path></svg>

+ 65 - 5
hdPad/src/pages/home/components/nav.vue

@@ -1,9 +1,19 @@
 <template>
   <view class="nav-left">
     <template v-if="showMenu">
-    <view :class="['item-list',navType==s.flag ?'selected':'']" v-for="(s, idx) in nav" @tap="goTo(s)" :key="idx">
-      <view class="name">{{s.name}}</view>
-     </view>
+      <view :class="['item-list',navType==s.flag ?'selected':'']" v-for="(s, idx) in nav" @tap="goTo(s)" :key="idx">
+        <view class="name">{{s.name}}</view>
+      </view>
+      <view class="more-menu-wrapper">
+        <view class="more-menu-popover" v-if="showMoreMenu" @tap.stop>
+          <view class="more-menu-item" v-for="(s, idx) in moreNav" @tap.stop="goTo(s)" :key="idx">
+            {{s.name}}
+          </view>
+        </view>
+        <view class="more-menu-btn" @tap.stop="toggleMoreMenu">
+          <zui-svg-icon icon="general-more-menu" :width="28" :height="28" />
+        </view>
+      </view>
     </template>
   </view>
 </template>
@@ -35,10 +45,13 @@ export default {
         { name: "美团", page: "/pages/home/mt",flag:'mt' },
         { name: "散花", page: "/pages/home/sh",flag:'sh' },
         { name: "现金", page: "/pages/home/xj",flag:'xh' },
+      ],
+      moreNav: [
         { name: "退出", page: "/pages/home/logout",flag:'logout'},
         { name: "关闭", page: "/pages/home/close",flag:'close'},
       ],
-      device:''
+      device:'',
+      showMoreMenu: false
     };
   },
   created(){
@@ -80,8 +93,13 @@ export default {
         }
       }
 		},
+    toggleMoreMenu(){
+      this.$util.hitVoice()
+      this.showMoreMenu = !this.showMoreMenu
+    },
     goTo(item) {
       let that = this
+      this.showMoreMenu = false
       this.$util.hitVoice()
 
       if(item.flag == 'close'){
@@ -122,7 +140,12 @@ export default {
 <style lang="scss" scoped>
 .nav-left {
   flex: 5;
-  view:first-child {
+  height: 100%;
+  position: relative;
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  & > .item-list:first-child {
     margin-top: 23upx;
   }
   & .item-list {
@@ -136,6 +159,43 @@ export default {
       width:28upx;
     }
   }
+  & .more-menu-wrapper {
+    position: absolute;
+    left: 0;
+    right: 0;
+    bottom: 0;
+    display: flex;
+    justify-content: center;
+    z-index: 10;
+  }
+  & .more-menu-btn {
+    width: 32upx;
+    height: 32upx;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+  }
+  & .more-menu-popover {
+    position: absolute;
+    left: 0;
+    bottom: 30upx;
+    width: 100%;
+    height: 80upx;
+    background-color: #fff;
+    border-radius: 4upx;
+    box-shadow: 0 4upx 16upx rgba(0, 0, 0, 0.18);
+    display: flex;
+    flex-direction: column;
+    overflow: hidden;
+  }
+  & .more-menu-item {
+    flex: 1;
+    color: #333;
+    font-size: 10upx;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+  }
   & .selected{
     font-weight: bold;
     color:white;

+ 8 - 3
hdPad/src/static/svg-icons-lib.js

@@ -6,7 +6,7 @@
  *
  * !!! DO NOT MODIFY MANUALLY !!!
  *
- * @datetime 2026/4/28 15:43:37
+ * @datetime 2026/4/28 18:53:15
  *
  */
 
@@ -14,17 +14,22 @@
 const collections = {
   default: {
     "icons": {
+      "general-more-menu": [
+        "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"206.836\" height=\"200\" class=\"icon\" viewBox=\"0 0 1059 1024\"><path fill=\"#fff\" d=\"M360.413 494.345H63.24c-34.992 0-63.24-28.32-63.24-63.241V133.826c0-34.922 28.284-63.205 63.206-63.205h297.207c34.957 0 63.311 28.319 63.311 63.24v297.243c0 34.957-28.319 63.24-63.205 63.24zm0 529.656H63.24A63.206 63.206 0 0 1 0 960.794V663.587c0-34.957 28.284-63.311 63.206-63.311h297.207c34.957 0 63.311 28.354 63.311 63.311V960.69a63.206 63.206 0 0 1-63.17 63.311zm679.83-695.296L823.084 545.827a65.324 65.324 0 0 1-92.407 0L513.518 328.67a65.324 65.324 0 0 1 0-92.407L730.677 19.138a65.29 65.29 0 0 1 92.372 0l217.158 217.159a65.324 65.324 0 0 1 0 92.407M925.555 1024H628.17c-34.957 0-63.24-28.319-63.24-63.206V663.587c0-34.957 28.318-63.311 63.24-63.311h297.243c34.957 0 63.24 28.354 63.24 63.311V960.69c.036 34.957-28.248 63.276-63.205 63.311h-.035\"/></svg>",
+        0
+      ],
       "general-plus": [
         "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"200\" height=\"200\" class=\"icon\" viewBox=\"0 0 1024 1024\"><path fill=\"#8abf8a\" d=\"M511.3 64.2c-247.1 0-447.4 200.3-447.4 447.4S264.2 959 511.3 959s447.4-200.3 447.4-447.4S758.4 64.2 511.3 64.2m244.1 488.1H552v203.4c0 22.5-18.2 40.7-40.7 40.7s-40.7-18.2-40.7-40.7V552.3H267.3c-22.5 0-40.7-18.2-40.7-40.7s18.2-40.7 40.7-40.7h203.4V267.6c0-22.5 18.2-40.7 40.7-40.7s40.7 18.2 40.7 40.7V471h203.4c22.5 0 40.7 18.2 40.7 40.7-.1 22.4-18.4 40.6-40.8 40.6\"/></svg>",
-        0
+        1
       ],
       "general-sub": [
         "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"200\" height=\"200\" class=\"icon\" viewBox=\"0 0 1024 1024\"><path fill=\"#8abf8a\" d=\"M511.3 63.9c-247.2 0-447.6 200.4-447.6 447.6s200.4 447.6 447.6 447.6 447.6-200.4 447.6-447.6S758.5 63.9 511.3 63.9m244.2 488.3H267.2c-22.5 0-40.7-18.2-40.7-40.7s18.2-40.7 40.7-40.7h488.3c22.5 0 40.7 18.2 40.7 40.7s-18.2 40.7-40.7 40.7\"/></svg>",
-        0
+        1
       ]
     },
     "currentColor": "",
     "$_colorPalette": [
+      "#fff",
       "#8abf8a"
     ]
   },