Ver código fonte

我的模块 意见反馈完成

liude 1 ano atrás
pai
commit
88dbebec16

+ 16 - 0
src/api/client/mine.js

@@ -179,3 +179,19 @@ export function getMyTeam(data) {
     },
   });
 }
+
+
+/**
+ * 意见反馈接口 - 新增意见反馈
+ * @returns
+ */
+export function getFeedback(data) {
+  return request({
+    url: `/maintain/feedback`,
+    method: 'post',
+    data:data,
+    header: {
+      'content-type': 'application/json',
+    },
+  });
+}

+ 6 - 6
src/pages/client/clientPackage/serviceDetail/index.vue

@@ -271,12 +271,12 @@
       },
 
       // 点击购买按钮
-      handlerImmediateBy() {
-        this.$store.commit('order/GET_ORDER_LIST', this.goods);
-        uni.navigateTo({
-          url: `/pages/client/clientPackage/uptickOrder?id=${this.id}`,
-        });
-      },
+      // handlerImmediateBy() {
+      //   this.$store.commit('order/GET_ORDER_LIST', this.goods);
+      //   uni.navigateTo({
+      //     url: `/pages/client/clientPackage/uptickOrder?id=${this.id}`,
+      //   });
+      // },
 
       // 加入购物车
       handlerAddCart() {

+ 7 - 12
src/pages/client/clientPackage/storeDetail.vue

@@ -46,7 +46,7 @@
       <view class="flex evaluate">
         <view class="flex">
           <text style="margin-right: 30rpx">优惠</text>
-          <view class="text_title"> 您有2张8元无门槛券待额 </view>
+          <view class="text_title"> 您有{{ coupons.length }}张购物券可领取 </view>
         </view>
         <view class="flex" @click="openPopup">
           <text class="text_title" style="margin-right: 20rpx">去领取</text>
@@ -62,11 +62,6 @@
 
     <view>
       <view class="list" :key="index" v-for="(item, index) of goods" @click="handlerSkipGoodsDetail(item, index)">
-        <!-- <image class="img" :src="
-		      error || !loaded
-		        ? 'https://cdn.uviewui.com/uview/album/10.jpg'
-		        : goods.logo
-		    " mode="scaleToFill" @click="$Router.push(`/pages/client/clientPackage/storeDetail?id=${item.id}`)"></image> -->
         <image class="img" :src="!Boolean(item.logo) ? '@/static/QR57a.jpg' : item.logo"></image>
         <view class="listDetail">
           <view class="item-text">
@@ -310,12 +305,12 @@
       },
 
       // 购买
-      handlerSkipBuy(item, index) {
-        this.$store.commit('order/GET_ORDER_LIST', item);
-        uni.navigateTo({
-          url: `/pages/client/clientPackage/uptickOrder?ids=${this.ids}`,
-        });
-      },
+      // handlerSkipBuy(item, index) {
+      //   this.$store.commit('order/GET_ORDER_LIST', item);
+      //   uni.navigateTo({
+      //     url: `/pages/client/clientPackage/uptickOrder?ids=${this.ids}`,
+      //   });
+      // },
 
       // 点击选择时间
       handlerSelectTime() {

+ 6 - 11
src/pages/client/clientPackage/uptickOrder.vue

@@ -163,11 +163,12 @@
         let price = 0
         let discountPrice = 0
         let allPrice = 0
-        this.init_list.cartItems.map(rs=>{
-          price += Number( rs.price * rs.quantity )
-          discountPrice += Number( rs.originalPrice * rs.quantity )
-        })
-        allPrice = discountPrice - price
+        // this.init_list.cartItems.map(rs=>{
+        //   price += Number( rs.price * rs.quantity )
+        //   discountPrice += Number( rs.originalPrice * rs.quantity )
+        // })
+        // allPrice = discountPrice - price < 0 ? 0 : discountPrice - price
+        // console.log("@@@@@allPrice",allPrice)
         return { allPrice , price }
       }
     },
@@ -178,8 +179,6 @@
           this.init_list = res.data
           this.handlerInitCouponList(res.data.cartItems)
         })
-
-
       },
       // 初始化优惠券列表
       handlerInitCouponList(cartItems){
@@ -197,9 +196,6 @@
             rs.couponDTO.endTime = changeTime(rs.couponDTO.createTime)
           })
         })
