Przeglądaj źródła

feat: 首页 轮播 公告

DaMowang 3 lat temu
rodzic
commit
c244a57309
3 zmienionych plików z 606 dodań i 630 usunięć
  1. 6 0
      src/pages.json
  2. 73 0
      src/pages/order/orderList.vue
  3. 527 630
      src/pages/szw-order-list/index.vue

+ 6 - 0
src/pages.json

@@ -144,6 +144,12 @@
 				"navigationBarTitleText": "订单列表"
 			}
 		},
+		{
+			"path": "pages/order/orderList",
+			"style": {
+				"navigationBarTitleText": "订单列表"
+			}
+		},
 		{
 			"path": "pages/szw-order-details/index",
 			"style": {

+ 73 - 0
src/pages/order/orderList.vue

@@ -0,0 +1,73 @@
+<template>
+  <div class='orderList'>
+    <div class="tabBar">
+        <template v-for="(i,s) in tabOjs">
+            <text :class="['tabItem',i.type==type?'active':'']" :key="s" @click="onTab(i.type)">{{ i.tit }}</text>
+        </template>
+    </div>
+    <div class="listBar">
+        <div class="listItem">
+            .
+        </div>
+    </div>
+  </div>
+</template>
+<script>
+import { get, post } from '@/request/api.js';
+export default {
+  name: 'orderList',
+  data () {
+    return {
+        tabOjs: [
+            {tit:"全部",type:"0"},
+            {tit:"待付款",type:"1"},
+            {tit:"待发货",type:"2"},
+            {tit:"待收货",type:"3"},
+            {tit:"已收货",type:"4"},
+        ],
+        type: '', //订单状态
+    }
+  },
+  onLoad (option) {
+    this.loadData();
+  },
+  onLaunch () {},
+  onShow () {},
+  onHide () {},
+  methods: {
+    loadData(){
+        post("my/order",{
+            type: this.type,
+        }).then(res => {
+            if(res.code === 0){
+                console.log(res);
+            }
+        })
+    },
+    onTab(va){
+        this.type = va;
+    }
+  },
+  computed: {},
+  watch: {}
+}
+</script>
+<style scoped lang='scss'>
+.orderList{
+    height: 100vh;
+    background: #eee;
+    .tabBar{
+        padding: 0 30rpx;
+        background: #fff;
+        .tabItem{
+            display: inline-block;
+            width: 20%;
+            text-align: center;
+            padding: 15rpx 0;
+        }
+        .active{
+            border-bottom: 4rpx solid #18bb88;
+        }
+    }
+}
+</style>

+ 527 - 630
src/pages/szw-order-list/index.vue

@@ -1,186 +1,82 @@
 <template>
-  <view class="container">
-    <view class="status-box">
-      <view class="status_tap_box" style="position: relative">
-        <view
-          @tap="statusTap"
-          class="status-label"
-          v-for="(item, index) in statusType"
-          :key="index"
-          :class="item[0] == currentType ? 'active' : ''"
-          :data-index="item[0]"
-        >
-          {{ item[1] }}
-          <!-- {{index && (index+1) != statusType.length ? item[2] ? '(' + item[2] + ')' : '(0)' : ''}} -->
-        </view>
-      </view>
-    </view>
-    <not-goods v-if="haveGoods" textStr="抱歉!暂无相关订单" />
-    <view class="order-list" v-if="orderList && orderList.length > 0">
-      <view v-for="(li, index) in orderList" :key="index">
-        <!-- 未付款 -->
-        <view class="a-order">
-          <view class="overflow" :data-id="li.id">
-            <view class="list-title flex_r flex_ac flex_jb ellipsis">
-              <view class="flex_r flex_ac">
-                <view class="imgs_bar avaImgs">
-                  <image
-                    class="image"
-                    :src="pt.platFormLogo"
-                    mode="widthFix"
-                  /> </view
-                >{{ pt.platFormName }}
-              </view>
-              <view
-                class="fz_text r_color"
-                v-if="li.data.assembleType != 1 && li.data.assembleStatus == 1"
-                >正在拼团中</view
-              >
-              <view class="fz_text" v-else>{{ li.data.statusMsg }}</view>
+    <view class="container">
+        <view class="status-box">
+            <view class="status_tap_box" style="position: relative">
+                <view @tap="statusTap" class="status-label" v-for="(item, index) in statusType" :key="index" :class="item[0] == currentType ? 'active' : ''" :data-index="item[0]">
+                    {{ item[1] }}
+                </view>
             </view>
-            <view
-              class="goods-info flex_r flex_ac flex_jb"
-              :data-type="li.type"
-              :data-id="li.data.orderDetailId"
-              @tap="toDetails(li)"
-            >
-              <view class="goods-info-bar overflow flex_r flex_ac">
-                <block v-if="li.type == 1 || li.data.orderTypes == 4">
-                  <view class="imgs_bar img-box">
-                    <image
-                      :src="li.data.image"
-                      mode=""
-                      class="goods-img"
-                    ></image>
-                  </view>
-                  <view class="goods_name ellipsis2">{{
-                    li.data.goodsName || ""
-                  }}</view>
-                </block>
-                <block v-else>
-                  <scroll-view class="goods-img-container" scroll-x="true">
-                    <view
-                      class="imgs_bar img-box"
-                      v-for="(item, ind) in li.data.imgs"
-                      :key="ind"
-                    >
-                      <image :src="item" mode="" class="goods-img"></image>
+        </view>
+        <not-goods v-if="haveGoods" textStr="抱歉!暂无相关订单" />
+        <view class="order-list" v-if="orderList && orderList.length > 0">
+            <view v-for="(li, index) in orderList" :key="index">
+                <!-- 未付款 -->
+                <view class="a-order">
+                    <view class="overflow" :data-id="li.id">
+                        <view class="list-title flex_r flex_ac flex_jb ellipsis">
+                            <view class="flex_r flex_ac">
+                                <view class="imgs_bar avaImgs">
+                                    <image class="image" :src="pt.platFormLogo" mode="widthFix" />
+                                </view>{{ pt.platFormName }}
+                            </view>
+                            <view class="fz_text r_color" v-if="li.data.assembleType != 1 && li.data.assembleStatus == 1">正在拼团中</view>
+                            <view class="fz_text" v-else>{{ li.data.statusMsg }}</view>
+                        </view>
+                        <view class="goods-info flex_r flex_ac flex_jb" :data-type="li.type" :data-id="li.data.orderDetailId" @tap="toDetails(li)">
+                            <view class="goods-info-bar overflow flex_r flex_ac">
+                                <block v-if="li.type == 1 || li.data.orderTypes == 4">
+                                    <view class="imgs_bar img-box">
+                                        <image :src="li.data.image" mode="" class="goods-img"></image>
+                                    </view>
+                                    <view class="goods_name ellipsis2">{{ li.data.goodsName || "" }}</view>
+                                </block>
+                                <block v-else>
+                                    <scroll-view class="goods-img-container" scroll-x="true">
+                                        <view class="imgs_bar img-box" v-for="(item, ind) in li.data.imgs" :key="ind">
+                                            <image :src="item" mode="" class="goods-img"></image>
+                                        </view>
+                                    </scroll-view>
+                                </block>
+                            </view>
+                            <view class="goodsDetail_info">
+                                <view class="goods_price r_color" v-if="li.data.orderTypes != 5">¥<text class="r_color">{{ li.data.totalPrice }}</text></view>
+                                <view class="goods_price r_color" v-if="li.data.orderTypes == 5"><text class="r_color">{{ li.data.integral }}</text>积分</view>
+                                <view class="unimport">共{{ li.data.buyCount }}件</view>
+                            </view>
+                        </view>
+                    </view>
+                    <view class="price-box flex_r flex_ac">
+                        <view class="ptz" v-if="li.data.orderTypes == 7">
+                            拼团金:{{ li.data.totalAccountSpell }}
+                        </view>
+                        <view class="btn cancel-btn" :data-type="li.type" :data-types="li.data.orderTypes" :data-id="li.data.orderDetailId" @tap="toCancel" v-if="li.data.status == 2">取消订单</view>
+                        <view class="btn topay-btn" :data-id="li.data.orderDetailId" :data-index="index" :data-ojsType="li.data.ojsType" @tap="toPay" v-if="li.data.status == 2">立即支付</view>
+                        <block v-else>
+                            <block v-if="
+                              (li.data.status == 4 || li.data.status == 5) &&
+                              li.returnType == 1 &&
+                              li.data.orderTypes != 2
+                            ">
+                                <view class="btn" :data-orderno="li.data.orderNo" v-if="li.data.assembleStatus == 2">拼团成功</view>
+                                <view v-if="li.refundId" class="btn" :class="li && li.refundId ? 'topay-btn' : 'cancel-btn'" :data-type="li.type" :data-id="li.data.orderDetailId" :data-reid="li.refundId" @tap="toRefundDetails(li)">
+                                    退款中
+                                </view>
+                                <view v-else class="btn" :class="li && li.refundId ? 'topay-btn' : 'cancel-btn'" :data-type="li.type" :data-id="li.data.orderDetailId" :data-reid="li.refundId" @tap="toRefund(li)">
+                                    退货/退款
+                                </view>
+                            </block>
+                            <view class="btn cancel-btn" v-if="li.data.status != 2" :data-type="li.type" :ata-id="li.data.orderDetailId" @tap="toDetail(li)">查看订单</view>
+                            <view class="btn topay-btn" :data-id="li.data.orderDetailId" :data-status="li.data.status" :data-type="li.type" @tap="toTake" v-if="li.data.status == 4 || li.data.status == 3">确认收货</view>
+                            <view class="btn topay-btn" :data-type="li.type" :data-id="li.data.orderDetailId" :data-no="li.data.orderNo" @tap="toCommen" v-if="li.comType && li.comType == 1">去评价</view>
+                        </block>
                     </view>
-                  </scroll-view>
-                </block>
-              </view>
-              <view class="goodsDetail_info">
-                <view class="goods_price r_color" v-if="li.data.orderTypes != 5"
-                  >¥<text class="r_color">{{ li.data.totalPrice }}</text></view
-                >
-                <view class="goods_price r_color" v-if="li.data.orderTypes == 5"
-                  ><text class="r_color">{{ li.data.integral }}</text
-                  >积分</view
-                >
-                <view class="unimport">共{{ li.data.buyCount }}件</view>
-              </view>
-            </view>
-          </view>
-          <view class="price-box flex_r flex_ac">
-            <view class="ptz" v-if="li.data.orderTypes == 7">
-              拼团金:{{ li.data.totalAccountSpell }}
-            </view>
-            <view
-              class="btn cancel-btn"
-              :data-type="li.type"
-              :data-types="li.data.orderTypes"
-              :data-id="li.data.orderDetailId"
-              @tap="toCancel"
-              v-if="li.data.status == 2"
-              >取消订单</view
-            >
-            <view
-              class="btn topay-btn"
-              :data-id="li.data.orderDetailId"
-              :data-index="index"
-              :data-ojsType="li.data.ojsType"
-              @tap="toPay"
-              v-if="li.data.status == 2"
-              >立即支付</view
-            >
-
-            <block v-else>
-              <block
-                v-if="
-                  (li.data.status == 4 || li.data.status == 5) &&
-                  li.returnType == 1 &&
-                  li.data.orderTypes != 2
-                "
-              >
-                <view
-                  class="btn"
-                  :data-orderno="li.data.orderNo"
-                  v-if="li.data.assembleStatus == 2"
-                  >拼团成功</view
-                >
-                <view
-                  v-if="li.refundId"
-                  class="btn"
-                  :class="li && li.refundId ? 'topay-btn' : 'cancel-btn'"
-                  :data-type="li.type"
-                  :data-id="li.data.orderDetailId"
-                  :data-reid="li.refundId"
-                  @tap="toRefundDetails(li)"
-                >
-                  退款中
-                </view>
-                <view
-                  v-else
-                  class="btn"
-                  :class="li && li.refundId ? 'topay-btn' : 'cancel-btn'"
-                  :data-type="li.type"
-                  :data-id="li.data.orderDetailId"
-                  :data-reid="li.refundId"
-                  @tap="toRefund(li)"
-                >
-                  退货/退款
                 </view>
-              </block>
-              <view
-                class="btn cancel-btn"
-                v-if="li.data.status != 2"
-                :data-type="li.type"
-                :ata-id="li.data.orderDetailId"
-                @tap="toDetail(li)"
-                >查看订单</view
-              >
-              <view
-                class="btn topay-btn"
-                :data-id="li.data.orderDetailId"
-                :data-status="li.data.status"
-                :data-type="li.type"
-                @tap="toTake"
-                v-if="li.data.status == 4 || li.data.status == 3"
-                >确认收货</view
-              >
-              <view
-                class="btn topay-btn"
-                :data-type="li.type"
-                :data-id="li.data.orderDetailId"
-                :data-no="li.data.orderNo"
-                @tap="toCommen"
-                v-if="li.comType && li.comType == 1"
-                >去评价</view
-              >
-            </block>
-          </view>
+                <!-- 未付款 end -->
+            </view>
         </view>
-        <!-- 未付款 end -->
-      </view>
+        <view class="loading-indicator" :class="loadingMoreHidden ? 'opacity' : ''">{{ loadingTip }}</view>
     </view>
-    <view
-      class="loading-indicator"
-      :class="loadingMoreHidden ? 'opacity' : ''"
-      >{{ loadingTip }}</view
-    >
-  </view>
 </template>
-
 <script>
 // var reqApi = new ReqApi();
 // var toPayOpre = new ToPayOpre();
@@ -192,572 +88,573 @@ import { get, post, u_post } from "@/request/api.js";
 // import terraceTagbar from '@/components/terrace-tagbar/index'
 // import { ReqApi, ToPayOpre } from "../../utils/reqTools.js";
 export default {
-  components: {
-    notGoods,
-    // terraceTagbar
-  },
-  data() {
-    return {
-      statusType: [
-        ["1", "全部"],
-        ["2", "待付款"],
-        ["3", "待发货"],
-        ["4", "待收货"],
-        ["5", "已收货"],
-      ],
-      orderList: [],
-      currentType: "1",
-      haveGoods: false,
-      loadingMoreHidden: true,
-      loadingTip: "没有更多了",
-      userId: "",
-      isweixin: "",
-      pt: {},
-    };
-  },
-  onLoad: function (options) {
-	  console.log("qqqqqqq111")
-    var that = this;
-    this.currentType = options.status ? options.status : 1;
-	
-  },
-  onShow: function () {
-    let that = this;
-    const userId =
-      app.globalData.systemUserInfo && app.globalData.systemUserInfo.userId
-        ? app.globalData.systemUserInfo.userId
-        : "";
-    if (!userId || userId == "" || userId == undefined) {
-      // that.showAuth=true
-      appEv.authorizeUserInfo((res) => {
-        if (res) {
-          that.clearData();
-          that.loadData();
-        }
-      }, true);
-    } else {
-      that.clearData();
-      that.loadData();
-    }
-  },
-  methods: {
-    returnBtn: function () {
-      uni.navigateBack({});
+    components: {
+        notGoods,
+        // terraceTagbar
     },
-    clearData(isclearCat = true, callBack) {
-      page = 1;
-      this.orderList = [];
-      this.haveGoods = false;
-      if (callBack) {
-        callBack();
-      }
+    data() {
+        return {
+            statusType: [
+                ["0", "全部"],
+                ["1", "待付款"],
+                ["2", "待发货"],
+                ["3", "待收货"],
+                ["4", "已收货"],
+            ],
+            orderList: [],
+            currentType: "1",
+            haveGoods: false,
+            loadingMoreHidden: true,
+            loadingTip: "没有更多了",
+            userId: "",
+            isweixin: "",
+            pt: {},
+        };
     },
-    loadData() {
-      if (page == -1) {
-        return;
-      }
-      uni.showLoading({
-        title: "加载中…",
-        mask: true,
-      });
-      var data = {
-        page,
-        status: this.currentType == 1 ? "" : this.currentType,
-      };
-
-      u_post("ShuZiTeaYW/shop/pendingPayment", data).then(res => {
-        if (res.status == 200) {
-          if (res) {
-            setTimeout(() => {
-              uni.hideLoading();
-            }, 100);
-            uni.stopPullDownRefresh();
-            var resData = res.mallGoods;
-            if (resData && resData.length <= 0) {
-              if (page <= 1) {
-                this.haveGoods = true;
-                this.loadingMoreHidden = true;
-              } else {
-                this.loadingMoreHidden = false;
-              }
-            }
-          }
-          if (resData && resData.length > 0) {
-            var orderList = this.orderList;
-            var list = orderList.concat(resData);
-            this.pt = res.platform;
-            this.orderList = list;
-            this.haveGoods = false;
-            this.loadingMoreHidden = true;
-          }
-        } else {
-          appEv.errTips(res.msg || "");
-          if (res.status == 999) {
-            // that.arrangeData(res.data.data);
-            page = -1;
-            this.loadingMoreHidden = false;
-          }
-        }
-      });
-    },
-    toDetails(data) {
-      if (data.data.orderTypes == 4) {
-        uni.navigateTo({
-          url:
-            "/pages/szw-order-details/index?id=" +
-            data.data.orderDetailId +
-            "&type=1",
-        });
-      } else {
-        uni.navigateTo({
-          url:
-            "/pages/szw-order-details/index?id=" +
-            data.data.orderDetailId +
-            "&type=" +
-            data.type,
-        });
-      }
-    },
-    toDetail: function (data) {
-      if (data.data.orderTypes == 4) {
-        uni.navigateTo({
-          url:
-            "/pages/szw-order-details/index?id=" +
-            data.data.orderDetailId +
-            "&type=1",
-        });
-      } else {
-        uni.navigateTo({
-          url:
-            "/pages/szw-order-details/index?id=" +
-            data.data.orderDetailId +
-            "&type=" +
-            data.type,
-        });
-      }
-    },
-    toRefund(data) {
-      uni.navigateTo({
-        url:
-          "/pages/order-refund/index?id=" +
-          data.data.orderDetailId +
-          "&type=" +
-          data.type,
-      });
-    },
-    toRefundDetails(data) {
-      uni.navigateTo({
-        url: "/pages/order-refund-details/index?id=" + data.refundId,
-      });
+    onLoad(options) {
+        var that = this;
+        this.currentType = options.status ? options.status : 1;
+
     },
-    // 立即支付
-    toPay(e) {
-      var orderDetailIds = e.currentTarget.dataset.id;
-      var index = e.currentTarget.dataset.index;
-      var price = this.orderList[index].data.totalPrice;
-      var type = this.orderList[index].data.patType;
-      var teaIntegral = this.orderList[index].data.totalTeaInt;
-      var pfIntegral = this.orderList[index].data.totalPfInt;
-      var xfIntegral = this.orderList[index].data.totalXfInt;
-      var totalAccount = this.orderList[index].data.totalAccount;
-      var orderNo = this.orderList[index].data.orderNo;
-      let data = {
-        orderDetailIds: orderDetailIds,
-        types: 1,
-        price: price,
-        account: totalAccount,
-        teaIntegral: teaIntegral,
-        pfIntegral: pfIntegral,
-        xfIntegral: xfIntegral,
-        zfType: type,
-        ojsType: e.currentTarget.dataset.ojstype,
-      };
-      var info;
-      info = reqApi.payOrder(data);
-      var that = this;
-      if (info) {
-        info.then((res) => {
-          if (res.data.status == 200) {
-            toPayOpre.toPay(res.data.payParam);
-          } else {
-            appEv.errTips(res.data.msg || "支付失败");
-          }
-        });
-      }
+    onShow() {
+      that.loadData();
     },
-    // 取消订单
-    toCancel(e) {
-      var isTuan = e.currentTarget.dataset.tuan;
-      if (isTuan) {
-        uni.showModal({
-          title: "温馨提示",
-          content: "发起拼单24小时后,若未拼单成功将自动取消订单并退款哦~",
-          showCancel: false,
-          confirmText: "知道了",
-          confirmColor: "#f02f2f",
-        });
-      } else {
-        var orderDetailId = e.currentTarget.dataset.id,
-          type = e.currentTarget.dataset.type;
-        let types = e.currentTarget.dataset.types;
-        console.log(types);
-        if (types == 4) {
-          type = 1;
-        }
-        const info = reqApi.cancelOrder({ orderDetailId, type });
-        var that = this;
-        if (info) {
-          info.then((res) => {
-            if (res.data.status == 200) {
-              uni.showToast({
-                title: res.data.msg || "订单已取消",
-                duration: 1200,
+    methods: {
+        returnBtn: function() {
+            uni.navigateBack({});
+        },
+        clearData(isclearCat = true, callBack) {
+            page = 1;
+            this.orderList = [];
+            this.haveGoods = false;
+            if (callBack) {
+                callBack();
+            }
+        },
+        loadData() {
+            if (page == -1) {
+                return;
+            }
+            uni.showLoading({
+                title: "加载中…",
                 mask: true,
-              });
-              setTimeout(function () {
-                that.clearData(false, () => {
-                  that.loadData();
+            });
+            var data = {
+                page,
+                type: this.currentType,
+            };
+
+            post("my/order", data).then(res => {
+                if (res.code === 0) {
+                    if (res) {
+                        setTimeout(() => {
+                            uni.hideLoading();
+                        }, 100);
+                        uni.stopPullDownRefresh();
+                        var resData = res.mallGoods;
+                        if (resData && resData.length <= 0) {
+                            if (page <= 1) {
+                                this.haveGoods = true;
+                                this.loadingMoreHidden = true;
+                            } else {
+                                this.loadingMoreHidden = false;
+                            }
+                        }
+                    }
+                    if (resData && resData.length > 0) {
+                        var orderList = this.orderList;
+                        var list = orderList.concat(resData);
+                        this.pt = res.platform;
+                        this.orderList = list;
+                        this.haveGoods = false;
+                        this.loadingMoreHidden = true;
+                    }
+                } else {
+                    appEv.errTips(res.msg || "");
+                    if (res.status == 999) {
+                        page = -1;
+                        this.loadingMoreHidden = false;
+                    }
+                }
+            });
+        },
+        toDetails(data) {
+            if (data.data.orderTypes == 4) {
+                uni.navigateTo({
+                    url: "/pages/szw-order-details/index?id=" +
+                        data.data.orderDetailId +
+                        "&type=1",
                 });
-              }, 1200);
             } else {
-              appEv.errTips(res.data.msg || "取消失败");
+                uni.navigateTo({
+                    url: "/pages/szw-order-details/index?id=" +
+                        data.data.orderDetailId +
+                        "&type=" +
+                        data.type,
+                });
             }
-          });
-        }
-      }
-    },
-    // 确认收货
-    toTake(e) {
-      let type = e.currentTarget.dataset.type;
-      var that = this;
-      uni.showModal({
-        content:
-          "亲,“确定收货”代表着本订单的交付流程已经完成,不再支持任何形式的退换货。",
-        confirmText: "确认收货",
-        confirmColor: "#fa2f2e",
-        cancelText: "取消",
-        cancelColor: "#bbb",
-        success(res) {
-          if (res.confirm) {
-            var orderDetailId = e.currentTarget.dataset.id;
-            const info = reqApi.takeOrder({
-              orderDetailId: orderDetailId,
-              type: type,
+        },
+        toDetail: function(data) {
+            if (data.data.orderTypes == 4) {
+                uni.navigateTo({
+                    url: "/pages/szw-order-details/index?id=" +
+                        data.data.orderDetailId +
+                        "&type=1",
+                });
+            } else {
+                uni.navigateTo({
+                    url: "/pages/szw-order-details/index?id=" +
+                        data.data.orderDetailId +
+                        "&type=" +
+                        data.type,
+                });
+            }
+        },
+        toRefund(data) {
+            uni.navigateTo({
+                url: "/pages/order-refund/index?id=" +
+                    data.data.orderDetailId +
+                    "&type=" +
+                    data.type,
             });
+        },
+        toRefundDetails(data) {
+            uni.navigateTo({
+                url: "/pages/order-refund-details/index?id=" + data.refundId,
+            });
+        },
+        // 立即支付
+        toPay(e) {
+            var orderDetailIds = e.currentTarget.dataset.id;
+            var index = e.currentTarget.dataset.index;
+            var price = this.orderList[index].data.totalPrice;
+            var type = this.orderList[index].data.patType;
+            var teaIntegral = this.orderList[index].data.totalTeaInt;
+            var pfIntegral = this.orderList[index].data.totalPfInt;
+            var xfIntegral = this.orderList[index].data.totalXfInt;
+            var totalAccount = this.orderList[index].data.totalAccount;
+            var orderNo = this.orderList[index].data.orderNo;
+            let data = {
+                orderDetailIds: orderDetailIds,
+                types: 1,
+                price: price,
+                account: totalAccount,
+                teaIntegral: teaIntegral,
+                pfIntegral: pfIntegral,
+                xfIntegral: xfIntegral,
+                zfType: type,
+                ojsType: e.currentTarget.dataset.ojstype,
+            };
+            var info;
+            info = reqApi.payOrder(data);
+            var that = this;
             if (info) {
-              info.then((res) => {
-                if (res.data.status == 200) {
-                  appEv.errTips(res.data.msg);
-                  setTimeout(function () {
-                    that.clearData(false, () => {
-                      that.loadData();
+                info.then((res) => {
+                    if (res.data.status == 200) {
+                        toPayOpre.toPay(res.data.payParam);
+                    } else {
+                        appEv.errTips(res.data.msg || "支付失败");
+                    }
+                });
+            }
+        },
+        // 取消订单
+        toCancel(e) {
+            var isTuan = e.currentTarget.dataset.tuan;
+            if (isTuan) {
+                uni.showModal({
+                    title: "温馨提示",
+                    content: "发起拼单24小时后,若未拼单成功将自动取消订单并退款哦~",
+                    showCancel: false,
+                    confirmText: "知道了",
+                    confirmColor: "#f02f2f",
+                });
+            } else {
+                var orderDetailId = e.currentTarget.dataset.id,
+                    type = e.currentTarget.dataset.type;
+                let types = e.currentTarget.dataset.types;
+                console.log(types);
+                if (types == 4) {
+                    type = 1;
+                }
+                const info = reqApi.cancelOrder({ orderDetailId, type });
+                var that = this;
+                if (info) {
+                    info.then((res) => {
+                        if (res.data.status == 200) {
+                            uni.showToast({
+                                title: res.data.msg || "订单已取消",
+                                duration: 1200,
+                                mask: true,
+                            });
+                            setTimeout(function() {
+                                that.clearData(false, () => {
+                                    that.loadData();
+                                });
+                            }, 1200);
+                        } else {
+                            appEv.errTips(res.data.msg || "取消失败");
+                        }
                     });
-                  }, 1200);
-                } else {
-                  appEv.errTips(res.data.msg || "收货失败");
                 }
-              });
             }
-          } else if (res.cancel) {
-            // console.log('用户点击取消');
-          }
         },
-      });
-    },
-    // 整理数据
-    arrangeData(data = appEv.parameter("data")) {
-      var statusType = this.data.statusType;
-      statusType[0][2] = data.wholeCount;
-      statusType[1][2] = data.AlreadyPaymentCount;
-      statusType[2][2] = data.AlreadyCompleteCount;
-      statusType[3][2] = data.AlreadySettlementCount;
-      this.statusType = statusType;
-    },
-    //菜单切换
-    statusTap: function (e) {
-      //重置数据
-      var curType = e.currentTarget.dataset.index;
-      this.currentType = curType;
-      this.clearData(false, this.loadData);
-    },
-    // 跳转拼团分享页面
-    toTuanShare(e) {
-      uni.navigateTo({
-        url:
-          "/pages/tuan-share-info/index?orderNo=" +
-          e.currentTarget.dataset.orderno,
-      });
+        // 确认收货
+        toTake(e) {
+            let type = e.currentTarget.dataset.type;
+            var that = this;
+            uni.showModal({
+                content: "亲,“确定收货”代表着本订单的交付流程已经完成,不再支持任何形式的退换货。",
+                confirmText: "确认收货",
+                confirmColor: "#fa2f2e",
+                cancelText: "取消",
+                cancelColor: "#bbb",
+                success(res) {
+                    if (res.confirm) {
+                        var orderDetailId = e.currentTarget.dataset.id;
+                        const info = reqApi.takeOrder({
+                            orderDetailId: orderDetailId,
+                            type: type,
+                        });
+                        if (info) {
+                            info.then((res) => {
+                                if (res.data.status == 200) {
+                                    appEv.errTips(res.data.msg);
+                                    setTimeout(function() {
+                                        that.clearData(false, () => {
+                                            that.loadData();
+                                        });
+                                    }, 1200);
+                                } else {
+                                    appEv.errTips(res.data.msg || "收货失败");
+                                }
+                            });
+                        }
+                    } else if (res.cancel) {
+                        // console.log('用户点击取消');
+                    }
+                },
+            });
+        },
+        // 整理数据
+        arrangeData(data = appEv.parameter("data")) {
+            var statusType = this.data.statusType;
+            statusType[0][2] = data.wholeCount;
+            statusType[1][2] = data.AlreadyPaymentCount;
+            statusType[2][2] = data.AlreadyCompleteCount;
+            statusType[3][2] = data.AlreadySettlementCount;
+            this.statusType = statusType;
+        },
+        //菜单切换
+        statusTap: function(e) {
+            //重置数据
+            var curType = e.currentTarget.dataset.index;
+            this.currentType = curType;
+            this.clearData(false, this.loadData);
+        },
+        // 跳转拼团分享页面
+        toTuanShare(e) {
+            uni.navigateTo({
+                url: "/pages/tuan-share-info/index?orderNo=" +
+                    e.currentTarget.dataset.orderno,
+            });
+        },
+        // 加评价
+        toCommen(e) {
+            let id = e.currentTarget.dataset.id;
+            let no = e.currentTarget.dataset.no;
+            let orderType = e.currentTarget.dataset.type;
+            uni.navigateTo({
+                url: "/pages/add-goods-commen/index?orderId=" +
+                    id +
+                    "&orderNo=" +
+                    no +
+                    "&orderType=" +
+                    orderType,
+            });
+        },
+        pageBack: function() {
+            uni.reLaunch({
+                url: "/pages/my/index",
+            });
+        },
     },
-    // 加评价
-    toCommen(e) {
-      let id = e.currentTarget.dataset.id;
-      let no = e.currentTarget.dataset.no;
-      let orderType = e.currentTarget.dataset.type;
-      uni.navigateTo({
-        url:
-          "/pages/add-goods-commen/index?orderId=" +
-          id +
-          "&orderNo=" +
-          no +
-          "&orderType=" +
-          orderType,
-      });
+    //上拉加载事件
+    onReachBottom: function() {
+        if (page != -1) {
+            var that = this;
+            setTimeout(function() {
+                // 为页数迭加1
+                ++page;
+                that.loadData();
+            }, 800);
+        }
     },
-    pageBack: function () {
-      uni.reLaunch({
-        url: "/pages/my/index",
-      });
+    // 下拉刷新
+    onPullDownRefresh: function() {
+        var that = this;
+        that.clearData(false, () => {
+            that.loadData();
+        });
     },
-  },
-  //上拉加载事件
-  onReachBottom: function () {
-    if (page != -1) {
-      var that = this;
-      setTimeout(function () {
-        // 为页数迭加1
-        ++page;
-        that.loadData();
-      }, 800);
-    }
-  },
-  // 下拉刷新
-  onPullDownRefresh: function () {
-    var that = this;
-    that.clearData(false, () => {
-      that.loadData();
-    });
-  },
 };
 </script>
-
 <style lang="scss">
 page {
-  background-color: #f3f5f7;
+    background-color: #f3f5f7;
 }
+
 .container {
-  width: 100%;
+    width: 100%;
 }
+
 .fl {
-  float: left;
+    float: left;
 }
+
 .fr {
-  float: right;
+    float: right;
 }
+
 .overflow {
-  overflow: hidden;
+    overflow: hidden;
 }
+
 .r_color {
-  color: #fa2f2e;
+    color: #fa2f2e;
 }
+
 .loading-indicator {
-  width: 100%;
-  text-align: center;
-  font-size: 24rpx;
-  color: #666;
-  margin: 20rpx 0;
-  line-height: 1.5;
+    width: 100%;
+    text-align: center;
+    font-size: 24rpx;
+    color: #666;
+    margin: 20rpx 0;
+    line-height: 1.5;
 }
+
 .opacity {
-  opacity: 0;
-  display: none;
+    opacity: 0;
+    display: none;
 }
+
 .terraceComp {
-  height: 84rpx;
+    height: 84rpx;
 }
+
 .terraceComp_fix {
-  position: fixed;
-  top: -12rpx;
-  left: 0;
-  right: 0;
-  z-index: 15;
+    position: fixed;
+    top: -12rpx;
+    left: 0;
+    right: 0;
+    z-index: 15;
 }
+
 .status-box {
-  width: 100%;
-  height: 94rpx;
+    width: 100%;
+    height: 94rpx;
 }
+
 .status_tap_box {
-  position: fixed;
-  left: 0;
-  top: 0;
-  width: 100%;
-  overflow: hidden;
-  line-height: 88rpx;
-  display: flex;
-  justify-content: space-between;
-  align-items: center;
-  background-color: #fff;
-  z-index: 300;
-  box-shadow: 0rpx 8rpx 8rpx rgba(0, 0, 0, 0.025);
+    position: fixed;
+    left: 0;
+    top: 0;
+    width: 100%;
+    overflow: hidden;
+    line-height: 88rpx;
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    background-color: #fff;
+    z-index: 300;
+    box-shadow: 0rpx 8rpx 8rpx rgba(0, 0, 0, 0.025);
 }
+
 .status-box .status-label {
-  flex-grow: 1;
-  height: 100%;
-  text-align: center;
-  font-size: 28rpx;
-  color: #353535;
-  box-sizing: border-box;
-  position: relative;
-  border-bottom: 6rpx solid transparent;
+    flex-grow: 1;
+    height: 100%;
+    text-align: center;
+    font-size: 28rpx;
+    color: #353535;
+    box-sizing: border-box;
+    position: relative;
+    border-bottom: 6rpx solid transparent;
 }
 
 .status-box .status-label.active {
-  color: #e05f0b;
-  border-bottom-color: #e05f0b;
+    color: #e05f0b;
+    border-bottom-color: #e05f0b;
 }
 
 .order-list {
-  width: 100%;
-  overflow: hidden;
+    width: 100%;
+    overflow: hidden;
 }
 
 .order-list .a-order {
-  width: 100%;
-  background-color: #fff;
-  margin-top: 24rpx;
+    width: 100%;
+    background-color: #fff;
+    margin-top: 24rpx;
 }
 
 .order-list .a-order .order-date {
-  padding: 16rpx 30rpx 20rpx;
-  line-height: 40rpx;
-  font-size: 26rpx;
-  color: #000;
-  overflow: hidden;
+    padding: 16rpx 30rpx 20rpx;
+    line-height: 40rpx;
+    font-size: 26rpx;
+    color: #000;
+    overflow: hidden;
 }
 
 .order-list .a-order .order-date .red {
-  font-size: 26rpx;
-  color: #fa2f2e;
+    font-size: 26rpx;
+    color: #fa2f2e;
 }
+
 .order-list .a-order .order-date text.r_color {
-  font-weight: 600;
+    font-weight: 600;
 }
 
 .a-order .goods-info {
-  width: 100%;
-  overflow: hidden;
+    width: 100%;
+    overflow: hidden;
 }
+
 .a-order .list-title {
-  font-size: 28rpx;
-  font-weight: 600;
-  color: #000;
-  padding: 16rpx 24rpx;
+    font-size: 28rpx;
+    font-weight: 600;
+    color: #000;
+    padding: 16rpx 24rpx;
 }
+
 .avaImgs {
-  width: 54rpx;
-  height: 54rpx;
-  overflow: hidden;
-  border-radius: 50%;
-  background-color: #f3f5f7;
-  margin-right: 20rpx;
+    width: 54rpx;
+    height: 54rpx;
+    overflow: hidden;
+    border-radius: 50%;
+    background-color: #f3f5f7;
+    margin-right: 20rpx;
 }
 
 .goods-info {
-  width: 100%;
-  line-height: 39rpx;
-  font-size: 26rpx;
-  color: #000;
-  overflow: hidden;
-  padding: 30rpx;
-  background-color: #f3f5f7;
-  box-sizing: border-box;
+    width: 100%;
+    line-height: 39rpx;
+    font-size: 26rpx;
+    color: #000;
+    overflow: hidden;
+    padding: 30rpx;
+    background-color: #f3f5f7;
+    box-sizing: border-box;
 }
+
 .goods-info-bar {
-  width: calc(100% - 190rpx);
+    width: calc(100% - 190rpx);
 }
+
 .goods-info .img-box {
-  width: 172rpx;
-  height: 120rpx;
-  overflow: hidden;
-  background-color: #fff;
-  border-radius: 12rpx;
-  margin-right: 20rpx;
+    width: 172rpx;
+    height: 120rpx;
+    overflow: hidden;
+    background-color: #fff;
+    border-radius: 12rpx;
+    margin-right: 20rpx;
 }
+
 .goods-info .img-box .goods-img {
-  width: 100%;
-  display: block;
-  height: 100%;
+    width: 100%;
+    display: block;
+    height: 100%;
 }
+
 .goods-img-container {
-  overflow: hidden;
-  box-sizing: border-box;
-  width: 100%;
-  height: 172rpx;
-  white-space: nowrap;
+    overflow: hidden;
+    box-sizing: border-box;
+    width: 100%;
+    height: 172rpx;
+    white-space: nowrap;
 }
+
 .goods-img-container .img-box {
-  display: inline-block;
+    display: inline-block;
 }
+
 .goods-img-container .img-box:last-of-type {
-  margin-right: 0;
+    margin-right: 0;
 }
+
 .goods-info .goods_name {
-  width: calc(100% - 192rpx);
-  font-size: 28rpx;
-  font-weight: 500;
-  color: #121212;
+    width: calc(100% - 192rpx);
+    font-size: 28rpx;
+    font-weight: 500;
+    color: #121212;
 }
+
 .goodsDetail_info {
-  overflow: hidden;
-  width: 180rpx;
-  line-height: 1.5;
-  text-align: right;
+    overflow: hidden;
+    width: 180rpx;
+    line-height: 1.5;
+    text-align: right;
 }
+
 .goodsDetail_info .unimport {
-  font-size: 24rpx;
-  color: #999;
+    font-size: 24rpx;
+    color: #999;
 }
+
 .goodsDetail_info .goods_price {
-  font-size: 26rpx;
-  line-height: 1.2;
-  font-weight: 600;
-  margin-bottom: 10rpx;
+    font-size: 26rpx;
+    line-height: 1.2;
+    font-weight: 600;
+    margin-bottom: 10rpx;
 }
+
 .goodsDetail_info .goods_price text {
-  font-size: 36rpx;
+    font-size: 36rpx;
 }
 
 .order-list .a-order .price-box {
-  position: relative;
-  width: 100%;
-  box-sizing: border-box;
-  padding: 16rpx 30rpx;
-  display: flex;
-  justify-content: flex-end;
-  font-size: 26rpx;
+    position: relative;
+    width: 100%;
+    box-sizing: border-box;
+    padding: 16rpx 30rpx;
+    display: flex;
+    justify-content: flex-end;
+    font-size: 26rpx;
 }
 
 .a-order .price-box .btn {
-  box-sizing: border-box;
-  text-align: center;
-  border-radius: 40rpx;
-  margin-left: 20rpx;
-  border: 1rpx solid #ccc;
-  padding: 12rpx 24rpx;
+    box-sizing: border-box;
+    text-align: center;
+    border-radius: 40rpx;
+    margin-left: 20rpx;
+    border: 1rpx solid #ccc;
+    padding: 12rpx 24rpx;
 }
+
 .order-list .a-order .price-box .total-price {
-  color: #e05f0b;
+    color: #e05f0b;
 }
 
 .a-order .price-box .topay-btn {
-  border-color: #e05f0b;
-  color: #e05f0b;
+    border-color: #e05f0b;
+    color: #e05f0b;
 }
 
 .a-order .price-box .r_topay-btn {
-  border-color: #e05f0b;
-  background-color: #e05f0b;
-  color: #fff;
+    border-color: #e05f0b;
+    background-color: #e05f0b;
+    color: #fff;
 }
 
 //拼团金
 .flot_left {
-  // float: left;
-  margin-left: auto;
+    // float: left;
+    margin-left: auto;
 }
+
 .ptz {
-  color: #18bb88;
-  font-size: 30rpx;
-  position: absolute;
-  left: 30rpx;
+    color: #18bb88;
+    font-size: 30rpx;
+    position: absolute;
+    left: 30rpx;
 }
-</style>
+</style>