Sfoglia il codice sorgente

Merge branch 'skk/feat/welfare-mall' into jeffrey/feat/coupon-center

# Conflicts:
#	api/welfareMall.js
xing.li 3 anni fa
parent
commit
6f69a11ac7

+ 14 - 0
api/upload.js

@@ -0,0 +1,14 @@
+import request from '../utils/request.js'
+
+class Upload extends request {
+
+  /**
+   * 图片上传到金山云
+   */
+  static uploadPic() {
+    return `${this.BASE_URL}open/upload/upload-pic`;
+  }
+
+}
+
+export default Upload

+ 34 - 3
api/welfareMall.js

@@ -51,6 +51,37 @@ class WelfareMall extends request {
     return this.postRequest(`${this.BASE_URL}open/welfare-mall/order/get-refund-order-status`, params);
   }
 
+  /**
+   * 添加反馈
+   */
+  static feedBackAdd(params) {
+    return this.postRequest(`${this.BASE_URL}open/welfare-mall/add-feedback`, params);
+  }
+
+  /**
+   * 福利社
+   * 获取购买优惠券个数
+   */
+  static async getUserBuyCouponNum(params) {
+    return this.postRequest(`${this.BASE_URL}open/welfare-mall/user-buy-coupon-num`, params);
+  }
+
+  /**
+   * 签到
+   * 获取购买优惠券个数
+   */
+  static async getUserAwardCouponNum(params) {
+    return this.postRequest(`${this.BASE_URL}open/sign-in/user-award-coupon-num`, params);
+  }
+
+  /**
+   * 抽奖
+   * 获取购买优惠券个数
+   */
+  static async getUserDrawCouponNum(params) {
+    return this.postRequest(`${this.BASE_URL}open/luck-draw/user-draw-coupon-num`, params);
+  }
+
    /**
    * 获取首页信息
    */
@@ -80,7 +111,7 @@ class WelfareMall extends request {
     return this.postRequest(`${this.BASE_URL}open/welfare-mall/activity/detail`, params);
   }
 
-  
+
        /**
    * 创建订单
    */
@@ -109,9 +140,9 @@ class WelfareMall extends request {
 
 
 
-  
 
-  
+
+
 
 }
 

+ 95 - 29
pages/welfareMall/feedback/feedback.js

@@ -1,4 +1,7 @@
 // pages/welfareMall/feedback/feedback.js
