DaMowang 2 năm trước cách đây
mục cha
commit
b58e569690
75 tập tin đã thay đổi với 1183 bổ sung380 xóa
  1. 0 8
      src/App.vue
  2. 3 3
      src/app.scss
  3. 0 2
      src/components/authorize-module/index.vue
  4. 12 12
      src/components/swiper-preview/index.vue
  5. 4 5
      src/main.js
  6. 26 2
      src/pages.json
  7. 2 4
      src/pages/account/consignment.vue
  8. 4 6
      src/pages/account/conversion.vue
  9. 7 9
      src/pages/account/giveAsPresent.vue
  10. 2 5
      src/pages/accountDetails/integral.vue
  11. 2 4
      src/pages/accountDetails/running.vue
  12. 2 5
      src/pages/accountDetails/teaBaby.vue
  13. 2 5
      src/pages/accountDetails/topup.vue
  14. 2 4
      src/pages/accountDetails/withdraw.vue
  15. 2 5
      src/pages/autonym-submit/index.vue
  16. 3 5
      src/pages/cash/index.vue
  17. 58 69
      src/pages/index/index.vue
  18. 2 4
      src/pages/invi-img/index.vue
  19. 3 5
      src/pages/my-credites/index.vue
  20. 27 3
      src/pages/my/index.vue
  21. 1 3
      src/pages/my/login.vue
  22. 1 3
      src/pages/my/userinfo.vue
  23. 0 2
      src/pages/notice/detail.vue
  24. 2 2
      src/pages/orderingfood/merchantlist.vue
  25. 0 2
      src/pages/pay-agreement/index.vue
  26. 1 3
      src/pages/product/p_details.vue
  27. 3 5
      src/pages/product/productRetail.vue
  28. 2 4
      src/pages/product/productTeaBaby.vue
  29. 2 4
      src/pages/product/productWholesale.vue
  30. 4 6
      src/pages/sign/index.vue
  31. 0 3
      src/pages/speed-up/index.vue
  32. 4 7
      src/pages/szw-order-details/index.vue
  33. 7 8
      src/pages/szw-order-list/index.vue
  34. 2 5
      src/pages/tea-list/index.vue
  35. 4 7
      src/pages/to-pay-list/index.vue
  36. 4 6
      src/pages/top-up/index.vue
  37. 2 7
      src/pages/xghc-addrress/userAddress.vue
  38. 2 4
      src/pagesB/accountDetails/TeaC.vue
  39. 1 3
      src/pagesB/address/addaddress.vue
  40. 1 1
      src/pagesB/cinema/cinemaList.vue
  41. 1 1
      src/pagesB/cinema/cinemaTicket.vue
  42. 175 0
      src/pagesB/components/centerPopup/centerPopup.vue
  43. 126 0
      src/pagesB/components/up/index.vue
  44. 2 2
      src/pagesB/directCharge/coupon.vue
  45. 1 1
      src/pagesB/directCharge/index.vue
  46. 2 2
      src/pagesB/directCharge/orderDetail.vue
  47. 1 1
      src/pagesB/directCharge/payment.vue
  48. 1 1
      src/pagesB/hotel/hotel.vue
  49. 3 3
      src/pagesB/hotel/hotelDetail.vue
  50. 4 1
      src/pagesB/hotel/index.vue
  51. 1 1
      src/pagesB/hotel/orderDetail.vue
  52. 0 2
      src/pagesB/invoice/Billingresult.vue
  53. 2 4
      src/pagesB/invoice/editinvoice.vue
  54. 0 2
      src/pagesB/invoice/invoiceList.vue
  55. 62 96
      src/pagesB/my/addShop.vue
  56. 1 3
      src/pagesB/my/assistant.vue
  57. 1 1
      src/pagesB/orderingfood/fineFood.vue
  58. 1 1
      src/pagesB/prepaidRefill/index.vue
  59. 2 2
      src/pagesB/prepaidRefill/orderDetail.vue
  60. 2 2
      src/pagesB/scenicSpotTicket/orderDetail.vue
  61. 2 2
      src/pagesB/scenicSpotTicket/scenic.vue
  62. 1 1
      src/pagesB/scenicSpotTicket/scenicDetail.vue
  63. 1 1
      src/pagesB/specialregion/index.vue
  64. 128 0
      src/pagesC/components/nav/nav.vue
  65. 259 0
      src/pagesC/settledMerchant/index.vue
  66. 190 0
      src/pagesC/settledMerchant/merchant.vue
  67. BIN
      src/static/img/new-search.png
  68. BIN
      src/static/img/search-bak-icon.png
  69. BIN
      src/static/my/merchant.png
  70. BIN
      src/static/my/merchant2.png
  71. BIN
      src/static/my/merchant3.png
  72. BIN
      src/static/my/operator.png
  73. BIN
      src/static/my/store.png
  74. 0 0
      src/static/preview/icon-back.png
  75. 8 0
      src/utils/myfun.js

+ 0 - 8
src/App.vue

@@ -8,14 +8,6 @@ export default {
             desc: "茶付宝",
         },
     },
-    errTips(msg, duration, open) {
-        uni.showToast({
-            title: msg,
-            icon: "none",
-            duration: duration ? duration : 1200,
-            mask: true,
-        });
-    },
     onLaunch() {
         var logs = uni.getStorageSync("logs") || [];
         logs.unshift(Date.now());

+ 3 - 3
src/app.scss

@@ -47,9 +47,9 @@ view,text,div {
 /* 在线链接服务仅供平台体验和调试使用,平台不承诺服务的稳定性,企业客户需下载字体包自行发布使用并做好备份。 */
 @font-face {
     font-family: 'iconfont';  /* Project id 3748689 */
-    src: url('//at.alicdn.com/t/c/font_3748689_n2dzsytijb.woff2?t=1700640584203') format('woff2'),
-         url('//at.alicdn.com/t/c/font_3748689_n2dzsytijb.woff?t=1700640584203') format('woff'),
-         url('//at.alicdn.com/t/c/font_3748689_n2dzsytijb.ttf?t=1700640584203') format('truetype');
+    src: url('//at.alicdn.com/t/c/font_3748689_czprl959cfj.woff2?t=1701168822033') format('woff2'),
+         url('//at.alicdn.com/t/c/font_3748689_czprl959cfj.woff?t=1701168822033') format('woff'),
+         url('//at.alicdn.com/t/c/font_3748689_czprl959cfj.ttf?t=1701168822033') format('truetype');
   }
 
 .iconfont {

+ 0 - 2
src/components/authorize-module/index.vue

@@ -34,8 +34,6 @@
     </view>
 </template>
 <script>
-let app = getApp();
-let appEv = app.$vm.$options;
 export default {
     props: {
         shopInfo: {

+ 12 - 12
src/pagesB/components/swiper-preview/index.vue → src/components/swiper-preview/index.vue

@@ -2,7 +2,7 @@
     <view class="swiper-content" v-show="show">
         <view class="hander-top">
             <view class="icon-back-wrap" @click="onBack">
-                <image class="icon-back" src="@/pagesB/static/preview/icon-back.png" mode="widthFix" />
+                <image class="icon-back" src="@/static/preview/icon-back.png" mode="widthFix" />
             </view>
             <view class="count">{{currentImg + 1}} / {{ imgs.length }}</view>
             <view></view>
@@ -27,23 +27,23 @@
                 </view>
             </scroll-view>
         </view>
-        <view class="handle-wrap">
+        <!-- <view class="handle-wrap">
             <view class="w-64 h-64" @click="isScale = !isScale">
-                <image v-show="isScale" class="w-64 h-64" src="@/pagesB/static/preview/icon-scale-yes.png" mode="widthFix" />
-                <image v-show="!isScale" class="w-64 h-64" src="@/pagesB/static/preview/icon-scale.png" mode="widthFix" />
+                <image v-show="isScale" class="w-64 h-64" src="@/static/preview/icon-scale-yes.png" mode="widthFix" />
+                <image v-show="!isScale" class="w-64 h-64" src="@/static/preview/icon-scale.png" mode="widthFix" />
             </view>
             <view class="w-64 h-64" @click="isCollect = !isCollect">
-                <image v-show="isCollect" class="w-64 h-64" src="@/pagesB/static/preview/icon-collect-yes.png" mode="widthFix" />
-                <image v-show="!isCollect" class="w-64 h-64" src="@/pagesB/static/preview/icon-collect.png" mode="widthFix" />
+                <image v-show="isCollect" class="w-64 h-64" src="@/static/preview/icon-collect-yes.png" mode="widthFix" />
+                <image v-show="!isCollect" class="w-64 h-64" src="@/static/preview/icon-collect.png" mode="widthFix" />
             </view>
             <view class="w-64 h-64" @click="isLike = !isLike">
-                <image v-show="isLike" class="w-64 h-64" src="@/pagesB/static/preview/icon-like-yes.png" mode="widthFix" />
-                <image v-show="!isLike" class="w-64 h-64" src="@/pagesB/static/preview/icon-like.png" mode="widthFix" />
+                <image v-show="isLike" class="w-64 h-64" src="@/static/preview/icon-like-yes.png" mode="widthFix" />
+                <image v-show="!isLike" class="w-64 h-64" src="@/static/preview/icon-like.png" mode="widthFix" />
             </view>
-            <image class="w-64 h-64" src="@/pagesB/static/preview/icon-set-wallpaper.png" mode="widthFix" />
-            <image class="w-64 h-64" src="@/pagesB/static/preview/icon-share.png" mode="widthFix" />
-            <image class="w-64 h-64" src="@/pagesB/static/preview/icon-download.png" mode="widthFix" />
-        </view>
+            <image class="w-64 h-64" src="@/static/preview/icon-set-wallpaper.png" mode="widthFix" />
+            <image class="w-64 h-64" src="@/static/preview/icon-share.png" mode="widthFix" />
+            <image class="w-64 h-64" src="@/static/preview/icon-download.png" mode="widthFix" />
+        </view> -->
     </view>
 </template>
 <script>

+ 4 - 5
src/main.js

@@ -34,17 +34,16 @@ Vue.prototype.$hosts = hosts;
 
 // 缓存封装
 import { setCache, getCache } from "@/utils/storage.js"
-Vue.prototype.setCache = setCache;
-Vue.prototype.getCache = getCache;
-
-
+Vue.prototype.setLS = setCache;
+Vue.prototype.getLS = getCache;
 // 上传
 import { up } from "@/utils/up";
 Vue.prototype.$up = up;
-import { goto, tidyTpye, hotelStarf } from '@/utils/myfun.js';
+import { goto, tidyTpye, hotelStarf, toast } from '@/utils/myfun.js';
 Vue.prototype.goto = goto;  // 页面跳转
 Vue.prototype.tidyTpye = tidyTpye;  // 专区判断
 Vue.prototype.hotelStarF = hotelStarf;  // 酒店星级判断
+Vue.prototype.$toast = toast;  // 酒店星级判断
 
 App.mpType = 'app'
 

+ 26 - 2
src/pages.json

@@ -241,7 +241,7 @@
 					"path": "orderingfood/payTheBill",
 					"style": {
 						"navigationBarTitleText": "买单"
-					} 
+					}
 				},
 				{
 					"path": "orderingfood/activationcode",
@@ -395,7 +395,6 @@
 						"navigationBarTitleText": "充值"
 					}
 				},
-
 				{
 					"path": "my/shuZhiWallet",
 					"style": {
@@ -480,8 +479,33 @@
 					}
 				}
 			]
+		},
+		{
+			"root": "pagesC",
+			"pages": [
+				{
+					"path": "settledMerchant/index",
+					"style": {
+						"navigationBarTitleText": "",
+						"navigationStyle": "custom"
+					}
+				},
+				{
+					"path": "settledMerchant/merchant",
+					"style": {
+						"navigationBarTextStyle": "white",
+						"navigationStyle": "custom"
+					}
+				}
+			]
 		}
 	],
