15102826049 1 bulan lalu
induk
melakukan
ce6c04375d

+ 2 - 0
.env.development

@@ -12,5 +12,7 @@ VITE_CLI_BABEL_TRANSPILE_MODULES = true
 
 # VITE_API_URL=http://192.168.168.104:8090
 VITE_API_URL=https://test-coupon.qiuyutech.com.cn/stage-api
+
+# VITE_API_URL=http://192.168.168.120:8080
 # VITE_API_URL=https://coupon.qiuyutech.com.cn/prod-api
 

+ 2 - 2
.env.production

@@ -6,5 +6,5 @@ VITE_NODE_ENV = production
 # 若依管理系统/生产环境
 VITE_APP_BASE_API = '/prod-api'
 
-VITE_API_URL=https://test-coupon.qiuyutech.com.cn/stage-api
-# VITE_API_URL=https://coupon.qiuyutech.com.cn/prod-api
+# VITE_API_URL=https://test-coupon.qiuyutech.com.cn/stage-api
+VITE_API_URL=https://coupon.qiuyutech.com.cn/prod-api

+ 28 - 1
src/pagesOne/claim/uploadRecept.vue

@@ -5,6 +5,16 @@
       title="微信支付账单详情图片"
       @success="handleBill"
     ></custom-upload>
+    <view class="remark">
+      <view class="tBox"><text class="xing">*</text><text>申请理由</text></view>
+      <view class="inputBox">
+        <!-- <input type="text" /> -->
+        <wd-textarea
+          v-model="queryParams.applyReason"
+          placeholder="请填写申请理由"
+        />
+      </view>
+    </view>
   </view>
   <wd-gap bg-color="#fff" height="256rpx"></wd-gap>
   <view class="btn" @click="onSubmit">立即上传</view>
