liyongli преди 2 години
родител
ревизия
8ba7e41431

+ 16 - 0
src/api/index.js

@@ -207,3 +207,19 @@ export function getCoffeeTypes(){
     method: "GET",
   });
 }
+
+export function getAddrees(){
+  return ajax({
+    urlType: "coffee",
+    url: `/addressList`,
+    method: "GET",
+  });
+}
+
+export function getAddreesOne(){
+  return ajax({
+    urlType: "coffee",
+    url: `/addressOne`,
+    method: "GET",
+  });
+}

+ 0 - 1
src/utils/request.js

@@ -44,7 +44,6 @@ export default function (ori) {
         return;
       }
       if (this.status != 200) {
-        console.log("-:", this.responseText);
         let t = JSON.parse(this.responseText || "{}");
         Toast(t.message || "请求失败 " + this.status);
         reject(t.message);

+ 1 - 1
src/utils/tool.js

@@ -44,7 +44,7 @@ export async function getUser() {
   let search = urlSearchData();
   // if (!search.ticket) return;
   const loginName = await getAPPUser({
-    ticket: search.ticket || "-7903797332285897452",
+    ticket: search.ticket || "5743649465927746567",
   });
   let APPToken = await getAPPToken("rest/63bada00-7d01-4acc-ab2b-df8061eeeb8f");
   let APPUserDetail = await getAPPUserDetail({ loginName });

+ 19 - 18
src/views/coffee/contacts/list.vue

@@ -12,37 +12,38 @@
 </template>
 
 <script>
+import { getAddrees } from "@/api/index";
+
 import { AddressList as VanAddressList } from "vant";
 import "vant/lib/address-list/style/index";
 export default {
   name: "list_coffee",
   data() {
     return {
-      list: [
-        {
-          id: "1",
-          name: "张三",
-          tel: "13000000000",
-          address: "浙江省杭州市西湖区文三路 138 号东方通信大厦 7 楼 501 室",
-          isDefault: true,
-        },
-        {
-          id: "2",
-          name: "李四",
-          tel: "1310000000",
-          address: "浙江省杭州市拱墅区莫干山路 50 号",
-        },
-      ],
+      list: [],
       chosenAddressId: "1",
     };
   },
-  mounted() {},
+  mounted() {
+    getAddrees().then(r => {
+      this.list = (r || []).map(v => {
+        let p = {
+          id: v.address_id + "",
+          name: v.address_name,
+          tel: v.address_phone,
+          address: v.address_detail,
+        };
+        if (v.address_isDefault == 1) p.idDefault = v.address_isDefault == 1;
+        return p
+      });
+    });
+  },
   computed: {},
   methods: {
     onSelect(e) {
       console.log(e);
-      localStorage.setItem("addr", JSON.stringify(e || "{}"))
-      this.$router.go(-1)
+      localStorage.setItem("addr", JSON.stringify(e || "{}"));
+      this.$router.go(-1);
     },
     onAdd(e) {
       console.log(e);

+ 61 - 30
src/views/coffee/drinks/index.vue

@@ -12,7 +12,7 @@
     </div>
     <div class="body">
       <van-search shape="round" v-model="value" placeholder="搜索商品" />
-      <div class="main">
+      <div ref="main" class="main">
         <van-card
           v-for="(item, index) in list"
           :key="item.goods_title + index"
@@ -56,7 +56,7 @@
         </van-card>
       </div>
       <van-sidebar v-model="activeKey" @change="sidebarChange">
-        <van-sidebar-item v-for="item in sidlist" :key="item.id">
+        <van-sidebar-item v-for="item in sidlist" :key="item.type_id">
           <template #title>
             <van-image
               width="10"
@@ -74,7 +74,11 @@
       </van-sidebar>
     </div>
     <sku :show="showSku" :select="select" @closeSku="close" />
-    <van-submit-bar :price="price()" @submit="toOrder" button-text="创建订单" />
+    <van-submit-bar
+      :price="price() * 100"
+      @submit="toOrder"
+      button-text="创建订单"
+    />
   </div>
 </template>
 
@@ -89,7 +93,9 @@ import {
   Button as VanButton,
   Icon as VanIcon,
   SubmitBar as VanSubmitBar,
+  Toast,
 } from "vant";
+import "vant/lib/toast/style/index";
 import "vant/lib/submit-bar/style/index";
 import "vant/lib/button/style/index";
 import "vant/lib/icon/style/index";
@@ -125,22 +131,37 @@ export default {
     };
   },
   mounted() {
-    console.log(this)
     this.User = JSON.parse(localStorage.getItem("user") || "{}");
-    Promise.all([
-      getCoffeeGoods("type=" + this.activeKey + '&page=' + page + '&size=' + size),
-      getCoffeeTypes(),
-    ]).then(li => {
-      this.list = li[0] || [];
-      this.sidlist = li[1] || [];
-    });
+    getCoffeeGoods(
+      "type=" + this.activeKey + "&page=" + page + "&size=" + size
+    ).then(r => (this.list = r || []));
+    getCoffeeTypes().then(r => (this.sidlist = r || []));
+
+    this.$refs.main.onscroll = () => {
+      const ele = this.$refs.main || undefined;
+      if (ele.scrollHeight - ele.scrollTop - ele.clientHeight > 30) return;
+      console.log(ele.scrollTop + ele.clientHeight, ele.scrollHeight);
+    };
   },
   computed: {},
   methods: {
     sidebarChange() {
       page = 1;
-      getCoffeeGoods("type=" + this.activeKey + '&page=' + page + '&size=' + size).then(r => {
-        this.list = r || [];
+      getCoffeeGoods(
+        "type=" + this.activeKey + "&page=" + page + "&size=" + size
+      ).then(r => {
+        let nums = {};
+        let list = r || [];
+        for (let i = 0; i < this.selectItem.length; i++) {
+          const v = this.selectItem[i];
+          nums[v.goods_id] = v.num;
+        }
+        for (let i = 0; i < list.length; i++) {
+          const v = list[i];
+          if (!nums[v.goods_id]) continue;
+          list[i].num = nums[v.goods_id];
+        }
+        this.list = list;
       });
     },
 
@@ -148,27 +169,36 @@ export default {
       let p = 0;
       for (let i = 0; i < this.selectItem.length; i++) {
         const v = this.selectItem[i];
-        p += (v.price || 0) * 100 * v.num;
+        p += (v.goods_price || 0) * v.num;
       }
       return p;
     },
 
     goodsChange(item) {
-      let n = true;
-      for (let i = 0; i < this.list.length; i++) {
-        const v = this.list[i];
-        if (v.id !== item.id) continue;
-        this.list[i].num = item.num;
-        break;
-      }
-      for (let i = 0; i < this.selectItem.length; i++) {
-        const v = this.selectItem[i];
-        if (v.id !== item.id) continue;
-        n = false;
-        this.selectItem[i].id = item.num;
-        break;
-      }
-      if (n) this.selectItem.push(item);
+      let listIndex = (this.list || []).findIndex(r => r.goods_id == item.goods_id);
+      if (listIndex != -1) this.list[listIndex].num = item.num;
+      let selectItemIndex = (this.selectItem || []).findIndex(
+        r => r.goods_id == item.goods_id
+      );
+      if (selectItemIndex != -1)
+        return (this.selectItem[selectItemIndex].num = item.num);
+      this.selectItem.push(item);
+      //   如果内嵌oa出现不兼容就用这个low方法
+      //   let n = true;
+      //   for (let i = 0; i < this.list.length; i++) {
+      //     const v = this.list[i];
+      //     if (v.goods_id !== item.goods_id) continue;
+      //     this.list[i].num = item.num;
+      //     break;
+      //   }
+      //   for (let i = 0; i < this.selectItem.length; i++) {
+      //     const v = this.selectItem[i];
+      //     if (v.goods_id !== item.goods_id) continue;
+      //     n = false;
+      //     this.selectItem[i].goods_id = item.num;
+      //     break;
+      //   }
+      //   if (n) this.selectItem.push(item);
     },
 
     close(item) {
@@ -179,7 +209,8 @@ export default {
 
     toOrder() {
       // /coffee/order
-      if (!this.selectItem || !this.selectItem.length) return;
+      if (!this.selectItem || !this.selectItem.length)
+        return Toast("请选择商品");
       this.$router.push({
         name: "CoffeeOrder",
         params: {},

+ 1 - 1
src/views/coffee/index.vue

@@ -16,7 +16,7 @@ import "vant/lib/tabbar/style/index";
 import "vant/lib/tabbar-item/style/index";
 
 export default {
-  name: "Apply",
+  name: "Drinks",
   data() {
     return {
       active: 'Drinks',

+ 5 - 6
src/views/coffee/order/index.vue

@@ -13,12 +13,12 @@
     <van-card
       v-for="(item, index) in list"
       :key="item.title + index"
-      :desc="item.desc"
-      :title="item.title"
-      :thumb="item.thumb"
+      :desc="item.goods_subTitle" 
+      :title="item.goods_title"
+      :thumb="item.goods_url"
       :num="item.num"
     >
-      <template #price> ¥{{ item.price }}{{ item.com }} </template>
+      <template #price> ¥{{ item.goods_price }}{{ item.goods_com }} </template>
     </van-card>
     <van-submit-bar :price="priceTotal" button-text="提交订单" @submit="onSubmit" />
   </div>
@@ -45,14 +45,13 @@ export default {
     !this.list.length &&
       (this.list = JSON.parse(this.$route.query.aselectItem || "[]"));
     this.addr = JSON.parse(localStorage.getItem("addr") || "{}");
-    console.log("-", this.addr);
   },
   computed: {
     priceTotal() {
       let p = 0;
       for (let i = 0; i < this.list.length; i++) {
         const v = this.list[i];
-        p += (v.price || 0) *100 * (v.num || 0);
+        p += (v.goods_price || 0) * 100 * (v.num || 0);
       }
       return p;
     },

+ 0 - 5
src/views/coffee/orders/index.vue

@@ -11,11 +11,6 @@
           <div style="min-height: calc(100vh - 110px)"></div>
         </van-pull-refresh>
       </van-tab>
-      <van-tab title="已完成">
-        <van-pull-refresh v-model="isLoading" @refresh="onRefresh">
-          <div style="min-height: calc(100vh - 110px)"></div>
-        </van-pull-refresh>
-      </van-tab>
     </van-tabs>
   </div>
 </template>