shish 11 ماه پیش
والد
کامیت
99b06d39fa
1فایلهای تغییر یافته به همراه118 افزوده شده و 1 حذف شده
  1. 118 1
      hdApp/src/admin/home/workbench.vue

+ 118 - 1
hdApp/src/admin/home/workbench.vue

@@ -73,7 +73,7 @@
             <view class="header-line"></view>
           </view>
           <view class="icon-grid">
-            <view class="icon-item" @click="goPage({url: '/admin/cg/mall'})">
+            <view class="icon-item" @click="showMallOptions">
               <view class="icon-wrapper">
                 <image class="icon-image" :src="`${constant.hostUrl}/image/ghs/home/shop2.png`" mode="aspectFit"></image>
               </view>
@@ -418,6 +418,26 @@
       </view>
     </view>
   </uni-popup>
+  
+  <!-- 商城选项弹框 -->
+  <uni-popup ref="mallOptionsPopup" type="center" mask-background-color="rgba(0,0,0,0.4)">
+    <view class="mall-options-container">
+      <view class="mall-options-header">
+        <text class="mall-options-title">商城</text>
+      </view>
+      <view class="mall-options-buttons">
+        <view class="mall-option-btn" @click="copyMallLink">
+          <view class="option-icon">📋</view>
+          <text class="option-text">复制链接</text>
+        </view>
+        <view class="mall-option-btn" @click="openMallDirect">
+          <view class="option-icon">🚀</view>
+          <text class="option-text">直接打开</text>
+        </view>
+      </view>
+    </view>
+  </uni-popup>
+
 </view>
 </template>
 <script>
@@ -838,6 +858,34 @@ export default {
           success (res) {
           }
         })
+    },
+    // 显示商城选项弹框
+    showMallOptions() {
+      this.$refs.mallOptionsPopup.open('center')
+    },
+    // 关闭商城选项弹框
+    closeMallOptions() {
+      this.$refs.mallOptionsPopup.close()
+    },
+    // 直接打开商城
+    openMallDirect() {
+      this.closeMallOptions()
+      this.goPage({url: '/admin/cg/mall'})
+    },
+    // 复制商城链接
+    copyMallLink() {
+      this.closeMallOptions()
+      // 这里生成商城链接,您可以根据实际情况修改链接格式
+      const mallLink = `${this.$constant.hostUrl}/admin/cg/mall`
+      uni.setClipboardData({
+        data: mallLink,
+        success: () => {
+          this.$msg('商城链接已复制到剪贴板')
+        },
+        fail: () => {
+          this.$msg('复制失败,请重试')
+        }
+      })
     }
   }
 };
@@ -1401,6 +1449,75 @@ export default {
 }
 }
 
+/* 商城选项弹框样式 */
+.mall-options-container {
+  width: 600upx;
+  background-color: #fff;
+  border-radius: 24upx;
+  overflow: hidden;
+  animation: popup-in 0.3s ease-out;
+  
+  .mall-options-header {
+    padding: 50upx 30upx 30upx;
+    text-align: center;
+    background-color: #f8f9fa;
+    
+    .mall-options-title {
+      font-size: 44upx;
+      font-weight: 600;
+      color: #333;
+    }
+  }
+  
+  .mall-options-buttons {
+    padding: 40upx 40upx 50upx;
+    display: flex;
+    flex-direction: column;
+    gap: 40upx;
+    align-items: center;
+
+    .mall-option-btn {
+      display: flex;
+      align-items: center;
+      justify-content: center;
+      padding: 32upx 40upx;
+      background-color: #f8f9fa;
+      border-radius: 20upx;
+      transition: all 0.2s ease;
+      width: 100%;
+      
+      &:active {
+        background-color: #e9ecef;
+        transform: scale(0.98);
+      }
+      
+      .option-icon {
+        font-size: 56upx;
+        margin-right: 30upx;
+        width: 70upx;
+        text-align: center;
+      }
+      
+      .option-text {
+        font-size: 42upx;
+        color: #333;
+        font-weight: 500;
+      }
+    }
+  }
+}
+
+@keyframes popup-in {
+  0% {
+    opacity: 0;
+    transform: scale(0.8) translateY(20upx);
+  }
+  100% {
+    opacity: 1;
+    transform: scale(1) translateY(0);
+  }
+}
+
 /* 供货商提示弹框样式 */
 .supplier-notice-popup {
   .supplier-notice-container {