@@ -26,6 +36,7 @@ const queryParams: Claim = reactive({
   openid: uni.getStorageSync("openid"),
   paymentBillImage: "",
   receiptImage: "",
+  applyReason: "",
 });
 const handleRecept = (val: Array<string>) => {
   console.log(val);
@@ -105,6 +116,22 @@ onLoad(() => {
 <style lang="scss" scoped>
 .uploadReceptBox {
   min-height: 100vh;
+  .remark {
+    padding: 0 32rpx;
+    .tBox {
+      color: #333333;
+      font-size: 32rpx;
+      font-weight: bold;
+      margin-bottom: 32rpx;
+      .xing {
+        color: #e90308;
+      }
+    }
+
+    .inputBox {
+      border: rgba(191, 200, 219, 0.5) 2rpx solid;
+    }
+  }
 }
 .btn {
   width: 560rpx;
@@ -121,7 +148,7 @@ onLoad(() => {
   left: 0;
   right: 0;
   margin: auto;
-  bottom: 153rpx;
+  bottom: 103rpx;
   z-index: 99;
 }
 </style>

+ 87 - 0
src/pagesOne/winner/components/goodsPopup.vue

@@ -0,0 +1,87 @@
+<template>
+  <view class="goodsPopup">
+    <wd-popup
+      v-model="props.show"
+      custom-style="height: 880rpx;width:686rpx;background: transparent;"
+      @close="handleClose"
+    >
+      <view class="content">
+        <view v-if="!list || !list.length" class="none">暂无商品明细</view>
+        <scroll-view
+          v-else
+          scroll-y
+          class="list"
+          @scrolltolower="scrolltolower"
+        >
+          <view v-for="item in list" :key="item.identify" class="goods">
+            <view>{{ item.productName }}</view>
+            <view>{{ item.internalBarcode }}</view>
+          </view>
+        </scroll-view>
+      </view>
+    </wd-popup>
+  </view>
+</template>
+
+<script lang="ts" setup>
+import { useDraw } from "@/hooks/useDraw";
+
+const props = defineProps({
+  show: {
+    type: Boolean,
+    default: false,
+  },
+  list: {
+    type: Array<any>,
+    default: () => [],
+  },
+});
+const emit = defineEmits(["update:show", "scrolltolower"]);
+
+const { handleClose, onPayment, isWithDraw } = useDraw(props, emit);
+const scrolltolower = () => {
+  emit("scrolltolower");
+};
+</script>
+
+<style lang="scss" scoped>
+.goodsPopup {
+  .content {
+    height: 798rpx;
+    width: 686rpx;
+    background: url("https://qiuyu-daodian.oss-cn-beijing.aliyuncs.com/images/goodsBg1.png")
+      no-repeat center;
+    background-size: 100% 90%;
+
+    padding: 44rpx;
+    box-sizing: border-box;
+    color: #666;
+    font-size: 28rpx;
+    .none {
+      display: flex;
+      align-items: center;
+      justify-content: center;
+      height: 100%;
+      width: 100%;
+    }
+    .list {
+      height: 555rpx;
+      margin-top: 60rpx;
+    }
+    .goods {
+      height: 144rpx;
+      width: 100%;
+      display: flex;
+      flex-direction: column;
+      justify-content: center;
+      border-bottom: rgba(191, 200, 219, 0.5) 2rpx solid;
+      > view {
+        white-space: nowrap;
+        overflow: hidden;
+        text-overflow: ellipsis;
+        line-height: 35rpx;
+      }
+    }
+  }
+}
+</style>

+ 16 - 16
src/pagesOne/winner/components/winRecordPopup.vue

@@ -6,12 +6,12 @@
       @close="handleClose"
     >
       <view class="content">
-				<view style="padding-top: 128rpx;">
+        <!-- <view style="padding-top: 128rpx;">
 					<view class="head-notice">
 						<image class="notice-img" src="https://qiuyu-daodian.oss-cn-beijing.aliyuncs.com/images/expox-icon.png" mode=""></image>
 						请在 24 小时内确认收款!超时将失效需重新提交审核!
 					</view>
-				</view>
+				</view> -->
         <scroll-view class="list" scroll-y @scrolltolower="scrolltolower">
           <view>
             <view v-for="item in list" :key="item.id" class="record">
@@ -63,20 +63,20 @@ const scrolltolower = () => {
 </script>
 
 <style lang="scss" scoped>
-	.head-notice {
-			background: rgba(255, 59, 29, .1);
-			padding: 16rpx;
-			color: #FF3B1D;
-			font-size: 24rpx;
-			width: 85%;
-			margin: 0 auto;
-			.notice-img {
-				width: 32rpx;
-				height: 32rpx;
-				vertical-align: sub;
-				margin-right: 8rpx;
-			}
-		}
+.head-notice {
+  background: rgba(255, 59, 29, 0.1);
+  padding: 16rpx;
+  color: #ff3b1d;
+  font-size: 24rpx;
+  width: 85%;
+  margin: 0 auto;
+  .notice-img {
+    width: 32rpx;
+    height: 32rpx;
+    vertical-align: sub;
+    margin-right: 8rpx;
+  }
+}
 .winRecordPopup {
   .content {
     height: 798rpx;

+ 36 - 7
src/pagesOne/winner/index.vue

@@ -57,7 +57,12 @@
           <text class="bigTitle title">商品列表</text>
         </view>
         <view class="goodsList">
-          <view v-for="item in list" :key="item.id" class="goodsItem">
+          <view
+            v-for="item in list"
+            :key="item.id"
+            class="goodsItem"
+            @click="getGoodsList(item)"
+          >
             <text class="money">{{ item.cashbackAmount }}元</text>
             <text class="content"
               >满{{ item.thresholdAmount }}返{{ item.cashbackAmount }}</text
@@ -88,6 +93,7 @@
       v-model:show="showDesc"
       :description="aData.description"
     ></activity-desc-popup>
+    <goods-popup v-model:show="showGoods" :list="goodsList"></goods-popup>
   </view>
 </template>
 
@@ -102,6 +108,7 @@ import UploadReceptPopop from "./components/uploadReceptPopop.vue";
 import WinRecordPopup from "./components/winRecordPopup.vue";
 import UploadRecordPopup from "./components/uploadRecordPopup.vue";
 import ActivityDescPopup from "./components/activityDescPopup.vue";
+import GoodsPopup from "./components/goodsPopup.vue";
 import {
   getActivity,
   rewardList,
@@ -114,6 +121,7 @@ let showUpload = ref<boolean>(false);
 let showWiner = ref<boolean>(false);
 let showRecord = ref<boolean>(false);
 let showDesc = ref<boolean>(false);
+let showGoods = ref<boolean>(false);
 // const appid = uni.getStorageSync("appid");
 const backImage = ref<string>("");
 // const statusBarHeight = uni.getWindowInfo().statusBarHeight * 2;
@@ -138,6 +146,12 @@ const winParams = reactive({
   currentPage: 1,
 });
 
+const goodsParams = reactive({
+  pageSize: 10,
+  pageNum: 1,
+  currentPage: 1,
+});
+
 const getList = () => {
   const appid = uni.getAccountInfoSync().miniProgram.appId;
   getActivity(appid)
@@ -164,6 +178,21 @@ const getList = () => {
     });
 };
 
+const goodsList: any = ref([]);
+
+const getGoodsList = (data: any) => {
+  goodsList.value = data.products;
+  showGoods.value = true;
+  // rewardList({
+  //   openid: uni.getStorageSync("openid"),
+  //   marketingActivityId: aData.id,
+  //   ...goodsParams,
+  // }).then((res: any) => {
+  //   goodsParams.currentPage = Math.ceil(res.total / goodsParams.pageSize);
+  //   goodsList.value = [...goodsList.value, ...res.rows];
+  // });
+};
+
 const rewardData: any = ref([]);
 //获取上传记录
 const getRewardList = () => {
@@ -338,12 +367,12 @@ onLoad(() => {
 </script>
 
 <style lang="scss" scoped>
-	::v-deep .uni-noticebar {
-		width: 478rpx!important;
-		background-color: transparent!important;
-		padding: 0!important;
-		margin-bottom: 0!important;
-	}
+::v-deep .uni-noticebar {
+  width: 478rpx !important;
+  background-color: transparent !important;
+  padding: 0 !important;
+  margin-bottom: 0 !important;
+}
 .winnerContent {
   width: 100%;
   min-height: 2524rpx;

+ 1 - 0
src/services/interface.ts

@@ -18,4 +18,5 @@ export interface Claim {
   openid: string;
   paymentBillImage: string;
   receiptImage: string;
+  applyReason: string;
 }