Sanakey
2021-07-09 3fc241d02fb8b671289de3d9d80bf848349c04d4
pages/groupBuyingCreate/groupBuyingCreate.ts
@@ -1,5 +1,6 @@
// import * as dayjs from "dayjs";
import MyValidator from "../../utils/myValidator";
import {getSaveData, promotionsSaveHandler, promotionsSubmitHandler} from "../../modules/promotionsCreate";
let validatorInstance:MyValidator;
// const app = getApp<IAppOption>();
@@ -12,75 +13,91 @@
    formData: {},
    doccode:'',
    fromPage:'',
    delivery:{}
    delivery:{},
    feeRateForPay:1,
    sellerUnCheckedNames:'',
    coverImageUrl:'',
    isShowDialog:false
  },
  onLoad(options) {
    // console.log(app);
    let doccode =options.doccode||'';
    let fromPage =options.fromPage||'';
    let settings = wx.globalData.settings;
    this.setData({
      fileUploadUrl: `/shopping/panicBuying.do?m=uploadAttachment&formid=${this.data.formId}`,
      doccode,
      fromPage
      fromPage,
      feeRateForPay: (settings.feeRateForWxPay+settings.platformOperatorCommissionRatio)*100
    })
    if (doccode) {
      this.getSaveData();
    }
    else {
      let storeEdit = this.selectComponent('#store-edit');
      storeEdit.getStoreList();
    }
  },
  async getSaveData() {
    let doccode = this.data.doccode;
    let [error, result] = await wx.$utils.to(
      wx.$http.request({
        url:`/shopping/panicBuying.do?m=getPanicBuyingDetail`,
        data:{
          doccode,
          isEdit:true,
          RefOpenId:wx.globalData.OpenId
        }
      })
    )
    if (error){
      console.log(error);
      return;
    }
    console.log(result);
    let data = result.list[0];
    let formData = {
      promotionsTitle: data.title,
      originalPrice: data.originalPrice,
      flashSalePrice: data.salesPrice,
      flashSaleTotal: data.numberOfTeam,
      promotionDescription: data.description,
      startTime: data.effectiveStartDate,
      endTime: data.effectiveEndDate,
      coverImageList: (data.coverImageUrl&&this.getCoverImageList(data))||[],
      // imagesList: (data.imagesUrl.length>0&&this.getImagesList(data))||[],
      imagesList: data.imagesUrl,
      coverImage: data.coverImage,
      images: data.images,
      freeId:data.freeId,
    };
    this.setData({
      ...formData,
      // [`effectiveStartDate`]: data.effectiveStartDate,
      // [`effectiveEndDate`]: data.effectiveEndDate,
      // [`freeId`]: data.freeId,
      // [`title`]: data.title,
      // [`originalPrice`]: data.originalPrice,
      // [`salesPrice`]: data.salesPrice,
      // [`quantity`]: data.quantity,
      // [`restrictBuyingQuantity`]: data.restrictBuyingQuantity,
      // [`description`]: data.description,
      sellerList:result.sellerList,
      status:data.panicBuyingStatus,
      delivery:{
        freeId:data.freeId,
        freeName:data.freeName,
        isRequiredAddress:data.isRequiredAddress,
        transCosts:data.transCosts,
      }
    });
    console.log('配送数据。。。',this.data.delivery);
    await getSaveData(this)
    // let doccode = this.data.doccode;
    // let [error, result] = await wx.$utils.to(
    //   wx.$http.request({
    //     url:`/shopping/panicBuying.do?m=getPanicBuyingDetail`,
    //     data:{
    //       doccode,
    //       isEdit:true,
    //       SellerOpenId:wx.globalData.OpenId
    //     }
    //   })
    // )
    // if (error){
    //   console.log(error);
    //   return;
    // }
    // console.log(result);
    // let data = result.list[0];
    // let formData = {
    //   promotionsTitle: data.title,
    //   originalPrice: data.originalPrice,
    //   flashSalePrice: data.salesPrice,
    //   flashSaleTotal: data.numberOfTeam,
    //   promotionDescription: data.description,
    //   startTime: data.effectiveStartDate,
    //   endTime: data.effectiveEndDate,
    //   coverImageList: (data.coverImageUrl&&this.getCoverImageList(data))||[],
    //   // imagesList: (data.imagesUrl.length>0&&this.getImagesList(data))||[],
    //   imagesList: data.imagesUrl,
    //   coverImage: data.coverImage,
    //   images: data.images,
    //   freeId:data.freeId,
    // };
    // this.setData({
    //   ...formData,
    //   coverImageUrl:data.coverImageUrl,
    //   // [`effectiveStartDate`]: data.effectiveStartDate,
    //   // [`effectiveEndDate`]: data.effectiveEndDate,
    //   // [`freeId`]: data.freeId,
    //   // [`title`]: data.title,
    //   // [`originalPrice`]: data.originalPrice,
    //   // [`salesPrice`]: data.salesPrice,
    //   // [`quantity`]: data.quantity,
    //   // [`restrictBuyingQuantity`]: data.restrictBuyingQuantity,
    //   // [`description`]: data.description,
    //   sellerList:result.sellerList,
    //   storeList:result.storeList,
    //   status:data.panicBuyingStatus,
    //   delivery:{
    //     freeId:data.freeId,
    //     freeName:data.freeName,
    //     isRequiredAddress:data.isRequiredAddress,
    //     transCosts:data.transCosts,
    //   }
    // });
    // console.log('配送数据。。。',this.data.delivery);
    // wx.setNavigationBarTitle({
    //   title: data.title
    // })
  },
  getCoverImageList(data:any){
@@ -167,171 +184,198 @@
    })
  },
  async postFormData(data:object){
    let [error, res] = await wx.$utils.to(
      wx.$http.request({
        url:'/shopping/panicBuying.do?m=saveDocCode',
        data,
        method:'POST'
      })
    )
    if (error) {
      console.log(error);
      return false;
    }
    console.log(res);
    wx.showToast({
      title: '成功',
      duration: 2000
    })
    return true;
  },
  async onSubmit() {
    let timeQuantum = this.selectComponent('#time-quantum');
    let sellerEdit = this.selectComponent('#seller-edit');
    let fileUploader = this.selectComponent('#file-uploader');
    let fileUploaderMultiple = this.selectComponent('#file-uploader-multiple');
  // async postFormData(data:object){
  //   let [error, res] = await wx.$utils.to(
  //     wx.$http.request({
  //       url:'/shopping/panicBuying.do?m=saveDocCode',
  //       data,
  //       method:'POST'
  //     })
  //   )
  //   if (error) {
  //     console.log(error);
  //     return false;
  //   }
  //   console.log(res);
  //   if (res.state === 'success') {
  //     wx.showToast({
  //       title: '成功',
  //       duration: 2000
  //     })
  //     this.setData({
  //       doccode:res.DocCode
  //     })
  //   }
  //   if (res.state === 'failed'&&res.sellerCheckedBalance>0) {
  //     this.setData({
  //       sellerUnCheckedNames: res.sellerUnCheckedNames,
  //       isShowDialog: true
  //     })
  //   }
  //   return res.state === 'success';
  // },
  onSubmit:wx.$utils.debounce(function(this:any){
    this.submitHandler();
    return;
  }),
    let deliveryMethod = this.selectComponent('#delivery-method');
    let checkTransCosts = true;
    let transCosts = 0;
    if (deliveryMethod.data.isRequiredAddress){
      checkTransCosts = deliveryMethod.checkFields();
      transCosts = Number(deliveryMethod.data.transCosts);
    }
    console.log('sellerEdit',);
    console.log(timeQuantum);
    let checkStartTime = timeQuantum.checkTime("startTime", "请选择计划开始时间");
    let checkEndTime = timeQuantum.checkTime("endTime", "请选择计划结束时间");
    let checkCoverImage = fileUploader.checkImages("coverImage", "请上传一张封面图");
    let checkImages = fileUploaderMultiple.checkImages("images", "请至少上传一张图片");
    let checkAllData = validatorInstance.checkAllData();
    // if (this.data.goodsImgList.length < 1) {
    //   console.log('请上传产品图片');
  async submitHandler(){
    await promotionsSubmitHandler(this,validatorInstance);
    return;
    // let timeQuantum = this.selectComponent('#time-quantum');
    // let sellerEdit = this.selectComponent('#seller-edit');
    // let storeEdit = this.selectComponent('#store-edit');
    // let fileUploader = this.selectComponent('#file-uploader');
    // let fileUploaderMultiple = this.selectComponent('#file-uploader-multiple');
    //
    // let deliveryMethod = this.selectComponent('#delivery-method');
    // let checkTransCosts = true;
    // let transCosts = 0;
    // if (deliveryMethod.data.isRequiredAddress){
    //   checkTransCosts = deliveryMethod.checkFields();
    //   transCosts = Number(deliveryMethod.data.transCosts);
    // }
    let sellerList = sellerEdit.getSellerList();
    if (sellerList.length<1) {
      wx.showToast({
        title: '请选择营销人员',
        icon: 'none',
        duration: 2000
      })
      return
    }
    let checkDefaultSeller = sellerEdit.checkDefaultSeller();
    if (!checkDefaultSeller) {
      wx.showToast({
        title: '请选择默认营销人员',
        icon: 'none',
        duration: 2000
      })
      return
    }
    console.log('checkDefaultSeller',checkDefaultSeller);
    let checkArr = [checkTransCosts,checkStartTime,checkEndTime,checkCoverImage,checkImages,checkAllData];
    let data = {};
    if (checkArr.every((item)=>{
      return item
    })){
      console.log('....提交成功');
      let coverImage = fileUploader.getCoverImageUnid();
      let images = fileUploaderMultiple.getImagesUnid();
      console.log(coverImage,images);
      let formData: any = this.data;
      data = {
        docCode: formData.doccode, //活动单号,新建活动时为空值,编辑时需要doccode值
        formId: formData.formId, //功能号:秒杀 710802 , 报名邀约 710803 ,团购 710804
        docStatus:100, //单据状态: 0 保存(起草) ,100 发布
        coverImage,
        images,
        transCosts, //送货上门时 配送费
        // ...this.data.formData,
        effectiveStartDate: formData.startTime,
        effectiveEndDate: formData.endTime,
        freeId: formData.freeId,
        title: formData.promotionsTitle,
        originalPrice: Number(formData.originalPrice),
        salesPrice: Number(formData.flashSalePrice),
        numberOfTeam: Number(formData.flashSaleTotal),
        description: formData.promotionDescription,
        sellerList,
      }
      console.log('待发布数据',data);
      if (!await this.postFormData(data)) return;
      if (this.data.fromPage=='edit'){
        wx.navigateBack();
      } else{
        wx.redirectTo({
          url:'../promotionsManageList/promotionsManageList?tab=3'
        })
      }
    } else {
      wx.showToast({
        title: '页面还有错误未处理',
        icon: 'none',
        duration: 2000
      })
      console.log('还有错误未处理');
    }
    //
    // console.log(timeQuantum);
    //
    // let checkStartTime = timeQuantum.checkTime("startTime");
    // let checkEndTime = timeQuantum.checkTime("endTime");
    // let checkCoverImage = fileUploader.checkImages("coverImage", "请上传一张封面图");
    // // let checkImages = fileUploaderMultiple.checkImages("images", "请至少上传一张图片");
    // let checkAllData = validatorInstance.checkAllData();
    // // if (this.data.goodsImgList.length < 1) {
    // //   console.log('请上传产品图片');
    // // }
    // let sellerList = sellerEdit.getSellerList();
    // if (sellerList.length<1) {
    //   wx.showToast({
    //     title: '请选择营销人员',
    //     icon: 'none',
    //     duration: 2000
    //   })
    //   return
    // }
    // let storeList = storeEdit.getSelectedStoreIdList();
    // console.log('待提交的门店id',storeList);
    // let checkDefaultSeller = sellerEdit.checkDefaultSeller();
    // if (!checkDefaultSeller) {
    //   wx.showToast({
    //     title: '请选择默认营销人员',
    //     icon: 'none',
    //     duration: 2000
    //   })
    //   return
    // }
    // console.log('checkDefaultSeller',checkDefaultSeller);
    //
    // let checkArr = [checkTransCosts,checkStartTime,checkEndTime,checkCoverImage,checkAllData];
    // let data = {};
    // if (checkArr.every((item)=>{
    //   return item
    // })){
    //   console.log('....提交成功');
    //   let coverImage = fileUploader.getCoverImageUnid();
    //   let coverImageUrl = fileUploader.getImgList()[0].url||'';
    //   this.setData({
    //     coverImageUrl
    //   })
    //   let images = fileUploaderMultiple.getImagesUnid();
    //   console.log(coverImage,images);
    //   let formData: any = this.data;
    //   data = {
    //     docCode: formData.doccode, //活动单号,新建活动时为空值,编辑时需要doccode值
    //     formId: formData.formId, //功能号:秒杀 710802 , 报名邀约 710803 ,团购 710804
    //     docStatus:100, //单据状态: 0 保存(起草) ,100 发布
    //     coverImage,
    //     images,
    //     transCosts, //送货上门时 配送费
    //     // ...this.data.formData,
    //
    //     effectiveStartDate: formData.startTime,
    //     effectiveEndDate: formData.endTime,
    //     freeId: formData.freeId,
    //     title: formData.promotionsTitle,
    //     originalPrice: Number(formData.originalPrice),
    //     salesPrice: Number(formData.flashSalePrice),
    //     numberOfTeam: Number(formData.flashSaleTotal),
    //     description: formData.promotionDescription,
    //     storeList,
    //     sellerList,
    //   }
    //   console.log('待发布数据',data);
    //   if (!await this.postFormData(data)) return;
    //   if (this.data.fromPage=='edit'){
    //     wx.navigateBack();
    //   } else{
    //     wx.redirectTo({
    //       url:'../promotionsManageList/promotionsManageList?tab=3'
    //     })
    //   }
    //
    // } else {
    //   wx.showToast({
    //     title: '页面还有错误未处理',
    //     icon: 'none',
    //     duration: 2000
    //   })
    //   console.log('还有错误未处理');
    // }
  },
  onSave(){
    let sellerEdit = this.selectComponent('#seller-edit');
    let sellerList = sellerEdit.getSellerList();
    let fileUploader = this.selectComponent('#file-uploader');
    let fileUploaderMultiple = this.selectComponent('#file-uploader-multiple');
    console.log('....提交成功');
    let coverImage = fileUploader.getCoverImageUnid();
    let images = fileUploaderMultiple.getImagesUnid();
    let deliveryMethod = this.selectComponent('#delivery-method');
    let transCosts = 0;
    if (deliveryMethod.data.isRequiredAddress){
      transCosts = Number(deliveryMethod.data.transCosts);
    }
    console.log(coverImage,images);
    let formData: any = this.data;
    let data = {
      docCode: formData.doccode, //活动单号,新建活动时为空值,编辑时需要doccode值
      formId: formData.formId, //功能号:秒杀 710802 , 报名邀约 710803 ,团购 710804
      docStatus: 0, //单据状态: 0 保存(起草) ,100 发布
      coverImage,
      images,
      transCosts, //送货上门时 配送费
      // ...this.data.formData,
      effectiveStartDate: formData.startTime,
      effectiveEndDate: formData.endTime,
      freeId: formData.freeId,
      title: formData.promotionsTitle,
      originalPrice: Number(formData.originalPrice)||0,
      salesPrice: Number(formData.flashSalePrice)||0,
      numberOfTeam: Number(formData.flashSaleTotal)||0,
      description: formData.promotionDescription,
      sellerList,
    }
  onSave:wx.$utils.debounce(function(this:any){
    promotionsSaveHandler(this);
    return;
    // let sellerEdit = this.selectComponent('#seller-edit');
    // let sellerList = sellerEdit.getSellerList();
    // let storeEdit = this.selectComponent('#store-edit');
    // let storeList = storeEdit.getSelectedStoreIdList();
    // console.log('待提交的门店id',storeList);
    // let fileUploader = this.selectComponent('#file-uploader');
    // let fileUploaderMultiple = this.selectComponent('#file-uploader-multiple');
    // console.log('....提交成功');
    // let coverImage = fileUploader.getCoverImageUnid();
    // let images = fileUploaderMultiple.getImagesUnid();
    // let deliveryMethod = this.selectComponent('#delivery-method');
    // let transCosts = 0;
    // if (deliveryMethod.data.isRequiredAddress){
    //   transCosts = Number(deliveryMethod.data.transCosts);
    // }
    // console.log(coverImage,images);
    // let formData: any = this.data;
    // let data = {
    //   docCode:this.data.doccode, //活动单号,新建活动时为空值,编辑时需要doccode值
    //   formId:this.data.formId, //功能号:秒杀 710802 , 报名邀约 710803 ,团购 710804
    //   docStatus:0, //单据状态: 0 保存(起草) ,100 发布
    //   docCode: formData.doccode, //活动单号,新建活动时为空值,编辑时需要doccode值
    //   formId: formData.formId, //功能号:秒杀 710802 , 报名邀约 710803 ,团购 710804
    //   docStatus: 0, //单据状态: 0 保存(起草) ,100 发布
    //   coverImage,
    //   images,
    //   transCosts, //送货上门时 配送费
    //   ...this.data.formData,
    //   // ...this.data.formData,
    //
    //   effectiveStartDate: formData.startTime,
    //   effectiveEndDate: formData.endTime,
    //   freeId: formData.freeId,
    //   title: formData.promotionsTitle,
    //   originalPrice: Number(formData.originalPrice)||0,
    //   salesPrice: Number(formData.flashSalePrice)||0,
    //   numberOfTeam: Number(formData.flashSaleTotal)||0,
    //   description: formData.promotionDescription,
    //   storeList,
    //   sellerList,
    // }
    console.log('待保存数据',data);
    this.postFormData(data);
  },
    // // let data = {
    // //   docCode:this.data.doccode, //活动单号,新建活动时为空值,编辑时需要doccode值
    // //   formId:this.data.formId, //功能号:秒杀 710802 , 报名邀约 710803 ,团购 710804
    // //   docStatus:0, //单据状态: 0 保存(起草) ,100 发布
    // //   coverImage,
    // //   images,
    // //   transCosts, //送货上门时 配送费
    // //   ...this.data.formData,
    // //   sellerList,
    // // }
    // console.log('待保存数据',data);
    // this.postFormData(data);
    // return;
    }),
  // onInputStartDate() {},
  // onInputEndDate() {},
  initValidator(){
@@ -340,7 +384,7 @@
      rules: {
        promotionsTitle: {
          required: true,
          maxlength: 15
          rangelength: [3,14]
        },
        originalPrice: {
          required: true,
@@ -354,17 +398,17 @@
          required: true,
          number: true
        },
        promotionDescription: {
          required: true
        },
        // promotionDescription: {
        //   required: true
        // },
      },
      messages: {
        promotionsTitle: {
          required: '请输入活动标题',
          maxlength: '长度不能大于15'
          rangelength: '文字长度请控制在3到14之间'
        },
        originalPrice: {
          required: '请输入产品原价',
          required: '请输入产品标价',
          number: '价格必须为数字'
        },
        flashSalePrice: {
@@ -375,9 +419,9 @@
          required: '请输入成团人数',
          number: '人数必须为数字'
        },
        promotionDescription: {
          required: '请输入活动描述'
        },
        // promotionDescription: {
        //   required: '请输入活动描述'
        // },
      },
      multiCheck:true
    },this)
@@ -386,5 +430,17 @@
    // })
    console.log('hhhh,',validatorInstance);
  },
  onShareAppMessage() {
    let doccode:string = this.data.doccode || '';
    // let title:string = this.data.promotionsData.title || '';
    let imageUrl:string = this.data.coverImageUrl || '';
    let sellerUnCheckedNames:string = this.data.sellerUnCheckedNames || '';
    return {
      // title: utils.getShareTitle(),
      title: `请营销人员[${sellerUnCheckedNames}]验证身份`,
      imageUrl,
      path: `pages/sellerVerify/sellerVerify?doccode=${doccode}`,
    }
  }
})
export {}