+import WelfareMall from '../../../api/welfareMall'
+import Upload from '../../../api/upload'
+import {getMobileCache, getPhoneNumber as getPhoneNumberSync} from '../../../utils/user'
 Page({
 
   /**
@@ -7,48 +10,76 @@ Page({
   data: {
     t_length: 0,
     avatarUrl: [],
-    chooseViewShowBanner: true
+    avatarUrlShow: [],
+    chooseViewShowBanner: true,
+    content: '',
+    basePath: '',
   },
 
   bindText: function (e) {
     var t_text = e.detail.value.length;
-    // console.log(t_text)
+    var text = e.detail.value;
     this.setData({
-      t_length: t_text
+      t_length: t_text,
+      content: text,
     }) 
   },
 
    /** 图片选择 */
    bindViewTap: function(){
     var that = this;
-    if(this.data.avatarUrl.length < 4){
-      wx.chooseImage({
+    if(this.data.avatarUrlShow.length < 4){
+       wx.chooseImage({
         // 设置最多可以选择的图片张数,默认9,如果我们设置了多张,那么接收时//就不在是单个变量了,
-         count: 4, 
+         count: 1, 
          sizeType: ['original', 'compressed'], // original 原图,compressed 压缩图,默认二者都有
          sourceType: ['album', 'camera'], // album 从相册选图,camera 使用相机,默认二者都有
          success: function(res){
           // 获取成功,将获取到的地址赋值给临时变量
-          console.log(res.tempFilePaths);
+          console.log(res);
           if (res.tempFilePaths.count == 0) {
             return;
           }
-          //上传图片
-          var imgArrNow = that.data.avatarUrl;
-          imgArrNow = imgArrNow.concat(res.tempFilePaths);
-          if(that.data.avatarUrl.length +res.tempFilePaths.length > 4){
-            wx.showToast({
-              title: '最多添加4张图片',
-              icon: 'none',
-              duration: 1500
-            })
-            return
-          }
-          that.setData({
-          //将临时变量赋值给已经在data中定义好的变量
-           avatarUrl:imgArrNow
+          //图片上传到金山云
+          var tempFilePaths = res.tempFilePaths
+          
+          wx.uploadFile({
+            url: Upload.uploadPic(),
+            filePath: tempFilePaths[0],
+            name: 'file',
+            formData:{
+              'basePath':'welfareMall',
+            },
+            success: function (res) {
+              //提交路径
+              var urlImg = JSON.parse(res.data).data.url;
+              //展示路径
+              var destPath = JSON.parse(res.data).data.destPath;
+
+              var imgArrNow = that.data.avatarUrl;
+              var imgArrNowShow = that.data.avatarUrlShow;
+              imgArrNow.push(urlImg);
+              imgArrNowShow.push(destPath);
+              if(that.data.avatarUrlShow.length  > 4){
+                wx.showToast({
+                  title: '最多添加4张图片',
+                  icon: 'none',
+                  duration: 1500
+                })
+                return
+              }
+              that.setData({
+              //将临时变量赋值给已经在data中定义好的变量
+              avatarUrl:imgArrNow,
+              avatarUrlShow:imgArrNowShow
+              })
+              that.chooseViewShowBanner();
+            },
+            fail: function(err) {
+              console.log(err);
+            },
           })
-          that.chooseViewShowBanner();
+          
          },
          fail: function(res) {
           // fail
@@ -66,13 +97,14 @@ Page({
     }
    },
 
+   
    /** 删除图片Banner */
   deleteImvBanner: function(e) {
-    var avatarUrl = this.data.avatarUrl;
+    var avatarUrlShow = this.data.avatarUrlShow;
     var itemIndex = e.currentTarget.dataset.id;
-    avatarUrl.splice(itemIndex, 1);
+    avatarUrlShow.splice(itemIndex, 1);
     this.setData({
-      avatarUrl: avatarUrl
+      avatarUrlShow: avatarUrlShow
     })
     //判断是否隐藏选择图片
     this.chooseViewShowBanner();
@@ -80,7 +112,7 @@ Page({
 
    /** 是否隐藏图片选择Banner*/
    chooseViewShowBanner: function() {
-    if (this.data.avatarUrl.length >= 4) {
+    if (this.data.avatarUrlShow.length > 3) {
       this.setData({
         chooseViewShowBanner: false
       })
@@ -97,15 +129,49 @@ Page({
     //获取当前图片的下标
       index = e.currentTarget.dataset.index,
       //数据源
-      avatarUrl = this.data.avatarUrl;
+      avatarUrlShow = this.data.avatarUrlShow;
     wx.previewImage({
     //当前显示下标
-     current: avatarUrl[index],
+     current: avatarUrlShow[index],
      //数据源
-     urls: avatarUrl
+     urls: avatarUrlShow
     })
    },
 
+   /**
+    * 提交
+    */
+   toSubmit: function() {
+     if(this.data.content == null || this.data.content == '' || this.data.content == undefined){
+      wx.showToast({
+        title: '意见内容必填',
+        icon: 'none',
+        duration: 1500
+      })
+      return
+     }
+    WelfareMall.feedBackAdd({
+      mobile: getMobileCache(),
+      photoList: this.data.avatarUrl,
+      content: this.data.content,
+    }).then(res => {
+        if (res.code == 200) {
+          wx.showToast({
+            title: '反馈意见提交成功',
+            icon: 'none',
+            duration: 1500
+          });
+          wx.switchTab({
+            url: "../personal/personal"
+          })
+        }
+        this.data.lock = false
+    }).catch(_ => {
+        console.log(_)
+        this.data.lock = false
+    })
+  },
+
   /**
    * 生命周期函数--监听页面加载
    */

+ 2 - 2
pages/welfareMall/feedback/feedback.wxml

@@ -15,7 +15,7 @@
     </view>
     <view class="explain-img flex-row">
       <!--这个是已经选好的图片-->
-      <view class="explain-img-style flex-column" wx:for="{{avatarUrl}}" wx:key="key" data-index="{{index}}" bindtap="previewImage">
+      <view class="explain-img-style flex-column" wx:for="{{avatarUrlShow}}" wx:key="key" data-index="{{index}}" bindtap="previewImage">
         <view class="close-img-style flex-row">
           <image class="close-img" src="" mode="scaleToFill" catchtap="deleteImvBanner" data-id="{{index}}" src="/images/welfareMall/toDelete.png"></image>
         </view>
@@ -31,7 +31,7 @@
         </view>
       </view>
     </view>
-    <view class="lower-submit flex-row">
+    <view class="lower-submit flex-row" catchtap="toSubmit">
       <view class="order-refund flex-row">
         <view class="lower-order-text">提交</view>
       </view>

+ 3 - 2
pages/welfareMall/feedback/feedback.wxss

@@ -71,14 +71,15 @@ textarea{
 }
 
 .explain-img{
-  width: 659rpx;
+  width: 662rpx;
   height: 180rpx;
-  justify-content: space-between;
+  justify-content: flex-start;
 }
 
 .explain-img-style{
   width: 160rpx;
   height: 180rpx;
+  margin-right: 8rpx;
 }
 
 .explain-img-preview{

+ 1 - 1
pages/welfareMall/order/orderCompletion.js

@@ -147,7 +147,7 @@ Page({
   },
 
   /**
-   * 取消
+   * 申请退款
    */
   getMode: function(){
     this.setData({

+ 33 - 6
pages/welfareMall/personal/personal.js

@@ -1,4 +1,5 @@
 // pages/welfareMall/personal/personal.js
+import WelfareMall from '../../../api/welfareMall'
 import {getMobileCache, getPhoneNumber as getPhoneNumberSync} from '../../../utils/user'
 Page({
 
@@ -8,29 +9,55 @@ Page({
   data: {
     isLogin: false,
     mobileTop: 'TONY WU',
-
+    countNum: 0,
   },
 
   /**
    * 生命周期函数--监听页面加载
    */
-  onLoad: function (options) {
+  onLoad: async function (options) {
     this.setData({
       isLogin: getMobileCache() != '',
       mobileTop: getMobileCache(),
-  })
+    })
+
+    if(this.data.isLogin){
+      let nums = await this.getCountNum();
+      this.setData({
+        countNum: nums,
+      })
+    }
 
   },
 
+  getCountNum: async function(){
+  /**
+   * 福利社
+   */
+    let resBuy = await WelfareMall.getUserBuyCouponNum({
+      mobile: getMobileCache(),
+    });
+    let resAward = await  WelfareMall.getUserAwardCouponNum({
+      mobile: getMobileCache(),
+    });
+    let resDraw = await  WelfareMall.getUserDrawCouponNum({
+      mobile: getMobileCache(),
+    });
+    let nums = Number(resBuy.data.notUseNum)+Number(resAward.data.notUseNum)+Number(resDraw.data.notUseNum)
+    return nums;
+  },
+
   // 授权手机号
   getPhoneNumber(e) {
-    getPhoneNumberSync(e, _ => {
+    getPhoneNumberSync(e, async () => {
+        let nums = await this.getCountNum();
         this.setData({
             isLogin: true,
             mobileTop: getMobileCache(),
-        })
+            countNum: nums,
+        })       
     })
-},
+  },
 
   toHistorical(e) {
       const url = "../historical/historical?id=" + e.currentTarget.dataset.id

+ 1 - 1
pages/welfareMall/personal/personal.wxml

@@ -10,7 +10,7 @@
     <view class="head-card flex-row">
       <view class="head-card-coupon">我的优惠券</view>
       <view class="head-card-nt flex-row">
-        <view class="head-card-num">0</view>
+        <view class="head-card-num">{{countNum}}</view>
         <view class="head-card-text">张</view>
       </view>
     </view>