+	"preloadRule": {
+		"pages/my/index": {
+			"network": "all",
+			"packages": [ "pagesB", "pagesC" ]
+		}
+	},
 	"tabBar": {
 		"color": "#999",
 		"selectedColor": "#18bb88",

+ 2 - 4
src/pages/account/consignment.vue

@@ -29,8 +29,6 @@
 
 <script>
 let page = 1;
-let app=getApp();
-var appEv = app.$vm.$options;
 import { post } from "@/request/api.js";
 import notGoods from '@/components/not-goods/index.vue'
 	export default {
@@ -85,7 +83,7 @@ import notGoods from '@/components/not-goods/index.vue'
                                 page = -1
                             }else{
                                 page = -1
-                                appEv.errTips('暂无更多')
+                                that.$toast('暂无更多')
                             }
                         }
                     }else{
@@ -94,7 +92,7 @@ import notGoods from '@/components/not-goods/index.vue'
                             page = -1
                         }else{
                             page = -1
-                            appEv.errTips('暂无更多')
+                            that.$toast('暂无更多')
                         }
                     }
                 })

+ 4 - 6
src/pages/account/conversion.vue

@@ -26,8 +26,6 @@
 </template>
 <script>
 import { post } from "@/request/api.js";
-let app = getApp();
-var appEv = app.$vm.$options;
 export default {
   name: "conversion",
   data() {
@@ -54,10 +52,10 @@ export default {
     },
     exchange() {
       if (this.give_num == 0) {
-        appEv.errTips("赠送数量不得为0");
+        this.$toast("赠送数量不得为0");
         return;
       } else if (this.give_num > Number(this.userinfo.user_money)) {
-        appEv.errTips("转化数量不得超过云宝");
+        this.$toast("转化数量不得超过云宝");
         return;
       } else {
         let content = `您将转化${this.give_num}云宝为${
@@ -85,9 +83,9 @@ export default {
         if (res.code === 0) {
           this.give_num = undefined;
           this.userinfo = await uni.userfun();
-          appEv.errTips(res.msg);
+          this.$toast(res.msg);
         } else {
-          appEv.errTips(res.msg);
+          this.$toast(res.msg);
         }
       });
     },

+ 7 - 9
src/pages/account/giveAsPresent.vue

@@ -44,8 +44,6 @@
 </template>
 <script>
 let page = 1;
-let app = getApp();
-var appEv = app.$vm.$options;
 import { post } from "@/request/api.js";
 export default {
   data() {
@@ -72,28 +70,28 @@ export default {
     },
     give() {
       if (this.give_num == 0) {
-        appEv.errTips("赠送数量不得为0");
+        this.$toast("赠送数量不得为0");
         return;
       } else if (
         this.give_num > Number(this.userinfo.teac) &&
         this.value == 2
       ) {
-        appEv.errTips("赠送数量不得超过teac余额");
+        this.$toast("赠送数量不得超过teac余额");
         return;
       } else if (
         this.give_num > Number(this.userinfo.cha_bao) &&
         this.value == 1
       ) {
-        appEv.errTips("赠送数量不得超过茶宝余额");
+        this.$toast("赠送数量不得超过茶宝余额");
         return;
       } else if (
         this.give_num > Number(this.userinfo.user_money) &&
         this.value == 0
       ) {
-        appEv.errTips("赠送数量不得超过云宝余额");
+        this.$toast("赠送数量不得超过云宝余额");
         return;
       } else if (this.id == "") {
-        appEv.errTips("请输入赠送账号");
+        this.$toast("请输入赠送账号");
         return;
       } else {
         let it_name = this.list[this.value].name;
@@ -123,10 +121,10 @@ export default {
         if (res.code === 0) {
             this.id = "";
           this.give_num = "";
-          appEv.errTips(res.msg);
+          this.$toast(res.msg);
           this.getuserInfo();
         } else {
-          appEv.errTips(res.msg);
+          this.$toast(res.msg);
         }
       });
     },

+ 2 - 5
src/pages/accountDetails/integral.vue

@@ -32,8 +32,6 @@
 </template>
 <script>
 let page = 1;
-let app = getApp();
-var appEv = app.$vm.$options;
 import { post } from "@/request/api.js";
 import notGoods from "@/components/not-goods/index.vue";
 export default {
@@ -60,7 +58,6 @@ export default {
   },
   methods: {
     loadData: function () {
-      let that = this;
       let data = {
         type: this.current == 0 ? "" : this.current,
         page: page,
@@ -78,7 +75,7 @@ export default {
               this.page = -1;
             } else {
               this.page = -1;
-              appEv.errTips("暂无更多");
+              this.$toast("暂无更多");
             }
           }
         } else {
@@ -87,7 +84,7 @@ export default {
             this.page = -1;
           } else {
             this.page = -1;
-            appEv.errTips("暂无更多");
+            this.$toast("暂无更多");
           }
         }
       });

+ 2 - 4
src/pages/accountDetails/running.vue

@@ -31,8 +31,6 @@
 </template>
 <script>
 let page = 1;
-let app = getApp();
-var appEv = app.$vm.$options;
 import { post } from "@/request/api.js";
 import notGoods from "@/components/not-goods/index.vue";
 export default {
@@ -76,7 +74,7 @@ export default {
               this.page = -1;
             } else {
               this.page = -1;
-              appEv.errTips("暂无更多");
+              this.$toast("暂无更多");
             }
           }
         } else {
@@ -85,7 +83,7 @@ export default {
             this.page = -1;
           } else {
             this.page = -1;
-            appEv.errTips("暂无更多");
+            this.$toast("暂无更多");
           }
         }
       });

+ 2 - 5
src/pages/accountDetails/teaBaby.vue

@@ -30,8 +30,6 @@
 </template>
 <script>
 let page = 1;
-let app = getApp();
-var appEv = app.$vm.$options;
 import { post } from "@/request/api.js";
 import notGoods from "@/components/not-goods/index.vue";
 export default {
@@ -58,7 +56,6 @@ export default {
   },
   methods: {
     loadData: function() {
-      let that = this;
       let data = {
         type: this.current == 0 ? "" : this.current,
         page: page,
@@ -76,7 +73,7 @@ export default {
               this.page = -1;
             } else {
               this.page = -1;
-              appEv.errTips("暂无更多");
+              this.$toast("暂无更多");
             }
           }
         } else {
@@ -85,7 +82,7 @@ export default {
             this.page = -1;
           } else {
             this.page = -1;
-            appEv.errTips("暂无更多");
+            this.$toast("暂无更多");
           }
         }
       });

+ 2 - 5
src/pages/accountDetails/topup.vue

@@ -18,8 +18,6 @@
 </template>
 <script>
 let page = 1;
-let app = getApp();
-var appEv = app.$vm.$options;
 import { post } from "@/request/api.js";
 import notGoods from "@/components/not-goods/index.vue";
 export default {
@@ -39,7 +37,6 @@ export default {
   },
   methods: {
     loadData: function () {
-      let that = this;
       let data = {
         page: page,
         rows:20
@@ -56,7 +53,7 @@ export default {
               this.page = -1;
             } else {
               this.page = -1;
-              appEv.errTips("暂无更多");
+              this.$toast("暂无更多");
             }
           }
         } else {
@@ -65,7 +62,7 @@ export default {
             this.page = -1;
           } else {
             this.page = -1;
-            appEv.errTips("暂无更多");
+            this.$toast("暂无更多");
           }
         }
       });

+ 2 - 4
src/pages/accountDetails/withdraw.vue

@@ -35,8 +35,6 @@
 </template>
 <script>
 let page = 1;
-let app = getApp();
-var appEv = app.$vm.$options;
 import { post } from "@/request/api.js";
 import notGoods from "@/components/not-goods/index.vue";
 
@@ -77,7 +75,7 @@ export default {
                             this.page = -1;
                         } else {
                             this.page = -1;
-                            appEv.errTips("暂无更多");
+                            this.$toast("暂无更多");
                         }
                     }
                 } else {
@@ -86,7 +84,7 @@ export default {
                         this.page = -1;
                     } else {
                         this.page = -1;
-                        appEv.errTips("暂无更多");
+                        this.$toast("暂无更多");
                     }
                 }
             });

+ 2 - 5
src/pages/autonym-submit/index.vue

@@ -33,9 +33,6 @@
 </template>
 
 <script>
-	let page = 1;
-	let app = getApp();
-	var appEv = app.$vm.$options;
 	import {
 		post
 	} from "@/request/api.js";
@@ -58,7 +55,7 @@
 		methods: {
 			submit() {
 				if(!this.isDisabled){
-					appEv.errTips("请阅读并同意相关协议");
+					this.$toast("请阅读并同意相关协议");
 					return;
 				}
 
@@ -84,7 +81,7 @@
 						});
 
 					} else {
-						appEv.errTips(res.msg)
+						this.$toast(res.msg)
 					}
 
 				});

+ 3 - 5
src/pages/cash/index.vue

@@ -26,8 +26,6 @@
     </view>
 </template>
 <script>
-let app = getApp();
-var appEv = app.$vm.$options;
 import { post } from "@/request/api.js";
 export default {
     data() {
@@ -66,7 +64,7 @@ export default {
             let that = this;
             let url = this.islocal ? "local/withdraw" : "v1/user/withdraw"
             if (this.inputMoney == "") {
-                appEv.errTips("请输入金额");
+                this.$toast("请输入金额");
                 return;
             }
             if (!this.imgs) {
@@ -107,7 +105,7 @@ export default {
                     if (this.islocal) this.getLU()
                     else this.getU()
                 } else {
-                    appEv.errTips(res.msg || "");
+                    this.$toast(res.msg || "");
                 }
             });
         },
@@ -139,7 +137,7 @@ export default {
                     if (resTwo.code === 0) {
                         that.imgs = resTwo.data.src;
                     } else {
-                        appEv.errTips(resTwo.msg);
+                        that.$toast(resTwo.msg);
                     }
                 },
             });

+ 58 - 69
src/pages/index/index.vue

@@ -18,17 +18,21 @@
                 </swiper>
             </view>
             <!-- 公告-end -->
-            <!-- 金刚区 -->
-            <!-- <view class="head_area flex_r flex_jse">
-                <view class="area_list" v-for="(item, index) in area_list" :key="index" @click="setPageUrl(item)">
-                    <image class="area_img" :src="item.url"></image>
-                    <view class="area_name">{{ item.name }}</view>
-                </view>
-            </view> -->
-            <!-- 金刚区-end -->
             
             <!-- 专区入口 -->
             <div class="l_tabBar flex_r flex_jb">
+                <div class="search-box flex_r flex_jb flex_ac">
+                    <div class="district">
+                        <span>深圳</span>
+                        <span class="iconfont">&#xe62f;</span>
+                    </div>
+                    <div class="search flex_r flex_jb flex_ac">
+                        <span class="iconfont">&#xe661;</span>
+                        <input v-model="searchKey" class="inp" placeholder="搜索你要的内容">
+                        <span class="search_btn" @click="toSearch">搜索</span>
+                    </div>
+                    <div class="scan-ico iconfont">&#xe8cf;</div>
+                </div>
                 <div class="item" v-for="(i,s) in tabs" :key="s" @click="isActivation(i.url)">
                     <img :src="i.ico" alt="" class="ico">
                     <!-- <div class="tit">{{ i.tit }}</div> -->
@@ -91,8 +95,6 @@
     </div>
 </template>
 <script>
-let app = getApp();
-var appEv = app.$vm.$options;
 import swiperBanner from "@/components/swiperBanner/index.vue"; //轮播
 import activation from "@/components/activation/activation.vue";
 import xhPrivacy from "@/components/xh-privacy/xh-privacy.vue";
@@ -110,25 +112,8 @@ export default {
             BannerImg: [],  // 轮播图列表
             not_list: [],   // 公告列表
             homeImg: "",    //活动列表
-            // 金刚区
-            area_list: [
-                {
-                    name: "云宝货易",
-                    url: "https://teaclub.oss-cn-chengdu.aliyuncs.com/menu/ss.png",
-                    type: 3,
-                },
-                {
-                    name: "茶宝兑换",
-                    url: "https://teaclub.oss-cn-chengdu.aliyuncs.com/menu/n_tea.png",
-                    type: 5,
-                },
-                {
-                    name: "天天捡漏",
-                    url: "https://teaclub.oss-cn-chengdu.aliyuncs.com/menu/n_day.png",
-                    type: 6,
-                },
-            ],
             productList: [], //商品数据
+            searchKey: "", //搜索关键词
             tabs
         };
     },
@@ -190,22 +175,12 @@ export default {
         },
         // 轮播图跳转
         goList(e) {},
-        // 金刚区跳转
-        setPageUrl(item) {
-            if ([1, 3, 4, 6].includes(item.type)) {
-                this.goto("/pages/product/productRetail", { type: item.type });
-            } else if (item.type == 2) {
-                this.goto("/pages/product/productWholesale", { type: 2 });
-            } else if (item.type == 5) {
-                this.goto("/pages/product/productTeaBaby", { type: item.type });
-            } else {
-                appEv.errTips("此功能暂未开放!");
-                return false;
-            }
-        },
         goVipGift(){
             this.goto("/pages/product/productRetail", { type: 4, is_vip: 1 });
         },
+        toSearch(){
+            this.goto("/pagesC/settledMerchant/index", { key: this.searchKey });
+        },
         // 是否激活数智生活
         isActivation(url) {
             uni.Location();
@@ -214,7 +189,7 @@ export default {
                     this.goto(url)
                     // uni.Luserfun()
                 } else if (res.code == -1) {
-                    appEv.errTips("请先登录或注册!");
+                    this.$toast("请先登录或注册!");
                     // this.activation();
                 }
             })
@@ -308,8 +283,47 @@ export default {
     background-color: #fff;
     padding: 10rpx 20rpx;
     border-radius: 10rpx;
-    box-shadow: 4rpx 4rpx 16rpx 10rpx rgba($color: #000, $alpha: 0.15);
+    box-shadow: 4rpx 4rpx 8rpx 4rpx rgba(0, 0, 0, 0.12);
     flex-wrap: wrap;
+    .search-box{
+        width: 100%;
+        padding: 10rpx;
+        margin-bottom: 12rpx;
+        .district{
+            font-size: 32rpx;
+            font-weight: 600;
+            color: #333;
+            .iconfont{
+                font-size: 20rpx;
+                margin-left: 12rpx;
+            }
+        }
+        .search{
+            border: 1px solid #D78C2E;
+            height: 60rpx;
+            line-height: 60rpx;
+            padding-left: 20rpx;
+            border-radius: 31rpx;
+            .iconfont{
+                font-size: 30rpx;
+            }
+            .inp{
+                font-size: 25rpx;
+                padding: 0 8rpx;
+            }
+            .search_btn{
+                background-color: #D78C2E;
+                height: 100%;
+                color: #fff;
+                border-radius: 31rpx;
+                font-size: 28rpx;
+                padding: 0 28rpx;
+            }
+        }
+        .scan-ico{
+            font-size: 55rpx;
+        }
+    }
 
     .item {
         width: 105rpx;
@@ -326,31 +340,6 @@ export default {
     //   text-align: center;
     // }
 }
-// 金刚区
-.head_area {
-    margin: 20rpx 0 20rpx;
-    padding: 20rpx 0;
-    border-radius: 18rpx;
-    box-shadow: 4rpx 4rpx 26rpx 2rpx rgba(17, 18, 29, 0.08);
-
-    .area_list {
-        display: inline-block;
-        width: 25%;
-        text-align: center;
-
-        .area_img {
-            width: 46rpx;
-            height: 46rpx;
-            margin-bottom: 12rpx;
-        }
-
-        .area_name {
-            font-size: 24rpx;
-            color: #474747;
-        }
-    }
-}
-// 金刚区-end
 
 .bou_head {
     width: 100%;
@@ -421,7 +410,7 @@ export default {
         margin-bottom: 20rpx;
         padding-bottom: 12rpx;
         border-radius: 10rpx;
-        box-shadow: 4rpx 4rpx 16rpx 10rpx rgba($color: #000, $alpha: 0.15);
+        box-shadow: 4rpx 4rpx 8rpx 4rpx rgba(0, 0, 0, 0.12);
 
         &:nth-child(2n) {
             margin-left: 3%;

+ 2 - 4
src/pages/invi-img/index.vue

@@ -18,8 +18,6 @@
     </view>
 </template>
 <script>
-let app = getApp();
-var appEv = app.$vm.$options;
 import { post } from "@/request/api.js";
 
 export default {
@@ -63,7 +61,7 @@ export default {
                     this.bgSrc = this.bgImgList[0];
                     this.userImg = res.data.data.userImg;
                 } else {
-                    appEv.errTips(res.msg || "");
+                    this.$toast(res.msg || "");
                 }
             });
         },
@@ -189,7 +187,7 @@ export default {
                 },
                 fail(result) {
                     this.flag = false;
-                    appEv.errTips("保存失败");
+                    this.$toast("保存失败");
                 },
             });
         },

+ 3 - 5
src/pages/my-credites/index.vue

@@ -40,8 +40,6 @@
 </template>
 
 <script>
-let app = getApp();
-var appEv = app.$vm.$options;
 export default {
   data() {
     return {
@@ -73,7 +71,7 @@ export default {
             that.array = res.data.data;
             this.type = res.data.data[0].type;
           } else {
-            appEv.errTips(res.data.msg || "");
+            that.$toast(res.data.msg || "");
           }
         });
       }
@@ -83,7 +81,7 @@ export default {
       let that = this;
       var priceTest = /^[0-9]+([.]{1}[0-9]{0,2}){0,1}$/;
       if (this.inputMoney == "") {
-        appEv.errTips("请输入金额");
+        this.$toast("请输入金额");
         return;
       }
       if (
@@ -131,7 +129,7 @@ export default {
           uni.hideLoading();
           if (res.data.status == 200) {
             that.inputMoney = "";
-            appEv.errTips(res.data.msg);
+            that.$toast(res.data.msg);
             that.loadData();
           } else {
             uni.showModal({

+ 27 - 3
src/pages/my/index.vue

@@ -123,6 +123,31 @@
                     </navigator>
                 </view>
             </view>
+            <view class="fun mar_t30">
+                <view class="fun_title">商家中心</view>
+                <view class="fun_con mar_t50 flex_r flex_ac">
+                    <navigator class="fun_list flex_c flex_ac" url="/pagesB/address/list" hover-class="none">
+                        <image class="fun_img" src="/static/my/store.png"></image>
+                        <view class="fun_text">我的店铺</view>
+                    </navigator>
+                    <navigator class="fun_list flex_c flex_ac" url="/pagesB/my/addShop" hover-class="none">
+                        <image class="fun_img" src="/static/my/merchant.png"></image>
+                        <view class="fun_text">商家入驻</view>
+                    </navigator>
+                    <navigator class="fun_list flex_c flex_ac" url="/pagesB/invoice/invoiceList" hover-class="none">
+                        <image class="fun_img" src="/static/my/merchant2.png"></image>
+                        <view class="fun_text">我的商家</view>
+                    </navigator>
+                    <navigator class="fun_list flex_c flex_ac" @click="goto('/pages/agreement/index',{tit:'新手教程',type:1})" hover-class="none">
+                        <image class="fun_img" src="/static/my/merchant3.png"></image>
+                        <view class="fun_text">区域商家</view>
+                    </navigator>
+                    <navigator class="fun_list flex_c flex_ac" @click="goto('/pages/agreement/index',{tit:'新手教程',type:1})" hover-class="none">
+                        <image class="fun_img" src="/static/my/operator.png"></image>
+                        <view class="fun_text">申请运营商</view>
+                    </navigator>
+                </view>
+            </view>
             <view class="fun mar_t30">
                 <view class="fun_title">我的服务</view>
                 <view class="fun_con mar_t50 flex_r flex_ac">
@@ -174,7 +199,6 @@
 </template>
 <script>
 let app = getApp();
-var appEv = app.$vm.$options;
 import uniCopy from "@/utils/copy";
 import authorizeModule from "@/components/authorize-module/index";
 import activation from "@/components/activation/activation.vue"
@@ -284,7 +308,7 @@ export default {
                 if (this.userinfo.is_authentication == 1) {
                     this.goto("/pages/invi-img/index")
                 } else {
-                    appEv.errTips("您还未实名");
+                    this.$toast("您还未实名");
                     this.goToAutonym();
                 }
             } else {
@@ -297,7 +321,7 @@ export default {
                 if (this.userinfo.is_authentication == 1) {
                     this.goto("/pages/cash/index", { type })
                 } else {
-                    appEv.errTips("您还未实名");
+                    this.$toast("您还未实名");
                     this.goToAutonym();
                 }
             } else {

+ 1 - 3
src/pages/my/login.vue

@@ -34,8 +34,6 @@
     </view>
 </template>
 <script>
-let app = getApp();
-var appEv = app.$vm.$options;
 import { post } from "@/request/api.js";
 export default {
     name: "login",
@@ -110,7 +108,7 @@ export default {
 
         getVerifyCode() {
             if (!this.isPhone(this.formD2.mobile)) {
-                appEv.errTips("手机号填写有误!");
+                this.$toast("手机号填写有误!");
                 return
             }
             post("v1/getSms", {

+ 1 - 3
src/pages/my/userinfo.vue

@@ -12,8 +12,6 @@
     </view>
 </template>
 <script>
-let app = getApp();
-let appEv = app.$vm.$options;
 import { post } from "@/request/api.js";
 export default {
     data() {
@@ -51,7 +49,7 @@ export default {
         upda() {
             post("v1/user/setup", this.formDa).then((res) => {
                 if (res.code === 0) {
-                    appEv.errTips(res.msg);
+                    this.$toast(res.msg);
                     this.getuserInfo();
                     uni.navigateBack();
                 }

+ 0 - 2
src/pages/notice/detail.vue

@@ -16,8 +16,6 @@
 </template>
 
 <script>
-let app = getApp();
-var appEv = app.$vm.$options;
 import { post } from "@/request/api.js";
 import mpHtml from "@/uni_modules/mp-html/components/mp-html/mp-html.vue"
 export default {

+ 2 - 2
src/pages/orderingfood/merchantlist.vue

@@ -217,7 +217,7 @@ export default {
         padding: 28rpx 32rpx;
         background-color: #fff;
         border-radius: 10rpx;
-        box-shadow: 4rpx 4rpx 16rpx 10rpx rgba($color: #000, $alpha: 0.15);
+        box-shadow: 4rpx 4rpx 8rpx 4rpx rgba(0, 0, 0, 0.12);
     }
 
     .li_title {
@@ -272,7 +272,7 @@ export default {
     background-color: #fff;
     padding: 10rpx 20rpx;
     border-radius: 10rpx;
-    box-shadow: 4rpx 4rpx 16rpx 10rpx rgba($color: #000, $alpha: 0.15);
+    box-shadow: 4rpx 4rpx 8rpx 4rpx rgba(0, 0, 0, 0.12);
     flex-wrap: wrap;
 
     .item {

+ 0 - 2
src/pages/pay-agreement/index.vue

@@ -5,8 +5,6 @@
 </template>
 
 <script>
-let app = getApp();
-var appEv = app.$vm.$options;
 import { post } from "@/request/api.js";
 import mpHtml from "@/uni_modules/mp-html/components/mp-html/mp-html.vue"
 export default {

+ 1 - 3
src/pages/product/p_details.vue

@@ -107,9 +107,7 @@
     </view>
 </template>
 <script>
-let page = 1;
 let app = getApp();
-var appEv = app.$vm.$options;
 import { post } from "@/request/api.js";
 import mpHtml from "@/uni_modules/mp-html/components/mp-html/mp-html.vue"
 import swiperBanner from "@/components/swiperBanner/index.vue";
@@ -224,7 +222,7 @@ export default {
         // 去购买
         ToPayPage: function() {
             if (!this.checked) {
-                appEv.errTips("请阅读并同意购买协议");
+                this.$toast("请阅读并同意购买协议");
                 return;
             }
             if (this.btnIndex == 0) {

+ 3 - 5
src/pages/product/productRetail.vue

@@ -33,8 +33,6 @@
 </template>
 <script>
 let page = 1;
-let app = getApp();
-var appEv = app.$vm.$options;
 import { post } from "@/request/api.js";
 import notGoods from "@/components/not-goods/index.vue";
 export default {
@@ -82,14 +80,14 @@ export default {
                         });
                     } else {
                         page = -1;
-                        appEv.errTips('暂无更多')
+                        this.$toast('暂无更多')
                     }
                     if (page == 1 && !obj.length) this.haveGoods = true
                     else this.haveGoods = false
                 } else {
                     page = -1;
                     this.haveGoods = true;
-                    appEv.errTips('暂无更多')
+                    this.$toast('暂无更多')
                 }
 
             })
@@ -152,7 +150,7 @@ page {
         margin-bottom: 20rpx;
         padding-bottom: 12rpx;
         border-radius: 10rpx;
-        box-shadow: 4rpx 4rpx 16rpx 10rpx rgba($color: #000, $alpha: 0.15);
+        box-shadow: 4rpx 4rpx 8rpx 4rpx rgba(0, 0, 0, 0.12);
 
         &:nth-child(2n) {
             margin-left: 3%;

+ 2 - 4
src/pages/product/productTeaBaby.vue

@@ -20,8 +20,6 @@
 </template>
 <script>
 let page = 1;
-let app = getApp();
-var appEv = app.$vm.$options;
 import { post } from "@/request/api.js";
 export default {
     data() {
@@ -57,11 +55,11 @@ export default {
                         });
                     } else {
                         page = -1;
-                        appEv.errTips("暂无更多");
+                        this.$toast("暂无更多");
                     }
                 } else {
                     page = -1;
-                    appEv.errTips("暂无更多");
+                    this.$toast("暂无更多");
                 }
             });
         },

+ 2 - 4
src/pages/product/productWholesale.vue

@@ -16,8 +16,6 @@
 </template>
 <script>
 let page = 1;
-let app = getApp();
-var appEv = app.$vm.$options;
 import { post } from "@/request/api.js";
 export default {
     data() {
@@ -53,11 +51,11 @@ export default {
                         });
                     } else {
                         page = -1;
-                        appEv.errTips('暂无更多')
+                        this.$toast('暂无更多')
                     }
                 } else {
                     page = -1;
-                    appEv.errTips('暂无更多')
+                    this.$toast('暂无更多')
                 }
             })
         },

+ 4 - 6
src/pages/sign/index.vue

@@ -73,8 +73,6 @@
 </template>
 <script>
 let page = 1;
-let app = getApp();
-var appEv = app.$vm.$options;
 import { post } from "@/request/api.js";
 export default {
     components: {},
@@ -127,7 +125,7 @@ export default {
                 if (res.code === 0) {
                     this.loadData();
                 } else {
-                    appEv.errTips(res.msg);
+                    this.$toast(res.msg);
                 }
             });
         },
@@ -150,7 +148,7 @@ export default {
                             page = -1;
                         } else {
                             page = -1;
-                            appEv.errTips("暂无更多");
+                            this.$toast("暂无更多");
                         }
                     }
                 } else {
@@ -159,7 +157,7 @@ export default {
                         page = -1;
                     } else {
                         page = -1;
-                        appEv.errTips("暂无更多");
+                        this.$toast("暂无更多");
                     }
                 }
             });
@@ -392,7 +390,7 @@ page {
         margin-bottom: 20rpx;
         padding-bottom: 12rpx;
         border-radius: 10rpx;
-        box-shadow: 4rpx 4rpx 16rpx 10rpx rgba($color: #000, $alpha: 0.15);
+        box-shadow: 4rpx 4rpx 8rpx 4rpx rgba(0, 0, 0, 0.12);
 
         &:nth-child(2n) {
             margin-left: 3%;

+ 0 - 3
src/pages/speed-up/index.vue

@@ -66,9 +66,6 @@
 
 <script>
 let tim
-let page = 1;
-let app=getApp();
-var appEv = app.$vm.$options;
 import { post } from "@/request/api.js";
 import cmdProgress from "@/components/cmd-progress/cmd-progress.vue"
 	export default {

+ 4 - 7
src/pages/szw-order-details/index.vue

@@ -87,11 +87,8 @@
     </view>
 </template>
 <script>
-// var toPayOpre = new ToPayOpre();
 var utils = require("@/utils/utils.js");
 import { post } from "@/request/api.js";
-var app = getApp();
-var appEv = app.$vm.$options;
 export default {
     data() {
         return {
@@ -154,7 +151,7 @@ export default {
                             order_id: that.order_id
                         }).then(res => {
                             if(res.code === 0){
-                                appEv.errTips(res.msg);
+                                that.$toast(res.msg);
                                 that.loadData();
                             }
                         })
@@ -183,7 +180,7 @@ export default {
                     if (res.data.status == 200) {
                         toPayOpre.toPay(res.data.payParam);
                     } else {
-                        appEv.errTips(res.data.msg || "支付失败");
+                        that.$toast(res.data.msg || "支付失败");
                     }
                 });
             }
@@ -206,7 +203,7 @@ export default {
                             order_id: that.order_id
                         }).then(res => {
                             if(res.code === 0){
-                                appEv.errTips(res.msg);
+                                that.$toast(res.msg);
                                 that.loadData();
                             }
                         })
@@ -273,7 +270,7 @@ export default {
                             order_id: that.order_id,
                         }).then(res => {
                             if (res.code === 0) {
-                                appEv.errTips(res.msg);
+                                that.$toast(res.msg);
                                 that.goBack();
                             }
                         });

+ 7 - 8
src/pages/szw-order-list/index.vue

@@ -47,7 +47,6 @@
 <script>
 var page = 1;
 var app = getApp();
-var appEv = app.$vm.$options;
 import { ToPayOpre } from "@/utils/reqTools.js";
 var toPayOpre = new ToPayOpre();
 import notGoods from "@/components/not-goods/index";
@@ -165,7 +164,7 @@ export default {
                     }
                     this.orderList = [...this.orderList, ...da];
                 } else {
-                    appEv.errTips(res.msg || "");
+                    this.$toast(res.msg || "");
                     this.loadingMoreHidden = false;
                 }
             });
@@ -194,12 +193,12 @@ export default {
                     toPayOpre.toPay(res.data.data, (da) => {
                         if (!da) {
                             // 支付成功
-                            appEv.errTips("支付成功");
+                            this.$toast("支付成功");
                         } else {
                             // 支付失败
-                            appEv.errTips("支付已取消");
+                            this.$toast("支付已取消");
                         }
-                        // appEv.errTips('支付成功');
+                        // this.$toast('支付成功');
                         this.loadData();
                     });
                 }
@@ -222,7 +221,7 @@ export default {
                             order_id: e.order_id,
                         }).then((res) => {
                             if (res.code === 0) {
-                                appEv.errTips(res.msg);
+                                that.$toast(res.msg);
                                 that.loadData();
                             }
                         });
@@ -245,7 +244,7 @@ export default {
                             order_id: e.order_id,
                         }).then((res) => {
                             if (res.code === 0) {
-                                appEv.errTips(res.msg);
+                                that.$toast(res.msg);
                                 that.loadData();
                             }
                         });
@@ -279,7 +278,7 @@ export default {
                             order_id
                         }).then(res => {
                             if (res.code === 0) {
-                                appEv.errTips(res.msg);
+                                that.$toast(res.msg);
                                 that.loadData();
                             }
                         });

+ 2 - 5
src/pages/tea-list/index.vue

@@ -31,9 +31,6 @@
 </template>
 
 <script>
-let page = 1;
-let app = getApp();
-var appEv = app.$vm.$options;
 import uniCopy from "@/utils/copy";
 import { post } from "@/request/api.js";
 export default {
@@ -57,7 +54,7 @@ export default {
     dial: function (e) {
       let that = this;
       if (e == "") {
-        appEv.errTips("用户暂未设置电话");
+        this.$toast("用户暂未设置电话");
         return false;
       }
       uni.makePhoneCall({
@@ -68,7 +65,7 @@ export default {
     copyText: function (e) {
       let that = this;
       if (e == "") {
-        appEv.errTips("用户暂未设置微信");
+        this.$toast("用户暂未设置微信");
         return false;
       }
       uniCopy({

+ 4 - 7
src/pages/to-pay-list/index.vue

@@ -166,9 +166,6 @@
     </view>
 </template>
 <script>
-let page = 1;
-let app = getApp();
-var appEv = app.$vm.$options;
 import { post } from "@/request/api.js";
 import { ToPayOpre } from "@/utils/reqTools.js";
 let toPayOpre = new ToPayOpre();
@@ -320,7 +317,7 @@ export default {
                         };
                         post("v1/user/addAddress", data).then((res) => {
                             if (res.code === 0) {
-                                appEv.errTips(res.msg);
+                                that.$toast(res.msg);
                                 that.loadAddress();
                             }
                         });
@@ -379,17 +376,17 @@ export default {
                         toPayOpre.toPay(res.data, (rea) => {
                             if (!rea) {
                                 // 支付成功
-                                appEv.errTips("支付成功");
+                                this.$toast("支付成功");
                                 setTimeout(() => {
                                     that.goto("/pages/szw-order-list/index");
                                 }, 1500);
                             } else {
                                 // 支付失败
-                                appEv.errTips("支付已取消");
+                                this.$toast("支付已取消");
                             }
                         });
                     } else {
-                        appEv.errTips("支付成功");
+                        this.$toast("支付成功");
                         setTimeout(() => {
                             that.goto("/pages/szw-order-list/index");
                         }, 1500);

+ 4 - 6
src/pages/top-up/index.vue

@@ -39,8 +39,6 @@
     </view>
 </template>
 <script>
-let app = getApp();
-var appEv = app.$vm.$options;
 import { ToPayOpre } from "@/utils/reqTools.js";
 var toPayOpre = new ToPayOpre();
 import { post } from "@/request/api.js";
@@ -68,10 +66,10 @@ export default {
         confimTopUp() {
             let that = this
             if (!this.price) {
-                appEv.errTips("充值不能为0");
+                this.$toast("充值不能为0");
                 return;
             } else if (!this.isDisabled) {
-                appEv.errTips("请阅读并同意相关协议");
+                this.$toast("请阅读并同意相关协议");
                 return;
             } else {
                 let data = {
@@ -84,13 +82,13 @@ export default {
                     toPayOpre.toPay(res.data.data, (rea) => {
                         if (!rea) {
                             // 支付成功
-                            appEv.errTips("支付成功");
+                            this.$toast("支付成功");
                             that.$set(that,"price","");
                             if(that.type == "local") that.getLU();
                             else that.getuserInfo();
                         } else {
                             // 支付失败
-                            appEv.errTips("支付已取消");
+                            this.$toast("支付已取消");
                         }
                     });
                 });

+ 2 - 7
src/pages/xghc-addrress/userAddress.vue

@@ -78,12 +78,7 @@
 </template>
 <script>
 import { post } from "@/request/api.js";
-// import AddressParse from './zh-address-parse.min.js'
-// import smart from 'address-smart-parse'
-// import selectAddress from "@/components/selectAddress/selectAddress.vue"
 import selectAddress from "@/components/lcw-select-address/lcw-select-address.vue"
-let app = getApp();
-var appEv = app.$vm.$options;
 export default {
     components: {
         selectAddress
@@ -151,7 +146,7 @@ export default {
             } else url = "v1/user/addAddress";
             post(url, data).then(res => {
                 if (res.code === 0) {
-                    appEv.errTips(res.msg);
+                    this.$toast(res.msg);
                     this.loadAddress();
                     this.isadd = false;
                 }
@@ -185,7 +180,7 @@ export default {
         delAddress(id) {
             post("v1/user/delAddress", { id }).then(res => {
                 if (res.code === 0) {
-                    appEv.errTips(res.msg);
+                    this.$toast(res.msg);
                     this.loadAddress();
                 }
             })

+ 2 - 4
src/pagesB/accountDetails/TeaC.vue

@@ -19,8 +19,6 @@
 </template>
 <script>
 let page = 1;
-let app = getApp();
-var appEv = app.$vm.$options;
 import { post } from "@/request/api.js";
 import notGoods from "@/components/not-goods/index.vue";
 export default {
@@ -65,7 +63,7 @@ export default {
                             this.page = -1;
                         } else {
                             this.page = -1;
-                            appEv.errTips("暂无更多");
+                            this.$toast("暂无更多");
                         }
                     }
                 } else {
@@ -74,7 +72,7 @@ export default {
                         this.page = -1;
                     } else {
                         this.page = -1;
-                        appEv.errTips("暂无更多");
+                        this.$toast("暂无更多");
                     }
                 }
             });

+ 1 - 3
src/pagesB/address/addaddress.vue

@@ -33,8 +33,6 @@
 <script>
 import { post } from "@/request/api.js";
 import selectAddress from "@/components/lcw-select-address/lcw-select-address.vue";
-let app = getApp();
-var appEv = app.$vm.$options;
 export default {
     name: "addaddress",
     props: {},
@@ -85,7 +83,7 @@ export default {
             } else url = "v1/user/addAddress";
             post(url, data).then((res) => {
                 if (res.code === 0) {
-                    appEv.errTips(res.msg);
+                    this.$toast(res.msg);
                     this.isadd = false;
                     this.goto("/pagesB/address/list")
                 }

+ 1 - 1
src/pagesB/cinema/cinemaList.vue

@@ -91,7 +91,7 @@ export default {
         padding: 28rpx 32rpx;
         background-color: #fff;
         border-radius: 10rpx;
-        box-shadow: 4rpx 4rpx 16rpx 10rpx rgba($color: #000, $alpha: 0.15);
+        box-shadow: 4rpx 4rpx 8rpx 4rpx rgba(0, 0, 0, 0.12);
     }
 
     .con_box {

+ 1 - 1
src/pagesB/cinema/cinemaTicket.vue

@@ -189,7 +189,7 @@ export default {
 .head {
     border-radius: 20rpx;
     background-color: #fff;
-    box-shadow: 4rpx 4rpx 16rpx 10rpx rgba($color: #000, $alpha: 0.15);
+    box-shadow: 4rpx 4rpx 8rpx 4rpx rgba(0, 0, 0, 0.12);
 
     .head_tit {
         font-size: 28rpx;

+ 175 - 0
src/pagesB/components/centerPopup/centerPopup.vue

@@ -0,0 +1,175 @@
+<template>
+    <view :class="ani?'center-container':'center-container center-container2'" v-show="isShow" catchtouchmove>
+        <view class="centerPopup" @touchmove.prevent>
+            <view class="title" :style="{fontSize:fontSize}">{{title}}</view>
+            <view class="subTitle">{{subTitle?subTitle:''}}</view>
+            <view class="xzwButton">
+                <view class="cancelButton" @click="leftClick" :style="{border:'1upx solid'+useColor,color:useColor,backgroundColor:'#fff'}">{{leftText}}</view>
+                <view class="confirmButton" @click="rightClick" :style="{color:'#fff',backgroundColor:useColor}">{{rightText}}</view>
+            </view>
+        </view>
+        <view class="mask" @click="close" v-show="isShow" @touchmove.prevent></view>
+    </view>
+</template>
+<script>
+export default {
+    props: {
+        title: '', //标题
+        subTitle: '', // 小标题
+        leftText: { // 左侧文字
+            type: String,
+            default: '取消'
+        },
+        rightText: { // 右侧文字
+            type: String,
+            default: '确定'
+        },
+        color: { //弹窗颜色
+            type: String,
+            default: ''
+        },
+        default: { //左侧按钮是否默认点击
+            type: Boolean,
+            default: true
+        },
+        fontSize: { //字体大小
+            type: String,
+            default: '32upx'
+        }
+    },
+    data() {
+        return {
+            isShow: false,
+            ani: false,
+            useColor: '#f00'
+        }
+    },
+    methods: {
+        leftClick() {
+            if (this.default) {
+                this.close()
+            } else {
+                this.$emit("leftClick")
+            }
+        },
+        open() {
+            this.$nextTick(function() {
+                this.ani = true
+                this.isShow = true
+                if (this.color) {
+                    this.useColor = this.color
+                } else {
+                    this.useColor = '#f00'
+                }
+                console.log(this.useColor)
+            })
+
+        },
+        close() {
+            this.ani = false
+            // #ifndef MP-WEIXIN
+            setTimeout(() => {
+                this.isShow = false
+            }, 180)
+            // #endif
+            // #ifdef MP-WEIXIN
+            this.isShow = false
+            // #endif
+        },
+        rightClick() {
+            this.$emit('confirmClick')
+        }
+    }
+}
+</script>
+<style lang="scss">
+@keyframes in {
+    0% {
+        opacity: 0;
+        transform: scale(1.1, 1.1);
+    }
+
+    100% {
+        opacity: 1;
+        transform: scale(1, 1);
+    }
+}
+
+@keyframes out {
+    0% {
+        opacity: 1;
+        transform: scale(1, 1);
+    }
+
+    100% {
+        opacity: 0;
+        transform: scale(1.2, 1.2);
+    }
+}
+
+.center-container {
+    z-index: 1000;
+    position: fixed;
+    top: 0;
+    left: 0;
+    bottom: 0;
+    right: 0;
+    animation: in 0.2s ease-in;
+
+    .centerPopup {
+        z-index: 1000;
+        width: 586upx;
+        background-color: #fff;
+        border-radius: 20upx;
+        position: absolute;
+        left: 50%;
+        top: 48%;
+        transform: translate(-50%, -50%);
+
+        .title {
+            font-weight: bold;
+            text-align: center;
+            font-size: 32upx;
+            padding: 74upx 20upx 20upx;
+        }
+
+        .subTitle {
+            text-align: center;
+            font-size: 24upx;
+            padding: 0 20upx 20upx 20upx;
+        }
+
+        .xzwButton {
+            display: flex;
+            justify-content: space-between;
+            padding: 20upx 70upx 54upx;
+
+            view {
+                width: 216upx;
+                height: 60upx;
+                display: flex;
+                align-items: center;
+                justify-content: center;
+                border-radius: 44upx;
+                font-size: 28upx;
+                box-sizing: border-box;
+            }
+        }
+    }
+
+    .mask {
+        z-index: 100;
+        position: absolute;
+        top: 0;
+        left: 0;
+        bottom: 0;
+        right: 0;
+        background: #000;
+        opacity: 0.4;
+    }
+}
+
+.center-container2 {
+    animation: out 0.2s ease-in;
+}
+</style>

+ 126 - 0
src/pagesB/components/up/index.vue

@@ -0,0 +1,126 @@
+<template>
+    <div class="upimgList">
+        <div class="upimg" v-for="(i,s) in imgs" :key="s">
+            <img :src="i" class="logo" alt="" srcset="" />
+            <div class="del iconfont" @click="del">&#xe609;</div>
+        </div>
+        <div v-if="!imgs.length" class="upimg flex_c flex_ac flex_jc flex_wrap" @click="upimg">
+            <div class="upico iconfont">&#xe674;</div>
+            <div class="upmsg">最多{{ count }}张</div>
+        </div>
+        <center-popup ref="centerPopup" :title="Popuptitle" @confirmClick="delimg" />
+    </div>
+</template>
+<script>
+import centerPopup from "@/pagesB/components/centerPopup/centerPopup"
+export default {
+    name: "upimgList",
+    props: {
+        count: {
+            type: Number,
+            default: 1
+        },
+        value: {
+            type: String,
+            default: ""
+        }
+    },
+    components: { centerPopup },
+    data() {
+        return {
+            imgs: [],
+            Popuptitle: "",
+            Popuptitle: "",
+            delinx: "", // 要删除的图片索引
+        };
+    },
+    methods: {
+        upimg() {
+            let that = this
+            uni.chooseMedia({
+                count: that.count,
+                mediaType: ["image"],
+                sizeType: ["compressed"],
+                sourceType: ["album", "camera"],
+                success: async (res) => {
+                    let arr = [];
+                    for (const it of res.tempFiles) {
+                        let url = await that.$up(it.tempFilePath)
+                        arr.push(url)
+                    }
+                    that.imgs = arr; that.emitI(arr);
+                },
+            });
+        },
+        del(inx) {
+            this.delinx = inx
+            this.Popuptitle = "确认要删除这张图片吗?"
+            this.$refs.centerPopup.open()
+        },
+        delimg() {
+            this.imgs.splice(this.delinx, 1)
+            this.emitI(this.imgs)
+            this.$refs.centerPopup.close()
+        },
+        emitI(arr){
+            let va = ""
+            if(this.count == 1) va = arr[0]
+            else va = JSON.stringify(arr)
+            this.$emit("input", va);
+        },
+    },
+    watch: {
+        value: {
+            immediate: true,
+            deep: true,
+            handler(str) {
+                if (str) this.imgs = JSON.parse(str)
+            }
+        }
+    },
+    onLoad(da) {},
+    onShow() {},
+    mounted() {},
+};
+</script>
+<style scoped lang='scss'>
+.upimgList {
+    display: grid;
+    justify-content: space-between;
+    grid-template-columns: repeat(auto-fill, 170rpx);
+    grid-gap: 0 1px;
+}
+
+.upimg {
+    width: 170rpx;
+    height: 130rpx;
+    font-size: 23rpx;
+    border-radius: 15rpx;
+    border: 2rpx dashed #999;
+    color: #999;
+    margin-bottom: 6rpx;
+    position: relative;
+
+    .upico {
+        color: #999;
+        font-size: 70rpx;
+    }
+
+    .logo {
+        width: 100%;
+        height: 100%;
+        border-radius: 15rpx;
+    }
+
+    .del {
+        position: absolute;
+        top: 6rpx;
+        right: 6px;
+        color: #fff;
+        padding: 6rpx 12rpx;
+        font-weight: 600;
+        border-radius: 12rpx;
+        background-color: rgba($color: #f20, $alpha: 0.6);
+    }
+}
+</style>

+ 2 - 2
src/pagesB/directCharge/coupon.vue

@@ -195,7 +195,7 @@ export default {
 .products {
     background-color: #fff;
     padding: 0 30rpx 28rpx;
-    box-shadow: 4rpx 4rpx 16rpx 10rpx rgba($color: #000, $alpha: 0.15);
+    box-shadow: 4rpx 4rpx 8rpx 4rpx rgba(0, 0, 0, 0.12);
 }
 
 .productList {
@@ -275,7 +275,7 @@ export default {
     margin-bottom: 30rpx;
     padding: 28rpx 30rpx;
     font-size: 32rpx;
-    box-shadow: 4rpx 4rpx 16rpx 10rpx rgba($color: #000, $alpha: 0.15);
+    box-shadow: 4rpx 4rpx 8rpx 4rpx rgba(0, 0, 0, 0.12);
 
     &:last-child {
         margin-bottom: 0;

+ 1 - 1
src/pagesB/directCharge/index.vue

@@ -75,7 +75,7 @@ export default {
         margin: 12rpx 15rpx;
         background-color: #fff;
         padding: 15rpx 0 15rpx 20rpx;
-        box-shadow: 4rpx 4rpx 16rpx 10rpx rgba($color: #000, $alpha: 0.15);
+        box-shadow: 4rpx 4rpx 8rpx 4rpx rgba(0, 0, 0, 0.12);
         border-radius: 10rpx;
         .b_img,.b_name{
             display: inline-block;

+ 2 - 2
src/pagesB/directCharge/orderDetail.vue

@@ -140,7 +140,7 @@ export default {
     border-radius: 20rpx;
     padding: 28rpx 30rpx;
     margin-bottom: 30rpx;
-    box-shadow: 4rpx 4rpx 16rpx 10rpx rgba($color: #000, $alpha: 0.15);
+    box-shadow: 4rpx 4rpx 8rpx 4rpx rgba(0, 0, 0, 0.12);
     .p_img{
         width: 100%;
         border-radius: 20rpx;
@@ -179,7 +179,7 @@ export default {
     margin-bottom: 30rpx;
     padding: 28rpx 30rpx;
     font-size: 32rpx;
-    box-shadow: 4rpx 4rpx 16rpx 10rpx rgba($color: #000, $alpha: 0.15);
+    box-shadow: 4rpx 4rpx 8rpx 4rpx rgba(0, 0, 0, 0.12);
 
     &:last-child {
         margin-bottom: 0;

+ 1 - 1
src/pagesB/directCharge/payment.vue

@@ -255,7 +255,7 @@ export default {
     margin-bottom: 30rpx;
     padding: 28rpx 30rpx;
     font-size: 32rpx;
-    box-shadow: 4rpx 4rpx 16rpx 10rpx rgba($color: #000, $alpha: 0.15);
+    box-shadow: 4rpx 4rpx 8rpx 4rpx rgba(0, 0, 0, 0.12);
 
     &:last-child {
         margin-bottom: 0;

+ 1 - 1
src/pagesB/hotel/hotel.vue

@@ -67,7 +67,7 @@
     </div>
 </template>
 <script>
-import preview from "@/pagesB/components/swiper-preview/index.vue";
+import preview from "@/components/swiper-preview/index";
 import navcustom from "@/components/navigationCustom/navigation-custom.vue"
 import { setCache, getCache } from "@/utils/storage.js";
 import { post } from "@/request/api.js";

+ 3 - 3
src/pagesB/hotel/hotelDetail.vue

@@ -242,7 +242,7 @@ export default {
     background-color: #fff;
     border-radius: 16rpx;
     padding: 26rpx 30rpx;
-    box-shadow: 4rpx 4rpx 16rpx 10rpx rgba($color: #000, $alpha: 0.15);
+    box-shadow: 4rpx 4rpx 8rpx 4rpx rgba(0, 0, 0, 0.12);
 
     .daynum {
         margin: 0 36rpx;
@@ -308,7 +308,7 @@ export default {
     border-radius: 16rpx;
     padding: 26rpx 30rpx;
     margin: 30rpx 0;
-    box-shadow: 4rpx 4rpx 16rpx 10rpx rgba($color: #000, $alpha: 0.15);
+    box-shadow: 4rpx 4rpx 8rpx 4rpx rgba(0, 0, 0, 0.12);
 
     .tit {
         font-size: 34rpx;
@@ -394,7 +394,7 @@ export default {
     margin-bottom: 30rpx;
     padding: 28rpx 30rpx;
     font-size: 32rpx;
-    box-shadow: 4rpx 4rpx 16rpx 10rpx rgba($color: #000, $alpha: 0.15);
+    box-shadow: 4rpx 4rpx 8rpx 4rpx rgba(0, 0, 0, 0.12);
 
     &:last-child {
         margin-bottom: 0;

+ 4 - 1
src/pagesB/hotel/index.vue

@@ -36,8 +36,11 @@
                 </div>
             </div>
         </div>
+        <!-- 日期选择 -->
         <date-picker mode="2" ref="dayPicker" :isShow.sync="showCaledar" @callback="pickerChange" />
+        <!-- 城市选择 -->
         <h-address @select="selectaddress" v-show="showAddress" />
+
         <dev class="ni_popup" v-if="popupShow">
             <div class="starLevel">
                 <div class="h_numinfo">每晚均价<span class="msg">{{numinfo}}</span></div>
@@ -76,7 +79,7 @@ import QQMapWX from '@/pagesB/static/js/qqmap-wx-jssdk.min.js';
 const showmap = new QQMapWX({ key: 'K7LBZ-RE23Q-JEN5D-4ZNEI-MS54Q-BHF6D' });
 import { post } from "@/request/api.js";
 import { setCache } from "@/utils/storage.js"
-import {similar} from '@/pagesB/static/js/similar.js';
+// import {similar} from '@/pagesB/static/js/similar.js';
 export default {
     name: "hotel",
     props: {},

+ 1 - 1
src/pagesB/hotel/orderDetail.vue

@@ -298,7 +298,7 @@ export default {
     margin-bottom: 30rpx;
     padding: 28rpx 30rpx;
     font-size: 32rpx;
-    box-shadow: 4rpx 4rpx 16rpx 10rpx rgba($color: #000, $alpha: 0.15);
+    box-shadow: 4rpx 4rpx 8rpx 4rpx rgba(0, 0, 0, 0.12);
 
     &:last-child {
         margin-bottom: 0;

+ 0 - 2
src/pagesB/invoice/Billingresult.vue

@@ -35,8 +35,6 @@
 </template>
 <script>
 import { post } from '@/request/api.js';
-let app=getApp();
-var appEv = app.$vm.$options;
 export default {
   name: 'Billing-result',
   data () {

+ 2 - 4
src/pagesB/invoice/editinvoice.vue

@@ -114,8 +114,6 @@
 </template>
 <script>
 import { post } from "@/request/api.js";
-let app = getApp();
-var appEv = app.$vm.$options;
 export default {
   name: "editinvoice",
   components: {},
@@ -142,7 +140,7 @@ export default {
   methods: {
     onsubmitBtn() {
       if (!this.email || !this.gmf_nsrsbh || !this.gmf_mc) {
-        appEv.errTips("请完整填写资料");
+        this.$toast("请完整填写资料");
         return;
       }
       this.$refs.uniPopup.open();
@@ -153,7 +151,7 @@ export default {
     },
     confirm() {
       if (!this.email || !this.gmf_nsrsbh || !this.gmf_mc) {
-        appEv.errTips("请完整填写资料");
+        this.$toast("请完整填写资料");
         return;
       }
       let data = {

+ 0 - 2
src/pagesB/invoice/invoiceList.vue

@@ -22,8 +22,6 @@
 </template>
 <script>
 import { post } from "@/request/api.js";
-var app = getApp();
-var appEv = app.$vm.$options;
 export default {
   name: "iApp",
   components: {},

+ 62 - 96
src/pagesB/my/addShop.vue

@@ -11,21 +11,11 @@
             </div>
         </div>
         <uni-forms ref="form" :modelValue="formData" label-width="80px" validateTrigger="blur">
-            <!-- <uni-forms-item label="业务员">
-                <div class="formCon">{{ userinfo.nickname }}</div>
-            </uni-forms-item>
-            <uni-forms-item label="手机号">
-                <div class="formCon">{{ userinfo.mobile }}</div>
-            </uni-forms-item> -->
-
             <uni-forms-item label="店铺名称" required name="name">
                 <uni-easyinput v-model="formData.name" type="text" placeholder="请输入店铺名称" />
             </uni-forms-item>
             <uni-forms-item label="商家logo" required name="logo">
-                <div class="upimg flex_c flex_ac flex_jc flex_wrap" @click="uplogoimg">
-                    <div class="iconfont">&#xe674;</div>
-                    <div class="upmsg">最多1张</div>
-                </div>
+                <upimg v-model="formData.logo"/>
             </uni-forms-item>
             <uni-forms-item label="商家分类" required name="business">
                 <uni-data-select v-model="formData.business" :localdata="TypeDesc.business" placeholder="请选择商家分类"></uni-data-select>
@@ -65,7 +55,7 @@
                 <uni-easyinput v-model="formData.we_chat" type="text" placeholder="请输入商家微信" />
             </uni-forms-item>
             <uni-forms-item label="开票类型" required name="billing_type">
-                <uni-data-select v-model="billing_type" :localdata="TypeDesc.billing_type" placeholder="请选择开票类型"></uni-data-select>
+                <uni-data-select v-model="formData.billing_type" :localdata="TypeDesc.billing_type" placeholder="请选择开票类型"></uni-data-select>
             </uni-forms-item>
             <uni-forms-item label="开户行" required name="bank">
                 <uni-easyinput v-model="formData.bank" type="text" placeholder="请输入开户行" />
@@ -83,13 +73,13 @@
                 <uni-easyinput v-model="formData.open_phone" type="text" placeholder="请输入开户手机" />
             </uni-forms-item>
             <uni-forms-item label="平台截图" name="other_type">
-                <uni-data-select v-model="other_type" :localdata="TypeDesc.other_type" placeholder="请选择平台"></uni-data-select>
+                <uni-data-select v-model="formData.other_type" :localdata="TypeDesc.other_type" placeholder="请选择平台"></uni-data-select>
             </uni-forms-item>
             <uni-forms-item label="上传截图">
-                <div class="upimg flex_c flex_ac flex_jc flex_wrap">
-                    <div class="iconfont">&#xe674;</div>
-                    <div class="upmsg">最多1张</div>
-                </div>
+                <upimg v-model="formData.other_images"/>
+            </uni-forms-item>
+            <uni-forms-item label="店铺图集">
+                <upimg v-model="formData.atlas" :count="6"/>
             </uni-forms-item>
         </uni-forms>
         <button class="button" @click="submit">校验表单</button>
@@ -98,35 +88,36 @@
 </template>
 <script>
 import { post } from "@/request/api.js";
-import selectAddress from "@/components/lcw-select-address/lcw-select-address.vue";
+import selectAddress from "@/components/lcw-select-address/lcw-select-address";
+import upimg from "@/pagesB/components/up/index"
 export default {
     name: "add-shop",
     props: {},
-    components: {selectAddress},
+    components: { selectAddress, upimg },
     data() {
         return {
             userinfo: uni.getStorageSync("userinfo"),
             formData: {},
             rules: {
-                name: { rules: [{ required: true, errorMessage: '请输入店铺名称' }]},
-                logo: { rules: [{ required: true, errorMessage: '请上传店铺logo' }]},
-                business: { rules: [{ required: true, errorMessage: '请选择商家分类' }]},
-                attribute: { rules: [{ required: true, errorMessage: '请选择商家属性' }]},
-                type: { rules: [{ required: true, errorMessage: '请选择合作类型' }]},
-                discount: { rules: [{ required: true, errorMessage: '请输入让利比率' }]},
-                province: { rules: [{ required: true, errorMessage: '请选择省市区地址' }]},
-                address: { rules: [{ required: true, errorMessage: '请输入详细地址' }]},
-                longitude: { rules: [{ required: true, errorMessage: '请输入经度' }]},
-                latitude: { rules: [{ required: true, errorMessage: '请输入纬度' }]},
-                contact: { rules: [{ required: true, errorMessage: '请输入联系人' }]},
-                phone: { rules: [{ required: true, errorMessage: '请输入联系电话' }]},
-                we_chat: { rules: [{ required: true, errorMessage: '商家微信' }]},
-                billing_type: { rules: [{ required: true, errorMessage: '请选择开票类型' }]},
-                bank: { rules: [{ required: true, errorMessage: '请输入开户行' }]},
-                card_no: { rules: [{ required: true, errorMessage: '请输入银行卡号' }]},
-                account_name: { rules: [{ required: true, errorMessage: '请输入开户姓名' }]},
-                card_id: { rules: [{ required: true, errorMessage: '请输入身份证号' }]},
-                open_phone: { rules: [{ required: true, errorMessage: '请输入开户手机' }]},
+                name: { rules: [{ required: true, errorMessage: '请输入店铺名称' }] },
+                logo: { rules: [{ required: true, errorMessage: '请上传店铺logo' }] },
+                business: { rules: [{ required: true, errorMessage: '请选择商家分类' }] },
+                attribute: { rules: [{ required: true, errorMessage: '请选择商家属性' }] },
+                type: { rules: [{ required: true, errorMessage: '请选择合作类型' }] },
+                discount: { rules: [{ required: true, errorMessage: '请输入让利比率' }] },
+                province: { rules: [{ required: true, errorMessage: '请选择省市区地址' }] },
+                address: { rules: [{ required: true, errorMessage: '请输入详细地址' }] },
+                longitude: { rules: [{ required: true, errorMessage: '请输入经度' }] },
+                latitude: { rules: [{ required: true, errorMessage: '请输入纬度' }] },
+                contact: { rules: [{ required: true, errorMessage: '请输入联系人' }] },
+                phone: { rules: [{ required: true, errorMessage: '请输入联系电话' }] },
+                we_chat: { rules: [{ required: true, errorMessage: '商家微信' }] },
+                billing_type: { rules: [{ required: true, errorMessage: '请选择开票类型' }] },
+                bank: { rules: [{ required: true, errorMessage: '请输入开户行' }] },
+                card_no: { rules: [{ required: true, errorMessage: '请输入银行卡号' }] },
+                account_name: { rules: [{ required: true, errorMessage: '请输入开户姓名' }] },
+                card_id: { rules: [{ required: true, errorMessage: '请输入身份证号' }] },
+                open_phone: { rules: [{ required: true, errorMessage: '请输入开户手机' }] },
             },
             TypeDesc: {},
             address: {
@@ -139,52 +130,33 @@ export default {
         };
     },
     methods: {
-        upimg(count=1) {
+        submit() {
             let that = this
-            return new Promise((resolve, reject) => {
-                uni.chooseMedia({
-                    count,
-                    mediaType: ["image"],
-                    sizeType: ["compressed"],
-                    sourceType: ["album", "camera"],
-                    success: async (res) => {
-                        console.log(res);
-                        let arr = [];
-                        for (const it of res.tempFiles) {
-                            let url = await that.$up(it.tempFilePath)
-                            arr.push(url)
-                        }
-                        resolve(arr)
-                    },
-                });
-            })
-        },
-        uplogoimg(){
-            this.upimg().then(res=>{
-                console.log(res);
-            })
-        },
-        submit(form) {
-            this.$refs.form
-                .validate()
-                .then((res) => {
-                    console.log("表单数据信息:", res);
+            this.$refs.form.validate().then((res) => {
+                post("v1/merchant/apply",this.formData).then(res=>{
+                    if (res.code == 0) {
+                        that.$toast("提交成功,请关注审核状态")
+                        uni.navigateBack({ delta: 1 })
+                    }
                 })
-                .catch((err) => {
-                    console.log("表单错误信息:", err);
-                });
+            })
+            .catch((err) => {
+                console.log("表单错误信息:", err);
+            });
         },
-        async getTypeDesc(){
+        async getTypeDesc() {
             let res = await post("v1/merchant/typeDesc");
-            if(res.code == 0){
+            if (res.code == 0) {
                 this.TypeDesc = res.data
             }
         },
         btnClick() {
             this.$refs.selectAddress.open();
         },
-        changeAddress(address) {
-            //选择成功回调
+        changeAddress(address) { //选择地区成功回调
+            let { area, city, province, street } = address
+            let obj = { county:area, city, province, street }
+            this.formData = Object.assign({}, this.formData, obj);
             this.address = address;
             this.userAddress = "";
             for (const i in address) {
@@ -194,8 +166,8 @@ export default {
         // 获取当前位置
         async getLocation() {
             let adres = await uni.Location();
-            this.$set(this.formData,"longitude",adres.lng)
-            this.$set(this.formData,"latitude",adres.lat)
+            this.$set(this.formData, "longitude", adres.lng)
+            this.$set(this.formData, "latitude", adres.lat)
         },
     },
     onReady() {
@@ -230,47 +202,41 @@ export default {
 <style scoped lang='scss'>
 .add-shop {
     padding: 28rpx 32rpx;
-    .userBox{
+
+    .userBox {
         color: #222;
         font-size: 28rpx;
         margin-bottom: 44rpx;
-        
-        .u_item{
+
+        .u_item {
             margin-bottom: 28rpx;
         }
-        .label{
+
+        .label {
             width: 80px;
         }
     }
-    .formCon{
+
+    .formCon {
         height: 100%;
         display: flex;
         flex-direction: row;
         align-items: center;
     }
-    .upimg{
-        width: 170rpx;
-        height: 130rpx;
-        border: 2rpx dashed #999;
-        font-size: 23rpx;
-        color: #999;
-        border-radius: 15rpx;
-        .iconfont{
-            color: #999;
-            font-size: 70rpx;
-        }
-    }
-    .selectAdder{
+
+    .selectAdder {
         height: 100%;
         background-color: #fff;
         border-radius: 4px;
         border: 1px solid #e5e5e5;
         padding: 0 10px;
         font-size: 24rpx;
-        .msg{
+
+        .msg {
             color: #999;
         }
-        .ico{
+
+        .ico {
             color: #888;
         }
     }

+ 1 - 3
src/pagesB/my/assistant.vue

@@ -63,8 +63,6 @@
 </template>
 <script>
 import { post } from "@/request/api.js";
-var app = getApp();
-var appEv = app.$vm.$options;
 export default {
   name: "iApp",
   components: {},
@@ -138,7 +136,7 @@ export default {
     },
     toEditinvoice() {
       if (this.trueTotal == 0) {
-        appEv.errTips("请先选择订单");
+        this.$toast("请先选择订单");
         return;
       }
       let list = [];

+ 1 - 1
src/pagesB/orderingfood/fineFood.vue

@@ -95,7 +95,7 @@ export default {
         padding: 28rpx 32rpx;
         background-color: #fff;
         border-radius: 10rpx;
-        box-shadow: 4rpx 4rpx 16rpx 10rpx rgba($color: #000, $alpha: 0.15);
+        box-shadow: 4rpx 4rpx 8rpx 4rpx rgba(0, 0, 0, 0.12);
     }
 
     .li_title {

+ 1 - 1
src/pagesB/prepaidRefill/index.vue

@@ -260,7 +260,7 @@ export default {
     margin-bottom: 30rpx;
     padding: 28rpx 30rpx;
     font-size: 32rpx;
-    box-shadow: 4rpx 4rpx 16rpx 10rpx rgba($color: #000, $alpha: 0.15);
+    box-shadow: 4rpx 4rpx 8rpx 4rpx rgba(0, 0, 0, 0.12);
 
     &:last-child {
         margin-bottom: 0;

+ 2 - 2
src/pagesB/prepaidRefill/orderDetail.vue

@@ -108,7 +108,7 @@ export default {
     border-radius: 20rpx;
     padding: 28rpx 30rpx;
     margin-bottom: 30rpx;
-    box-shadow: 4rpx 4rpx 16rpx 10rpx rgba($color: #000, $alpha: 0.15);
+    box-shadow: 4rpx 4rpx 8rpx 4rpx rgba(0, 0, 0, 0.12);
     .p_t{
         font-size: 30rpx;
         font-weight: bold;
@@ -130,7 +130,7 @@ export default {
     margin-bottom: 30rpx;
     padding: 28rpx 30rpx;
     font-size: 32rpx;
-    box-shadow: 4rpx 4rpx 16rpx 10rpx rgba($color: #000, $alpha: 0.15);
+    box-shadow: 4rpx 4rpx 8rpx 4rpx rgba(0, 0, 0, 0.12);
 
     &:last-child {
         margin-bottom: 0;

+ 2 - 2
src/pagesB/scenicSpotTicket/orderDetail.vue

@@ -109,7 +109,7 @@ export default {
     border-radius: 20rpx;
     padding: 28rpx 30rpx;
     margin-bottom: 30rpx;
-    box-shadow: 4rpx 4rpx 16rpx 10rpx rgba($color: #000, $alpha: 0.15);
+    box-shadow: 4rpx 4rpx 8rpx 4rpx rgba(0, 0, 0, 0.12);
     .p_img{
         width: 100%;
         border-radius: 20rpx;
@@ -135,7 +135,7 @@ export default {
     margin-bottom: 30rpx;
     padding: 28rpx 30rpx;
     font-size: 32rpx;
-    box-shadow: 4rpx 4rpx 16rpx 10rpx rgba($color: #000, $alpha: 0.15);
+    box-shadow: 4rpx 4rpx 8rpx 4rpx rgba(0, 0, 0, 0.12);
 
     &:last-child {
         margin-bottom: 0;

+ 2 - 2
src/pagesB/scenicSpotTicket/scenic.vue

@@ -54,7 +54,7 @@
 <script>
 import navcustom from "@/components/navigationCustom/navigation-custom.vue"
 import mpHtml from "@/uni_modules/mp-html/components/mp-html/mp-html.vue"
-import preview from "@/pagesB/components/swiper-preview/index.vue";
+import preview from "@/components/swiper-preview/index";
 import { post } from "@/request/api.js";
 export default {
     name: "scenic",
@@ -213,7 +213,7 @@ page {
         padding: 28rpx 32rpx;
         margin-bottom: 28rpx;
         border-radius: 10rpx;
-        box-shadow: 4rpx 4rpx 16rpx 10rpx rgba($color: #000, $alpha: 0.15);
+        box-shadow: 4rpx 4rpx 8rpx 4rpx rgba(0, 0, 0, 0.12);
 
         &:last-child {
             margin-bottom: 0;

+ 1 - 1
src/pagesB/scenicSpotTicket/scenicDetail.vue

@@ -351,7 +351,7 @@ export default {
     margin-bottom: 30rpx;
     padding: 28rpx 30rpx;
     font-size: 32rpx;
-    box-shadow: 4rpx 4rpx 16rpx 10rpx rgba($color: #000, $alpha: 0.15);
+    box-shadow: 4rpx 4rpx 8rpx 4rpx rgba(0, 0, 0, 0.12);
 
     &:last-child {
         margin-bottom: 0;

+ 1 - 1
src/pagesB/specialregion/index.vue

@@ -314,7 +314,7 @@ export default {
         margin-bottom: 20rpx;
         padding-bottom: 12rpx;
         border-radius: 10rpx;
-        box-shadow: 4rpx 4rpx 16rpx 10rpx rgba($color: #000, $alpha: 0.15);
+        box-shadow: 4rpx 4rpx 8rpx 4rpx rgba(0, 0, 0, 0.12);
 
         &:nth-child(2n) {
             margin-left: 3%;

+ 128 - 0
src/pagesC/components/nav/nav.vue

@@ -0,0 +1,128 @@
+<template>
+        <view class="search-customBar" :style="[{ height }]">
+            <view class="new-top" :style="{'top':marginTop}">
+                <image class="search-bak" src="@/static/img/search-bak-icon.png" mode="" @click="bakpage"></image>
+                <view class="new-search-box">
+                    <image src="@/static/img/new-search.png" mode=""></image>
+                    <input type="text" :focus="showfocus" :placeholder="hint" v-model="goods" @confirm="search" />
+                </view>
+            </view>
+        </view>
+</template>
+<script>
+export default {
+    data() {
+        return {
+            goods: '',
+            showfocus: false
+        }
+    },
+    props: {
+        hint: {
+            type: String,
+            default: "请输入搜索内容"
+        },
+        value: {
+            type: String,
+            default: ""
+        },
+    },
+    created() {
+        this.showfocus = true;
+    },
+	computed: {
+		height() {
+			const { platform, statusBarHeight } = uni.getSystemInfoSync()
+			let height = statusBarHeight + 4 //ios 24px
+			if (platform.toLowerCase() == "android") {
+				height += 4 //android 28px
+			}
+			// 胶囊高度 32px 下边框6px height 状态栏高度
+			return height + 38 + "px"
+		},
+		marginTop() {
+			const { platform, statusBarHeight } = uni.getSystemInfoSync()
+			let height = statusBarHeight + 4
+			if (platform.toLowerCase() == "android") {
+				height += 4
+			}
+			return height + "px"
+		}
+	},
+    methods: {
+        bakpage() {
+            uni.navigateBack({ delta: 1 })
+        },
+        search() {
+            this.$emit("send", this.goods)
+            this.$emit("input", this.goods)
+        }
+    },
+    watch: {
+        value: {
+            immediate: true,
+            deep: true,
+            handler(va) {
+                this.goods = va
+            }
+        }
+    },
+
+}
+</script>
+<style lang="scss" scoped>
+.search-customBar {
+    width: 100%;
+    position: relative;
+    background-color: #F5F5F5;
+    overflow: hidden;
+    z-index: 99;
+}
+
+.new-top {
+    position: absolute;
+    left: 0;
+    width: calc(100% - 192rpx);
+    display: flex;
+    flex-direction: row;
+    align-items: center;
+    padding: 0 22rpx;
+    box-sizing: border-box;
+    overflow: hidden;
+}
+
+.search-bak {
+    width: 19rpx;
+    height: 41rpx;
+    padding: 10rpx 20rpx;
+    margin-right: 26rpx;
+}
+
+.new-search-box {
+    height: 66rpx;
+    width: calc(100% - 90rpx);
+    line-height: 66rpx;
+    background: #FFF;
+    border-radius: 33rpx;
+    overflow: hidden;
+    border: 1px solid #e5e5e5;
+    display: flex;
+    flex-direction: row;
+    align-items: center;
+    justify-content: space-evenly;
+}
+
+.new-search-box image {
+    width: 32rpx;
+    height: 32rpx;
+}
+
+.new-search-box input {
+    font-size: 26rpx;
+    font-family: Microsoft YaHei;
+    font-weight: 400;
+    color: #999;
+    height: 50rpx;
+    line-height: 50rpx;
+}
+</style>

+ 259 - 0
src/pagesC/settledMerchant/index.vue

@@ -0,0 +1,259 @@
+<template>
+    <div class="settledMerchantList">
+        <my-nav v-model="Query.name" @send="navSearch" />
+		<view class="next-search-history" v-if="oldKeywordList.length && !Query.name">
+			<view class="history-title">
+				<view class="title-name"><text>搜索历史</text></view>
+				<view class="history-delete" v-if="isDelete">
+					<view class="delete-all" @click="deleteAll"><text>全部删除</text></view>
+					<view class="delete-line"></view>
+					<view class="delete-complete" @click="deleteHistory"><text>完成</text></view>
+				</view>
+				<view v-else class="icon-block" @click="deleteHistory"><text class="iconfont" style="font-size: 36rpx;">&#xe601;</text></view>
+			</view>
+			<view class="next-history-list">
+				<view class="history-name" v-for="(item,index) in oldKeywordList" :key="index" @click="historyItemClick(item,index)">
+					{{item}}
+					<text v-if="isDelete" class="iconfont" style="font-size: 30rpx;">&#xe609;</text>
+				</view>
+			</view>
+            <view class="history-title">
+                <view class="title-name"><text>附近商家</text></view>
+            </view>
+		</view>
+        <div class="list">
+            <div class="li_item" v-for="(i,s) in list" :key="s" @click="goMerchant(i)">
+                <!-- <div class="li_title">{{ i.name }}</div> -->
+                <div class="logo_img">
+                    <img :src="i.logo" alt="">
+                </div>
+                <div class="con_box">
+                    <div class="p1 ellipsis">{{ i.name }}</div>
+                    <div class="p2">{{ i.address }}</div>
+                    <div class="p3">{{ $h.Div(i.distance, 1000).toFixed(2) }} km</div>
+                </div>
+            </div>
+        </div>
+    </div>
+</template>
+<script>
+import { post } from "@/request/api.js";
+import myNav from "@/pagesC/components/nav/nav"
+export default {
+    name: "settledMerchantList",
+    props: {},
+    components: { myNav },
+    data() {
+        return {
+            list: [],
+            Query: {
+                latitude: 113.9367,
+                longitude: 22.5325,
+                page: 1,
+                rows: 20
+            },
+            pageData: {},
+            oldKeywordList: [],
+            isDelete: false,
+        };
+    },
+    methods: {
+        navSearch(va) {
+            if(va){
+                this.Query.name = va
+                if (!this.oldKeywordList.includes(va)) this.oldKeywordList.push(va);
+                this.setLS("oldKeywords", this.oldKeywordList)
+            }
+            else delete this.Query.name
+            this.getList(1);
+        },
+        goMerchant(da){
+            this.setLS("merchant",da)
+            this.goto("/pagesC/settledMerchant/merchant",{id:da.id})
+        },
+        // 获取当前位置
+        async getLocation() {
+            let adres = await uni.Location();
+            this.Query.longitude = adres.lng;
+            this.Query.latitude = adres.lat;
+        },
+        getList(page) {
+            if (page) {
+                this.list = []
+                this.Query.page = 1
+            }
+            post("v1/merchant/list", this.Query).then(res => {
+                if (res.code == 0) {
+                    let da = res.data.data
+                    delete res.data.data
+                    this.pageData = res.data
+                    this.list = [...this.list, ...da]
+                    this.Query.page++
+                }
+            })
+        },
+        deleteHistory() {
+            this.isDelete = !this.isDelete
+        },
+        deleteAll() {
+            this.setLS("oldKeywords", [])
+            this.oldKeywordList = []
+        },
+        historyItemClick(name, index) {
+            if (this.isDelete) {
+                this.oldKeywordList.splice(index, 1)
+                this.setLS("oldKeywords", this.oldKeywordList)
+            } else {
+                this.Query.name = name
+                this.getList(1);
+            }
+        },
+    },
+    onLoad(da) {
+        this.getLocation();
+        if(da.key) this.navSearch(da.key)
+        else this.getList();
+        this.oldKeywordList = this.getLS("oldKeywords") || [];
+    },
+    onShow() {},
+    mounted() {},
+    onReachBottom() {
+        if (this.Query.page < this.pageData.last_page) this.getList();
+    },
+};
+</script>
+<style scoped lang='scss'>
+.settledMerchantList {
+    min-height: 100vh;
+    background-color: #F5F5F5;
+}
+
+.next-search-history {
+    padding: 0 20rpx;
+    margin-top: 24rpx;
+
+    .history-title {
+        display: flex;
+        align-items: center;
+        justify-content: space-between;
+
+        .title-name {
+            font-size: 30rpx;
+            color: #666666;
+            font-weight: bold;
+            margin-left: 12rpx;
+        }
+
+        .history-delete {
+            height: auto;
+            display: flex;
+            align-items: center;
+            justify-content: flex-end;
+
+            .delete-all {
+                font-size: 26rpx;
+                color: #666666;
+            }
+
+            .delete-line {
+                width: 1px;
+                height: 20rpx;
+                background-color: #999999;
+                margin: 0 12rpx;
+            }
+
+            .delete-complete {
+                font-size: 26rpx;
+                color: #F71E1E;
+            }
+        }
+    }
+
+    .next-history-list {
+        width: 100%;
+        display: flex;
+        align-items: flex-start;
+        justify-content: flex-start;
+        flex-wrap: wrap;
+        padding: 12rpx 0;
+
+        .history-name {				
+            background-color: #FFFFFF;
+            border-radius: 25rpx;
+            margin: 10rpx 12rpx;
+            font-size: 26rpx;
+            height: 48rpx;
+            line-height: 48rpx;
+            padding: 0 24rpx;
+            color: #666666;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            display: -webkit-box;
+            -webkit-box-orient: vertical;
+            -webkit-line-clamp: 1;
+            position: relative;
+            display: flex;
+            align-items: center;
+            justify-content: center;
+        }
+    }
+}
+
+.list {
+    padding: 30rpx;
+
+    .li_item {
+        margin-bottom: 20rpx;
+        padding: 28rpx 32rpx;
+        background-color: #fff;
+        border-radius: 10rpx;
+        box-shadow: 4rpx 4rpx 8rpx 4rpx rgba(0, 0, 0, 0.12);
+    }
+
+    .li_title {
+        font-size: 36rpx;
+        margin-bottom: 16rpx;
+    }
+
+    .logo_img,
+    .con_box {
+        display: inline-block;
+        vertical-align: top;
+    }
+
+    .logo_img {
+        img {
+            height: 180rpx;
+            width: 180rpx;
+            border-radius: 10rpx;
+        }
+    }
+
+    .con_box {
+        height: 180rpx;
+        width: calc(100% - 180rpx - 28rpx);
+        margin-left: 28rpx;
+        position: relative;
+
+        .p1 {
+            font-size: 32rpx;
+            font-weight: bold;
+            color: #333;
+            margin-bottom: 6rpx;
+        }
+
+        .p2 {
+            font-size: 24rpx;
+            color: #999;
+        }
+
+        .p3 {
+            font-size: 24rpx;
+            color: #666;
+            position: absolute;
+            right: 0;
+            bottom: 0;
+        }
+    }
+}
+</style>

+ 190 - 0
src/pagesC/settledMerchant/merchant.vue

@@ -0,0 +1,190 @@
+<template>
+    <div class="hotel">
+        <navcustom :config="config" class="navcustom" v-if="customShow"/>
+        <div class="head_img" @click="onpreview">
+            <image :src="detail.atlas[0]" mode="aspectFill" class="bg_img" />
+        </div>
+        <div class="head_info">
+            <div class="head_info_row flex_r flex_ac">
+                <image class="logo" :src="detail.logo"/>
+                <div class="head_name">
+                    <div class="name">{{ detail.name }}</div>
+                    <div class="flex_r flex_ac">
+                        <uni-rate :max="5" :value="detail.score" :size="12" allow-half />
+                        <span class="commentScore">{{detail.score}}分</span>
+                    </div>
+                </div>
+            </div>
+            <div class="h_address flex_r flex_jb flex_ac">
+                <div class="hil">
+                    <div class="h_tags flex_r flex_ac flex_wrap">
+                        <span class="tag">距您 {{ $h.Div(merchantInfo.distance, 1000).toFixed(2) }} km</span>
+                    </div>
+                    <div class="address">{{ merchantInfo.address }}</div>
+                </div>
+                <div class="iconfont ico" @click="openm">&#xe6b3;</div>
+            </div>
+        </div>
+        <div class="btn-box">
+            <div class="btn">快捷买单</div>
+        </div>
+        <!-- 图片查看组件 -->
+        <preview ref="previewimg" :listType="2" @close="previewclose"/>
+    </div>
+</template>
+<script>
+import preview from "@/components/swiper-preview/index";
+import navcustom from "@/components/navigationCustom/navigation-custom.vue"
+import { post } from "@/request/api.js";
+export default {
+    name: "hotel",
+    props: {},
+    components: { preview, navcustom },
+    data() {
+        return {
+            query: {},
+            merchantID: "",
+            merchantInfo: {},
+            detail: {},
+            config: {
+                title: "",
+                bgcolor: "",
+                type: 1,
+                linear: false,
+                transparent: true,
+                fontcolor: "#000",
+                menuIcon: "",
+                menuText: ""
+            },
+            customShow: true
+        };
+    },
+    methods: {
+        merchant(){
+            post("v1/merchant/detail", {
+                merchant_id: this.merchantID,
+            }).then((res) => {
+                if (res.code == 0) {
+                    let da = res.data;
+                    if(da.atlas) da.atlas = JSON.parse(da.atlas)
+                    this.detail = da
+                }
+            });
+        },
+        onpreview() {
+            if (this.detail.atlas.length) {
+                this.customShow = false
+                this.$refs.previewimg.open({
+                    imgs: this.detail.atlas,
+                    current: 0,
+                });
+            }
+        },
+        previewclose(){
+            this.customShow = true
+        },
+        openm() {
+            let { name, address, latitude, longitude } =  this.detail
+            uni.openLocation({
+                latitude: Number(latitude), longitude: Number(longitude), scale: 18, name, address,
+                success: function() {
+                    console.log('success');
+                }
+            });
+        },
+    },
+    onLoad(da) {
+        this.merchantID = da.id;
+        this.merchant();
+    },
+    onShow() {
+        this.merchantInfo = this.getLS("merchant")
+    },
+    mounted() {},
+};
+</script>
+<style scoped lang='scss'>
+.navcustom{
+    position: absolute;
+    left: 0;
+    top: 0;
+}
+.head_img {
+    .bg_img {
+        width: 100%;
+        height: 460rpx;
+    }
+}
+
+.head_info {
+    padding: 30rpx;
+
+    .head_info_row{
+        .logo{
+            width: 120rpx;
+            height: 110rpx;
+            border-radius: 12rpx;
+            margin-right: 25rpx;
+        }
+        .head_name {
+            .name{
+                font-size: 36rpx;
+                font-weight: 600;
+                margin-bottom: 12rpx;
+            }
+            .commentScore {
+                margin-left: 10rpx;
+                font-size: 24rpx;
+            }
+        }
+    }
+
+    .h_tags {
+        font-size: 25rpx;
+        font-weight: 400;
+        margin-bottom: 6rpx;
+
+        span {
+            margin-right: 18rpx;
+
+            &:last-child {
+                margin-right: 0;
+            }
+        }
+    }
+
+    .h_address {
+        padding: 20rpx 0;
+        margin-bottom: 30rpx;
+
+        .address {
+            font-size: 24rpx;
+        }
+
+        .hil{
+            width: calc(100% - 100rpx);
+        }
+
+        .ico {
+            width: 60rpx;
+            height: 50rpx;
+            text-align: center;
+            line-height: 50rpx;
+            font-size: 50rpx;
+        }
+    }
+}
+.btn-box{
+    text-align: right;
+    padding: 0 30rpx;
+    .btn{
+        display: inline-block;
+        color: #fff;
+        background: #00A238;
+        font-size: 32rpx;
+        // font-weight: 600;
+        padding: 6rpx 30rpx;
+        border-radius: 26rpx;
+    }
+}
+</style>

BIN
src/static/img/new-search.png


BIN
src/static/img/search-bak-icon.png


BIN
src/static/my/merchant.png


BIN
src/static/my/merchant2.png


BIN
src/static/my/merchant3.png


BIN
src/static/my/operator.png


BIN
src/static/my/store.png


+ 0 - 0
src/pagesB/static/preview/icon-back.png → src/static/preview/icon-back.png


+ 8 - 0
src/utils/myfun.js

@@ -157,4 +157,12 @@ export function getDaysBetween(dateString1, dateString2) {
     }
     var days = (endDate - startDate) / (1 * 24 * 60 * 60 * 1000);
     return days;
+}
+// 轻提示
+export function toast(msg, duration) {
+    uni.showToast({
+        title: msg,
+        icon: "none",
+        duration: duration ? duration : 1200,
+    });
 }