Sanakey
2021-07-09 3fc241d02fb8b671289de3d9d80bf848349c04d4
提交 | 用户 | age
3fc241 1
S 2 const getSaveData = async (_this:any) =>{
3   let formId: any = _this.data.formId;
4   let doccode = _this.data.doccode;
5   let [error, result] = await wx.$utils.to(
6     wx.$http.request({
7       url:`/shopping/panicBuying.do?m=getPanicBuyingDetail`,
8       data:{
9         doccode,
10         isEdit:true,
11         SellerOpenId:wx.globalData.OpenId
12       }
13     })
14   )
15   if (error){
16     console.log(error);
17     return;
18   }
19   console.log(result);
20   let data = result.list[0];
21   let formData:any = {
22     promotionsTitle: data.title,
23     promotionDescription: data.description,
24     startTime: data.effectiveStartDate,
25     endTime: data.effectiveEndDate,
26     coverImageList: (data.coverImageUrl&&_this.getCoverImageList(data))||[],
27     // imagesList: (data.imagesUrl.length>0&&_this.getImagesList(data))||[],
28     imagesList: data.imagesUrl,
29     coverImage: data.coverImage,
30     images: data.images,
31     freeId:data.freeId,
32   };
33   if (formId==710802){
34     formData.originalPrice=data.originalPrice;
35     formData.flashSalePrice= data.salesPrice;
36     formData.flashSaleTotal= data.quantity;
37     formData.flashSaleLimit= data.restrictBuyingQuantity;
38   }
39   if (formId==710803){
40     formData.originalPrice=data.salesPrice;
41   }
42   if (formId==710804){
43     formData.originalPrice=data.originalPrice;
44     formData.flashSalePrice= data.salesPrice;
45     formData.flashSaleTotal= data.numberOfTeam;
46   }
47   _this.setData({
48     ...formData,
49     coverImageUrl:data.coverImageUrl,
50     // [`effectiveStartDate`]: data.effectiveStartDate,
51     // [`effectiveEndDate`]: data.effectiveEndDate,
52     // [`freeId`]: data.freeId,
53     // [`title`]: data.title,
54     // [`originalPrice`]: data.originalPrice,
55     // [`salesPrice`]: data.salesPrice,
56     // [`quantity`]: data.quantity,
57     // [`restrictBuyingQuantity`]: data.restrictBuyingQuantity,
58     // [`description`]: data.description,
59     sellerList:result.sellerList,
60     storeList:result.storeList,
61     status:data.panicBuyingStatus,
62     delivery:{
63       freeId:data.freeId,
64       freeName:data.freeName,
65       isRequiredAddress:data.isRequiredAddress,
66       transCosts:data.transCosts,
67     }
68   });
69   console.log('配送数据。。。',_this.data.delivery);
70   wx.setNavigationBarTitle({
71     title: data.title
72   })
73 }
74
75 const postFormData = async (_this:any,data:object) =>{
76   let [error, res] = await wx.$utils.to(
77     wx.$http.request({
78       url:'/shopping/panicBuying.do?m=saveDocCode',
79       data,
80       method:'POST'
81     })
82   )
83   if (error) {
84     console.log(error);
85     return false;
86   }
87   console.log(res);
88   if (res.state === 'success') {
89     wx.showToast({
90       title: '成功',
91       duration: 2000
92     })
93     _this.setData({
94       doccode:res.DocCode
95     })
96     // console.log('活动单号',_this.data.formData);
97   }
98   if (res.state === 'failed'&&res.sellerCheckedBalance>0) {
99     _this.setData({
100       sellerUnCheckedNames: res.sellerUnCheckedNames,
101       isShowDialog: true
102     })
103   }
104   return res.state === 'success';
105 }
106 const promotionsSubmitHandler = async (_this:any,validatorInstance:any) =>{
107   // let {_this,validatorInstance} = obj;
108   let formData: any = _this.data;
109   let type = {
110     710802: 1, //秒杀
111     710803: 2, //报名
112     710804: 3, //团购
113   }
114   let timeQuantum = _this.selectComponent('#time-quantum');
115   let sellerEdit = _this.selectComponent('#seller-edit');
116   let storeEdit = _this.selectComponent('#store-edit');
117   let fileUploader = _this.selectComponent('#file-uploader');
118   let fileUploaderMultiple = _this.selectComponent('#file-uploader-multiple');
119
120   let checkTransCosts = true;
121   let transCosts = 0;
122   if (formData.formId==710802||formData.formId==710804){
123     let deliveryMethod = _this.selectComponent('#delivery-method');
124     if (deliveryMethod.data.isRequiredAddress){
125       checkTransCosts = deliveryMethod.checkFields();
126       transCosts = Number(deliveryMethod.data.transCosts);
127     }
128   }
129
130   console.log(timeQuantum);
131
132   let checkStartTime = timeQuantum.checkTime("startTime");
133   let checkEndTime = timeQuantum.checkTime("endTime");
134   let checkCoverImage = fileUploader.checkImages("coverImage", "请上传一张封面图");
135   // let checkImages = fileUploaderMultiple.checkImages("images", "请至少上传一张图片");
136   let checkAllData = validatorInstance.checkAllData();
137   // if (_this.data.goodsImgList.length < 1) {
138   //   console.log('请上传产品图片');
139   // }
140   let sellerList = sellerEdit.getSellerList();
141   if (sellerList.length<1) {
142     wx.showToast({
143       title: '请选择营销人员',
144       icon: 'none',
145       duration: 2000
146     })
147     return
148   }
149   let storeList = storeEdit.getSelectedStoreIdList();
150   console.log('待提交的门店id',storeList);
151   let checkDefaultSeller = sellerEdit.checkDefaultSeller();
152   if (!checkDefaultSeller) {
153     wx.showToast({
154       title: '请选择默认营销人员',
155       icon: 'none',
156       duration: 2000
157     })
158     return
159   }
160   console.log('checkDefaultSeller',checkDefaultSeller);
161   let checkArr = [checkTransCosts,checkStartTime,checkEndTime,checkCoverImage,checkAllData];
162   let data = {} as any;
163   if (checkArr.every((item)=>{
164     return item
165   })){
166     console.log('....提交成功');
167     let coverImage = fileUploader.getCoverImageUnid();
168     let coverImageUrl = fileUploader.getImgList()[0].url||'';
169     _this.setData({
170       coverImageUrl
171     })
172     let images = fileUploaderMultiple.getImagesUnid();
173     console.log(coverImage,images,coverImageUrl);
174     let selectedTime = timeQuantum.getSelectedTime();
175     data = {
176       docCode: formData.doccode, //活动单号,新建活动时为空值,编辑时需要doccode值
177       formId: formData.formId, //功能号:秒杀 710802 , 报名邀约 710803 ,团购 710804
178       docStatus:100, //单据状态: 0 保存(起草) ,100 发布
179       coverImage,
180       images,
181       // ..._this.data.formData,
182
183       effectiveStartDate: formData.startTime || selectedTime.startTime,
184       effectiveEndDate: formData.endTime  || selectedTime.endTime,
185       freeId: formData.freeId,
186       title: formData.promotionsTitle,
187       description: formData.promotionDescription||'',
188       storeList,
189       sellerList,
190     }
191     if (formData.formId==710802){
192       data.transCosts = transCosts;
193       data.originalPrice=Number(formData.originalPrice);
194       data.quantity = Number(formData.flashSaleTotal);
195       data.salesPrice = Number(formData.flashSalePrice);
196       data.restrictBuyingQuantity= Number(formData.flashSaleLimit);
197     }
198     if (formData.formId==710803){
199       data.salesPrice = Number(formData.originalPrice);
200     }
201     if (formData.formId==710804){
202       data.transCosts = transCosts;
203       data.originalPrice=Number(formData.originalPrice);
204       data.salesPrice = Number(formData.flashSalePrice);
205       data.numberOfTeam= Number(formData.flashSaleTotal)
206     }
207     console.log('待发布数据',data);
208     if (!await postFormData(_this,data)) return;
209     if (_this.data.fromPage=='edit'){
210       wx.navigateBack();
211     } else{
212       wx.redirectTo({
213         // @ts-ignore
214         url:`../promotionsManageList/promotionsManageList?tab=${type[formData.formId]}`
215       })
216     }
217   } else {
218     console.log('还有错误未处理');
219     if (!checkCoverImage) {
220       wx.$utils.scrollToError('#file-uploader','请上传一张封面图')
221       return;
222     }
223     if (!checkAllData) {
224       let rules = validatorInstance.getRulers();
225       for (const rule of rules) {
226         // @ts-ignore
227         let errorMsg = _this.data[`${rule}Error`];
228         if (errorMsg){
229           wx.$utils.scrollToError(`#${rule}`,errorMsg)
230           break;
231         }
232       }
233       return;
234     }
235     if (!checkStartTime){
236       wx.$utils.scrollToError('#time-quantum','开始时间需小于结束时间');
237     }
238
239   }
240 }
241
242 const promotionsSaveHandler = async (_this:any) =>{
243   let formData: any = _this.data;
244   // let type = {
245   //   710802: 1, //秒杀
246   //   710803: 2, //报名
247   //   710804: 3, //团购
248   // }
249   let timeQuantum = _this.selectComponent('#time-quantum');
250   let sellerEdit = _this.selectComponent('#seller-edit');
251   let sellerList = sellerEdit.getSellerList();
252   let storeEdit = _this.selectComponent('#store-edit');
253   let storeList = storeEdit.getSelectedStoreIdList();
254   console.log('待提交的门店id',storeList);
255   let fileUploader = _this.selectComponent('#file-uploader');
256   let fileUploaderMultiple = _this.selectComponent('#file-uploader-multiple');
257   console.log('....提交成功');
258   let coverImage = fileUploader.getCoverImageUnid();
259   let images = fileUploaderMultiple.getImagesUnid();
260
261   let transCosts = 0;
262   if (formData.formId==710802||formData.formId==710804){
263     let deliveryMethod = _this.selectComponent('#delivery-method');
264     if (deliveryMethod.data.isRequiredAddress){
265       transCosts = Number(deliveryMethod.data.transCosts);
266     }
267   }
268   console.log(coverImage,images);
269   let selectedTime = timeQuantum.getSelectedTime();
270   let data:any = {
271     docCode: formData.doccode, //活动单号,新建活动时为空值,编辑时需要doccode值
272     formId: formData.formId, //功能号:秒杀 710802 , 报名邀约 710803 ,团购 710804
273     docStatus: 0, //单据状态: 0 保存(起草) ,100 发布
274     coverImage,
275     images,
276     // ..._this.data.formData,
277
278     effectiveStartDate: formData.startTime || selectedTime.startTime,
279     effectiveEndDate: formData.endTime  || selectedTime.endTime,
280     freeId: formData.freeId,
281     title: formData.promotionsTitle,
282     description: formData.promotionDescription,
283     storeList,
284     sellerList,
285   }
286   if (formData.formId==710802){
287     data.transCosts = transCosts;
288     data.originalPrice=Number(formData.originalPrice)||0;
289     data.quantity = Number(formData.flashSaleTotal)||0;
290     data.salesPrice = Number(formData.flashSalePrice)||0;
291     data.restrictBuyingQuantity= Number(formData.flashSaleLimit)||0;
292   }
293   if (formData.formId==710803){
294     data.salesPrice = Number(formData.originalPrice)||0;
295   }
296   if (formData.formId==710804){
297     data.transCosts = transCosts;
298     data.originalPrice=Number(formData.originalPrice)||0;
299     data.salesPrice = Number(formData.flashSalePrice)||0;
300     data.numberOfTeam= Number(formData.flashSaleTotal)||0
301   }
302   console.log('待保存数据',data);
303   if (!await postFormData(_this,data)) return;
304   wx.showModal({
305     title: '提示',
306     content: '保存成功',
307     confirmText:'前往预览',
308     cancelText:'留在此处',
309     success (res) {
310       if (res.confirm) {
311         console.log('用户点击确定')
312         wx.redirectTo({
313           url:`/pages/detail/detail?from=promotionsDraft&doccode=${_this.data.doccode}`
314         })
315       } else if (res.cancel) {
316         console.log('用户点击取消')
317       }
318     }
319   })
320   return;
321 }
322 export {
323   promotionsSubmitHandler,
324   promotionsSaveHandler,
325   getSaveData
326 }