-        // maintainCouponPaging( params ).then(res=>{
-        //   console.log('@@@@res',res)
-        // })
       },
 			// 结算按钮
 			handlerSettleBtn(){
@@ -230,7 +226,6 @@
       },
       // 点击展示优惠券pop
       openCouponshow(){
-        console.log('@@@@')
         this.coupon_show = true
       },
       // 选择优惠券 点击确定按钮

+ 27 - 8
src/pages/client/clientUser/cart/index.vue

@@ -159,16 +159,35 @@
             }
           })
         } else {
-          generateConfirmOrder({
-            cartIds: this.goodsCheckbox,
-            payType: 2
-          }).then(res => {
-            if (res.code == 200) {
-              uni.navigateTo({
-                url: '/pages/client/clientPackage/uptickOrder'
+          let sumbutArray = []
+          this.init_list.map(rs=>{
+            rs.cartItems.map(rc=>{
+              this.goodsCheckbox.map(rd=>{
+                if(rc.id == rd){
+                  sumbutArray.push(rs.id)
+                }
               })
-            }
+            })
           })
+          let a = Array.from(new Set(sumbutArray));
+          if(a.length > 1 ){
+            uni.showToast({
+              title:'不能同时下单多个商家',
+              icon:'none'
+            })
+            return
+          }else{
+            generateConfirmOrder({
+              cartIds: this.goodsCheckbox,
+              payType: 2
+            }).then(res => {
+              if (res.code == 200) {
+                uni.navigateTo({
+                  url: `/pages/client/clientPackage/uptickOrder?ids=${a[0]}`
+                })
+              }
+            })
+          }
         }
       },
       // 修改商品数量

+ 7 - 1
src/pages/client/clientUser/coupon.vue

@@ -33,7 +33,7 @@
       <view class="useRight">
         <view class="text">{{ 10 - item.couponVO.reduce  }}<text>折</text></view>
         <view>折扣</view>
-        <view class="gouUse">去使用</view>
+        <view class="gouUse" @click='handlerToUsed(item)'>去使用</view>
       </view>
     </view>
 
@@ -126,6 +126,12 @@
         this.queryParams.status = e.type;
         this.handlerInitCouponList();
       },
+      // 点击去使用
+      handlerToUsed(item){
+        uni.navigateTo({
+          url:`/pages/client/clientPackage/storeDetail?id=${item.couponVO.merchantId}`
+        })
+      }
     },
   };
 </script>

+ 141 - 47
src/pages/client/clientUser/mine/setting/feedback.vue

@@ -1,58 +1,152 @@
 <template>
-  <view class="feedback-container">
-    <u--textarea class="textarea"  v-model="feedback" maxlength='150'  placeholder="请输入" count ></u--textarea>
+  <view class="container">
+    <view class="top-text">
+      我们一直努力改进应用程序,您的用户体验对我们来说很重要,如果您在使用过程中产生了糟糕的用户体验,您可以将用户意见提交给我们,我们会积极改正。
+    </view>
 
-    <!-- <u-button type="primary" @click="submitFeedback" text="提交反馈"></u-button> -->
-    <button class="feedback-btn" @click="submitFeedback">提交反馈</button>
+    <view class="item-box">
+      <view class="item">
+        <view class="item-title"> <span class="star">*</span> 标题</view>
+        <view class="item-text-box">
+          <u--textarea v-model="queryParams.title" autoHeight placeholder="请输入标题" border='none'></u--textarea>
+        </view>
+      </view>
+
+      <view class="item">
+        <view class="item-title"> <span class="star">*</span> 评论</view>
+        <view class="item-text-box">
+          <u--textarea v-model="queryParams.content" count placeholder="您提出的意见是对我们最大的认可" border='none'></u--textarea>
+        </view>
+      </view>
+
+      <view class="item">
+        <view class="item-title">电话</view>
+        <view class="item-text-box">
+          <u--input placeholder="请输入您的联系方式(选填)" type='number' maxlength='13' border="none"
+            v-model="queryParams.phone"></u--input>
+        </view>
+      </view>
+    </view>
+
+    <view class="btn-box">
+      <button class="btn" @click='handlerSubmitFeedback'>提交反馈</button>
+    </view>
   </view>
 </template>
 
 <script>
