litian
2024-04-03 b212136f20cc7f98c3616c97936978b1d1065b36
packagePersonal/pages/myOrder/index.js
@@ -1,7 +1,9 @@
const app = getApp();
import moment from 'moment'
import tool2 from "../../../assets/js/toolClass.js"
import { getPublicImage } from "../../../assets/js/middleGround/tool.js";
import {
  getPublicImage
} from "../../../assets/js/middleGround/tool.js";
Page({
  /**
@@ -9,8 +11,7 @@
   */
  data: {
    active: 0,
    tabList: [
      {
    tabList: [{
        label: '全部',
        value: 'all',
      },
@@ -27,6 +28,7 @@
        value: 'Cancel',
      }
    ],
    searchText: "",
    list: [],
    //分页
    page: 1,
@@ -38,7 +40,9 @@
    isBackTop: false,
    setScrollValue: 0,
    skeletonLoding: true,
    queryFilter: []
    queryFilter: [],
    isPaySuccess: false,
    isPayComplete: false,
  },
  /**
@@ -61,20 +65,34 @@
    that.setData({
      skeletonLoding: true,
      active: item.detail.value,
      queryFilter: info.value == 'all' ? [] : [{ field: 'State', value: info.value }],
      queryFilter: info.value == 'all' ? [] : [{
        field: 'State',
        value: info.value
      }],
      list: [],
      page: 1,
      bottomLoading: false,
      isMoreData: false,
      searchText: ""
    })
    that.getDataList(false);
  },
  getDataList(isReachBottom) {
    var searchArr = [];
    console.log(this.data.searchText, "earch")
    if (this.data.searchText != undefined && this.data.searchText != "") {
      searchArr.push({
        compareType: "Contains",
        field: "orderNumber",
        keywords: this.data.searchText,
      })
    }
    const data = {
      start: this.data.page * this.data.limit - this.data.limit,
      size: this.data.limit,
      filterList: this.data.queryFilter,
      searchList: searchArr,
      sort: {
        type: 'Desc',
        field: 'CreateDate'
@@ -139,6 +157,7 @@
          })
        } else {
          this.setData({
            list: [],
            skeletonLoding: false,
            loading: false
          })
@@ -148,7 +167,31 @@
      }
    })
  },
  onSearchOrder(e) {
    this.setData({
      searchText: e.detail.value,
    })
    this.getDataList(false);
  },
  async goBookDetails(e) {
    const {
      book,
      remarks
    } = e.currentTarget.dataset;
    let parentData = null;
    let bookId = book.orderSaleMethod.product.id;
    if (remarks == null) {
      parentData = await app.MG.store.getProductBySaleMethod({
        'saleMethodId': book.orderSaleMethod.id
      })
      bookId = parentData.parentProduct[parentData.parentProduct.length - 1].id;
    } else if (remarks != null && JSON.stringify(remarks).slice(1, -1) == 'object' && JSON.parse(remarks).pId) {
      bookId = JSON.parse(remarks).pId
    }
    wx.navigateTo({
      url: `/packageBookService/pages/bookServices/detail/index?id=${bookId}&name=${book.name}`,
    });
  },
  /**
   * 页面相关事件处理函数--监听用户下拉动作
@@ -161,7 +204,8 @@
      limit: 12,
      pageTotalCount: 0,
      bottomLoading: false,
      isMoreData: false
      isMoreData: false,
      searchText: ''
    })
    this._freshing = true;
    this.setData({
@@ -198,19 +242,27 @@
  },
  onCancel(e) {
    let { orderNum } = e.currentTarget.dataset
    let that = this;
    let {
      orderNum
    } = e.currentTarget.dataset
    wx.showModal({
      title: '提示', //提示的标题
      content: '确定要取消订单?', //提示的内容
      success: function (res) {
        if (res.confirm) {
          app.MG.store.cancelOrder({ orderNum: orderNum }).then(() => {
            wx.showToast({
              title: "订单已取消",
              icon: 'success',
              duration: 1000
            })
            this.getDataList(false)
          app.MG.store.cancelOrder({
            orderNum: orderNum
          }).then((res) => {
            if (res) {
              wx.showToast({
                title: "订单已取消",
                icon: 'success',
                duration: 1000
              })
              that.getDataList(false)
            }
          })
        } else if (res.cancel) {
          console.log('用户点击了取消')
@@ -229,93 +281,41 @@
      orderNum: orderNum,
    };
    app.MG.store.getOrderByOrderNum(data).then(res => {
      if (res && res.state != "WaitPay") {
        app.MG.store.confirmOrder(data).then(conRes => {
          if (conRes.orderNumber) {
            const resOrderNum = {
              orderNum: conRes.orderNumber,
            };
            if (conRes.payPrice != 0) {
              app.MG.store.makeWeChatPay(resOrderNum).then(payRes => {
                const payVal = JSON.parse(payRes);
                wx.requestPayment({
                  "appId": payVal.appId,
                  "timeStamp": payVal.timeStamp,
                  "nonceStr": payVal.nonceStr,
                  "package": payVal.package,
                  "signType": payVal.signType,
                  "paySign": payVal.paySign,
                  "success": function (res) {
                    if (res.errMsg == 'requestPayment:ok') {
                      that.setData({
                        isPaySuccess: true
                      })
                    }
                    console.log(res, "成功")
                  },
                  "fail": function (res) {
                    console.log(res, "失败")
                  },
                  "complete": function (res) {
                    if (res.errMsg == 'requestPayment:ok') {
                      that.setData({
                        isPayComplete: true
                      })
                    }
                    if (that.data.isPaySuccess && that.data.isPayComplete) {
                      that.navToBack()
                    }
                  }
      app.MG.store.makeWeChatPay({
          orderNum: res.orderNumber,
          platform: "WeChatAppCustom"
        })
        .then(payRes => {
          const payVal = JSON.parse(payRes);
          wx.requestPayment({
            "appId": payVal.appId,
            "timeStamp": payVal.timeStamp,
            "nonceStr": payVal.nonceStr,
            "package": payVal.package,
            "signType": payVal.signType,
            "paySign": payVal.paySign,
            "success": function (res) {
              if (res.errMsg == 'requestPayment:ok') {
                that.setData({
                  isPaySuccess: true
                })
              });
            } else {
              wx.showToast({
                title: '领取成功',
              })
              // 可添加返回上级
              setTimeout(() => {
                that.navToBack()
              }, 2000);
            }
          }
        });
      } else {
        app.MG.store
          .makeWeChatPay({
            orderNum: orderNum
          })
          .then(payRes => {
            const payVal = JSON.parse(payRes);
            wx.requestPayment({
              "appId": payVal.appId,
              "timeStamp": payVal.timeStamp,
              "nonceStr": payVal.nonceStr,
              "package": payVal.package,
              "signType": payVal.signType,
              "paySign": payVal.paySign,
              "success": function (res) {
                if (res.errMsg == 'requestPayment:ok') {
                  that.setData({
                    isPaySuccess: true
                  })
                }
              },
              "fail": function (res) {
                console.log(res, "失败")
              },
              "complete": function (res) {
                if (res.errMsg == 'requestPayment:ok') {
                  that.setData({
                    isPayComplete: true
                  })
                }
                if (that.data.isPaySuccess && that.data.isPayComplete) {
                  that.navToBack()
                }
              }
            })
          });
      }
            },
            "fail": function (res) {
              console.log(res, "失败")
            },
            "complete": function (res) {
              if (res.errMsg == 'requestPayment:ok') {
                that.setData({
                  isPayComplete: true
                })
              }
              if (that.data.isPaySuccess && that.data.isPayComplete) {
                that.navToBack()
              }
            }
          })
        });
    });
  },