// import * as dayjs from "dayjs";
|
import MyValidator from "../../utils/myValidator";
|
|
let validatorInstance:MyValidator;
|
// const app = getApp<IAppOption>();
|
Page({
|
data: {
|
autosize:{ maxHeight: 120, minHeight: 50 },
|
validatorInstance:{},
|
freeId:0,
|
formId:710804, //功能号:秒杀 710802 , 报名邀约 710803 ,团购 710804
|
formData: {},
|
doccode:'',
|
fromPage:'',
|
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,
|
feeRateForPay: (settings.feeRateForWxPay+settings.platformOperatorCommissionRatio)*100
|
})
|
if (doccode) {
|
this.getSaveData();
|
}
|
},
|
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,
|
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,
|
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){
|
let [unid,seq] = data.coverImage.split(";");
|
return [{
|
url: data.coverImageUrl||'',
|
unid,
|
seq
|
}]
|
},
|
// getImagesList(data:any){
|
// let [unid,seq] = data.images.split(";");
|
// return data.imagesUrl.map((item:string)=>{
|
// return {
|
// url: item,
|
// unid,
|
// seq
|
// }
|
// })
|
// },
|
|
onReady() {
|
this.initValidator()
|
},
|
selectedStartTime(event:any) {
|
console.log('开始',event);
|
this.setData({
|
startTime: event.detail.startTime,
|
})
|
},
|
selectedEndTime(event:any){
|
console.log('结束',event);
|
this.setData({
|
endTime: event.detail.endTime,
|
})
|
},
|
getDeliveryMethod(event:any){
|
console.log(event.detail);
|
this.setData({
|
// deliveryMethod: event.detail.deliveryMethod,
|
freeId: event.detail.freeId,
|
})
|
console.log('this.data.freeId;',this.data.freeId);
|
},
|
|
checkPromotionsTitle(e:any){
|
let { value } = e.detail
|
console.log(e);
|
validatorInstance.checkField('promotionsTitle',value);
|
this.setData({
|
promotionsTitle:value.trim()
|
})
|
},
|
checkOriginalPrice(e:any){
|
let { value } = e.detail
|
console.log(e);
|
validatorInstance.checkField('originalPrice',value);
|
this.setData({
|
originalPrice:value.trim()
|
})
|
},
|
checkFlashSalePrice(e:any){
|
let { value } = e.detail
|
console.log(e);
|
validatorInstance.checkField('flashSalePrice',value);
|
this.setData({
|
flashSalePrice:value.trim()
|
})
|
},
|
checkFlashSaleTotal(e:any){
|
let { value } = e.detail
|
console.log(e);
|
validatorInstance.checkField('flashSaleTotal',value);
|
this.setData({
|
flashSaleTotal:value.trim()
|
})
|
},
|
checkPromotionDescription(e:any){
|
let { value } = e.detail
|
console.log(e);
|
validatorInstance.checkField('promotionDescription',value);
|
this.setData({
|
promotionDescription:value.trim()
|
})
|
},
|
|
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
|
})
|
}
|
if (res.state === 'failed'&&res.sellerCheckedBalance>0) {
|
this.setData({
|
sellerUnCheckedNames: res.sellerUnCheckedNames,
|
isShowDialog: true
|
})
|
}
|
return res.state === 'success';
|
},
|
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');
|
|
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('请上传产品图片');
|
// }
|
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,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,
|
|
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,
|
}
|
// 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);
|
},
|
// onInputStartDate() {},
|
// onInputEndDate() {},
|
initValidator(){
|
// 实例化
|
validatorInstance = new MyValidator({
|
rules: {
|
promotionsTitle: {
|
required: true,
|
rangelength: [3,14]
|
},
|
originalPrice: {
|
required: true,
|
number: true
|
},
|
flashSalePrice: {
|
required: true,
|
number: true
|
},
|
flashSaleTotal: {
|
required: true,
|
number: true
|
},
|
// promotionDescription: {
|
// required: true
|
// },
|
},
|
messages: {
|
promotionsTitle: {
|
required: '请输入活动标题',
|
rangelength: '文字长度请控制在3到14之间'
|
},
|
originalPrice: {
|
required: '请输入产品标价',
|
number: '价格必须为数字'
|
},
|
flashSalePrice: {
|
required: '请输入拼团价',
|
number: '价格必须为数字'
|
},
|
flashSaleTotal: {
|
required: '请输入成团人数',
|
number: '人数必须为数字'
|
},
|
// promotionDescription: {
|
// required: '请输入活动描述'
|
// },
|
},
|
multiCheck:true
|
},this)
|
// this.setData({
|
// validatorInstance
|
// })
|
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 {}
|