-export default {
-  data() {
-    return {
-      feedback: "",
-    };
-  },
-  methods: {
-    submitFeedback() {
-      // 在这里可以添加提交反馈的逻辑,可以使用 uni.request 发送 HTTP 请求
-      console.log("提交反馈:", this.feedback);
-
-      // 提交成功后可以给用户一些提示,例如:
-      uni.showToast({
-        title: "反馈提交成功",
-        icon: "success",
-        duration: 2000,
-      });
-
-      // 清空反馈内容
-      this.feedback = "";
+  import { getFeedback } from "@/api/client/mine.js"
+  export default {
+    data() {
+      return {
+        value1: '',
+        value: '',
+        queryParams: {
+          title: '',
+          content: '',
+          type: 0,
+          phone: '',
+          channel: 0
+        }
+      }
     },
-  },
-};
+    methods: {
+      // 提交反馈意见
+      handlerSubmitFeedback() {
+        if (this.queryParams.title == '') {
+          uni.showToast({
+            title: "请输入标题",
+            icon: 'none'
+          })
+          return
+        } else if (this.queryParams.content == '') {
+          uni.showToast({
+            title: "评论内容",
+            icon: 'none'
+          })
+          return
+        } else {
+          getFeedback(this.queryParams).then(res => {
+            if (res.code == 200) {
+              uni.showToast({
+                title: "反馈成功",
+                icon: 'none'
+              })
+              setTimeout(() => {
+                uni.navigateBack(-1)
+              },1500)
+            }else{
+              uni.showToast({
+                title: res.msg,
+                icon: 'none'
+              })
+              return
+            }
+          })
+        }
+      }
+    }
+  }
 </script>
 
-<style scoped>
-.feedback-container {
-  padding: 20px;
-}
-
-.u-textarea {
-  height: 150px;
-  border: 1px solid;
-  margin-bottom: 10px;
-}
-
-/* .u-button {
-  width: 100%;
-  border-radius: 15rpx;
-  margin-top: 30rpx;
-} */
-  .feedback-btn {
-    background-color: #5992bb;
-    color: #fff;
-    font-size: 28rpx;
-    margin-top: 20rpx;
+<style lang="scss" scoped>
+  .container {
+    padding: 20rpx;
+    box-sizing: border-box;
+
+    .top-text {
+      color: #999999;
+      font-size: 32rpx;
+      padding: 40rpx;
+      box-sizing: border-box;
+    }
+
+    .item-box,
+    .btn-box {
+      padding: 40rpx;
+      box-sizing: border-box;
+
+      .item {
+        margin-bottom: 40rpx;
+
+        .item-title {
+          color: #999999;
+          font-weight: 32rpx;
+          font-weight: bold;
+          margin-bottom: 20rpx;
+
+          .star {
+            color: #EA512F;
+          }
+        }
+
+        .item-text-box {
+          background-color: #FAFAFA;
+          padding: 20rpx;
+          border-radius: 20rpx;
+          box-shadow: 0 5rpx 15rpx 0 rgba(225, 225, 225, 0.9);
+        }
+      }
+    }
+
+    .btn-box {
+      .btn {
+        background-color: #80AB3F;
+        border-radius: 20rpx;
+        text-align: center;
+        font-size: 32rpx;
+        color: #fff;
+        height: 80rpx;
+        box-shadow: 0 5rpx 15rpx 0 rgba(128, 171, 63, 0.6);
+      }
+    }
+  }
+
+  ::v-deep .u-textarea {
+    background-color: #FAFAFA !important;
+  }
+
+  ::v-deep .u-textarea__count.data-v-09988a29 {
+    background-color: #FAFAFA !important;
   }
 </style>

+ 6 - 6
src/pages/client/tabBar/community/index.vue

@@ -149,9 +149,9 @@
 <style lang="scss" scoped>
 	.container {
 		background-color: #F8F8F8;
-		min-height: calc(100vh - 140rpx);
-		padding: 0 0 40rpx;
-    box-sizing: border-box;
+		min-height: calc(100vh);
+		// padding: 0 0 40rpx;
+  //   box-sizing: border-box;
 		.top {
 			height: 100rpx;
 		}
@@ -257,7 +257,7 @@
 		}
 	}
 
-  ::v-deep .u-safe-area-inset-bottom{
-  	padding-bottom: 0;
-  }
+  // ::v-deep .u-safe-area-inset-bottom{
+  // 	padding-bottom: 0;
+  // }
 </style>