| | |
| | | // import * as dayjs from "dayjs";
|
| | | import MyValidator from "../../utils/myValidator";
|
| | | import {getSaveData, promotionsSaveHandler, promotionsSubmitHandler} from "../../modules/promotionsCreate";
|
| | |
|
| | | const app = getApp<IAppOption>();
|
| | | let validatorInstance:MyValidator;
|
| | | // const app = getApp<IAppOption>();
|
| | | Page({
|
| | | data: {
|
| | | minStartDate: new Date().getTime() + 1000 * 60 * 20,
|
| | | maxStartDate: new Date().getTime() + 1000 * 60 * 60 * 24 * 180,
|
| | | startDate: 0, //new Date().getTime(),
|
| | | startTime: '',
|
| | | minEndDate: new Date().getTime() + 1000 * 60 * 40,
|
| | | maxEndDate: new Date().getTime() + 1000 * 60 * 60 * 24 * 180,
|
| | | endDate: 0, //new Date().getTime(),
|
| | | endTime: '',
|
| | | formatter(type:string, value:string) {
|
| | | // console.log(type,value)
|
| | | if (type === "year") {
|
| | | return `${value}年`;
|
| | | } else if (type === "month") {
|
| | | return `${value}月`;
|
| | | } else if (type === "day") {
|
| | | return `${value}日`;
|
| | | }
|
| | | return value;
|
| | | },
|
| | | sellerList:[{
|
| | | username:'',
|
| | | usernameError:'',
|
| | | phone:'',
|
| | | phoneError:''
|
| | | }],
|
| | | goodsImgList: [
|
| | | {
|
| | | url: 'http://pic1.win4000.com/wallpaper/2020-02-20/5e4e4db1dfee0.jpg',
|
| | | }
|
| | | ],
|
| | | autosize:{ maxHeight: 120, minHeight: 50 },
|
| | | validatorInstance:{},
|
| | | freeId:0,
|
| | | formId:710804, //功能号:秒杀 710802 , 报名邀约 710803 ,团购 710804
|
| | | formData: {},
|
| | | doccode:'',
|
| | | fromPage:'',
|
| | | delivery:{},
|
| | | feeRateForPay:1,
|
| | | sellerUnCheckedNames:'',
|
| | | coverImageUrl:'',
|
| | | isShowDialog:false
|
| | | },
|
| | | onLoad() {
|
| | | console.log(app);
|
| | | 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();
|
| | | }
|
| | | else {
|
| | | let storeEdit = this.selectComponent('#store-edit');
|
| | | storeEdit.getStoreList();
|
| | | }
|
| | | },
|
| | | afterReadDescImgs(event:any){
|
| | | const { file } = event.detail;
|
| | | console.log(file);
|
| | | // 当设置 mutiple 为 true 时, file 为数组格式,否则为对象格式
|
| | | wx.uploadFile({
|
| | | url: 'https://example.weixin.qq.com/upload', // 仅为示例,非真实的接口地址
|
| | | filePath: file.url,
|
| | | name: 'file',
|
| | | formData: { user: 'test' },
|
| | | success:(res)=> {
|
| | | console.log(res);
|
| | | // 上传完成需要更新 fileList
|
| | | // const { fileList = [] } = this.data;
|
| | | // fileList.push({ ...file, url: res.data });
|
| | | // this.setData({ fileList });
|
| | | async getSaveData() {
|
| | | 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){
|
| | | 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
|
| | | // })
|
| | | // 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;
|
| | | }),
|
| | |
|
| | | 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);
|
| | | // }
|
| | | //
|
| | | // 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: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: 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,
|
| | | // storeList,
|
| | | // 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);
|
| | | // return;
|
| | | }),
|
| | | // 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 {}
|