美文网首页
tab 切换两个不同接口

tab 切换两个不同接口

作者: 糖醋里脊120625 | 来源:发表于2023-06-05 09:31 被阅读0次

import { 
  requestOrderList, 
  requestDeliveryList,
  ChabgeStateOrders,
  requestDelOrder,
  RejectItemOrders,
  requestPrintOrder } from '../../http/orderListApi'
import { centToYuan } from '../../unit/priceUtil'
import Toast from '@vant/weapp/toast/toast';
import Dialog from '@vant/weapp/dialog/dialog';
var dayjs = require('dayjs')
Page({
  data: {
    beforeClose: {},
    LoadingMore: true,
    noDataMore:false,
    productionDate:"",
    expirationDate:"",
    page:1,
    size:10,
    tabTop: '0',
    navInfo:{},
    customerList: [],
    current: 1,
    autoplay: true,
    valueKey: "",
    interval: 5000,
    navigation: { type: 'dots' },
    activeSeled:0,
    orderStatus:15,
    showaction:false,
    showReason:false,
    Reasonvalue:"",
    actionsList: [
      {
        name: '编辑',
        value:"edit"
      },
      {
        name: '打印',
        value:"print"
      },
      {
        name: '取消',
        value: 'cancel',

      },
    ],
    publicData:{},
    fatherList: [
          {
            tabsName: '待发货',
            orderState:15,
            ordersList: []
          },
          {
            tabsName: '已发货',
            orderState:'hasSend',
            ordersList: []
          }
    ],
   
    layout: 1,
  },

  goodListPagination: {
    index: 1,
    num: 20,
  },




  
  privateData: {
    tabIndex: 0,
  },
  
  
  goTop(){
    if (wx.pageScrollTo) {
      wx.pageScrollTo({
        scrollTop: 0
      })
    } 
  },
  


  onLoad() {
    var that = this
      that.setData({
        beforeClose: (action) => this.onBeforeClose(action),
        productionDate:dayjs().format('YYYY-MM-DD'),
        expirationDate:dayjs().year() + '-12-01',
        
      })
    
  },

  onShow() { 
    this.setData({
      
      fatherList:[  {
        tabsName: '待发货',
        orderState:15,
        ordersList: []
      },
      {
        tabsName: '已发货',
        orderState:'hasSend',
        ordersList: []
      }]
    })
    this.getDataFun("");
  },

  ChangeTab(event){
    
    let indexSeled =Number(event.detail.index)

    console.log(indexSeled)
    if(indexSeled==0){
      this.setData({
        actionsList:[ 
          { name: '编辑', value:"edit" },
          { name: '打印', value:"print" },
          { name: '取消', value: 'cancel', },
        ],
      });
    }else{
      this.setData({
        actionsList:[ 
          { name: '打印', value:"print" },
          { name: '取消', value: 'reject', },
        ],
      });
    }


    this.setData({
      page:1, 
      LoadingMore:true,
      noDataMore:false,
      activeSeled: indexSeled, 
      orderStatus:this.data.fatherList[indexSeled].orderState,
      fatherList:[  {
        tabsName: '待发货',
        orderState:15,
        ordersList: []
      },
      {
        tabsName: '已发货',
        orderState:'hasSend',
        ordersList: []
      }]
    });

    
    this.getDataFun()
    this.goTop()
  },
  goMore(event){
    this.setData({ 
      showaction: true,
      publicData:event.currentTarget.dataset.bean
    });
  },
  onClose(){
    this.setData({ 
      showaction: false
    });
  },
  ChangeGoods(event){


    let that =this;
    let itemData = event.currentTarget.dataset.bean;
    Dialog.confirm({
      title: '提示',
      message: '确认发货吗?',
    })
    .then(() => {
      that.sendFun(itemData,)
    })
    .catch(() => {
      // on cancel
    });
  },
  sendFun(itemData){
    var that =this;
    
    let newdata = itemData.detailList.map((item) => {
      return {
        productId:item.productInfo.id,
        productionDate:that.data.productionDate,
        expirationDate:that.data.expirationDate,
        shipNum: item.productNum,
      };
  })

  
    let postdata={
      orderId:itemData.orderId,
      items:newdata,
    }
    ChabgeStateOrders(postdata).then((res) => {
      wx.showToast({
        icon: 'none',
        title: "发货成功",
      })
      that.PublicFun()
    })
  },
  onSelect(event) {
    console.log(event.detail);
      let actVal= event.detail.value;
      if(actVal=='edit'){
        this.editItemOrder(this.data.publicData)
      }
      if(actVal=='cancel'){
        this.cancelOrders(this.data.publicData)
      }
      if(actVal=='reject'){
        this.RejectOrders(this.data.publicData)
      }
      if(actVal=='print'){
        this.printItemOrder(this.data.publicData)
      }
  },
  clickItem(e){
    console.log(e.currentTarget.dataset.bean)
    let itemData= e.currentTarget.dataset.bean;
    return
    wx.navigateTo({
      url: `/pages/EditOrder/EditOrder?MyOrderID=${itemID}`,
    });
  },
  RejectOrders(itemData){
    let that =this;
    Dialog.confirm({
      title: '提示',
      message: '确认取消吗?',
    })
      .then(() => {
        that.RejectItem(itemData)
      })
      .catch(() => {
        // on cancel
      });
  },
  RejectItem(itemData){
    
    let that =this;
    RejectItemOrders({
      delId:itemData.delId,
      canceledRemark:"取消订单"
    }).then((res) => {
      console.log(res)
      wx.showToast({
        icon: 'none',
        title: "取消成功",
      })
      that.PublicFun()
      
    })
  },
  CloseReason(){
    this.setData({ 
      showReason: false
    });
  },
  ReasonConfirm(){
    this.setData({ 
      showReason: true
    });
  },
  cancelOrders(){
    var that =this;
    that.setData({ 
      
      showReason: true,
    });
  },

  onBeforeClose: function(action) {
    console.log(action)
    var that =this;
    if(action == 'confirm'){
      console.log(this.data.Reasonvalue)
      
      if(this.data.Reasonvalue==""){
        wx.showToast({
          icon: 'none',
          title: "请输入原因",
        })
      }else{
        let itemData = this.data.publicData;
        requestDelOrder({
          ordId:itemData.orderId,
          reason:that.data.Reasonvalue
        }).then((res) => {
          wx.showToast({
            icon: 'none',
            title: "取消成功",
          })
          that.PublicFun()
          that.setData({ 
            showReason: false
          });
        })

      }
    }else{
      this.setData({ 
        showReason: false
      });
    }
  },
  editItemOrder(itemData){
    let itemID = itemData.orderId;
    console.log(itemID)
    wx.navigateTo({
      url: `/pages/EditOrder/EditOrder?MyOrderID=${itemID}`,
    });
  },
  printItemOrder(itemData){
    
    let postdata={
      orderNo:itemData.orderNo
    }
    let that =this;
    requestPrintOrder(postdata).then((res) => {
      wx.showToast({
        icon: 'none',
        title: "打印成功",
      })
    })
  },
  getDataFun(){
    var that =this;
    let postdata= {
      pageIndex: that.data.page,
      pageSize: 10,
    }

    let NOsendDate={
      // "supplyStartDate":dayjs().startOf('month').format('YYYY-MM-DD'),
      // "supplyEndDate":dayjs().endOf('month').format('YYYY-MM-DD'),

      "supplyStartDate":"2023-05-01",
      "supplyEndDate":"2023-06-30",
    }
    let HaveSendDate={
      beginDate:"2023-05-01",
      endDate:"2023-06-30",

      // beginDate:dayjs().startOf('month').format('YYYY-MM-DD'),
      // endDate:dayjs().endOf('month').format('YYYY-MM-DD'),
      statusCode:"DELIVERED"
    }

    let PromiseReault;
    if(this.data.fatherList[that.data.activeSeled].orderState==15){
      PromiseReault = requestOrderList({...postdata,...NOsendDate,orderStatus: that.data.orderStatus,});
    }
    if(this.data.fatherList[that.data.activeSeled].orderState=='hasSend'){
      
      PromiseReault = requestDeliveryList({...postdata,...HaveSendDate});
    }


    PromiseReault.then(res => {

      if(this.data.fatherList[that.data.activeSeled].orderState==15){
        var BuildData= res.data.list
      }
      if(this.data.fatherList[that.data.activeSeled].orderState=='hasSend'){
        var BuildData= res.data.data
      }
      let resultData= BuildData.map((item) => {
        return changeItem(item)
      });

      function changeItem(item){
        var objItem={};
        if(that.data.fatherList[that.data.activeSeled].orderState==15){
          // ccccccccc
          objItem={
            ...item,
            supplyDate:dayjs(item.supplyDate).format('YYYY-MM-DD'),
            orderAmount:centToYuan(item.orderAmount),
            goodsName:item.detailList.map((item) => {
              return item.productInfo.name
          }).join(", "),
          }
        }else{
          objItem={
            goodsName:item.deliveryDtlList.map((item) => {
              return item.productName
            }).join(", "),
            orderNo:item.orderNo,
            delId:item.delId,
            customerName:item.delCustomerName,
            supplyDate:dayjs(item.delSupplyDate).format('YYYY-MM-DD'),
            ordSupplierName:item.enterpriseName, 
            orderAmount:centToYuan(item.delAmount),
          }
        }
        return objItem;
      }
      setTimeout(() => {
        if(resultData.length < 10){
          that.setData({
              LoadingMore:false,
              noDataMore:true,
          })

        }
        that.data.fatherList[that.data.activeSeled].ordersList= that.data.fatherList[that.data.activeSeled].ordersList.concat(resultData)
        
        that.setData({ 
          fatherList: that.data.fatherList 
        });
      }, 100);
      
    }).finally(() => {
     // this.editSaveLoading = false;
    });
  },


  onReachBottom() {
    
    var that = this;
    if(that.data.noDataMore==false){
        this.setData({
          page: that.data.page + 1
        })

      this.getDataFun('')
    }
},
  

 

PublicFun(){
  var that=this;




  setTimeout(function () {
    that.setData({
      page:1, 
      LoadingMore:true,
      noDataMore:false,
      activeSeled: that.data.activeSeled, 
      orderStatus:that.data.fatherList[that.data.activeSeled].orderState,
      fatherList:[  {
        tabsName: '待发货',
        orderState:15,
        ordersList: []
      },
      {
        tabsName: '已发货',
        orderState:'hasSend',
        ordersList: []
      }]
    });
  
    
    that.getDataFun()
    that.goTop()
}, 1500);
 
   
},

  goDetail(event){
    let itemData= event.currentTarget.dataset.bean;
    console.log(itemData)
    const BuildData = JSON.stringify(itemData);
    wx.navigateTo({ url: `/pages/editOrder/editOrder?detInfo=`+ encodeURIComponent(BuildData) });
  },
 





 


});

相关文章

网友评论

      本文标题:tab 切换两个不同接口

      本文链接:https://www.haomeiwen.com/subject/fsbiedtx.html