Przeglądaj źródła

mall:优惠券发送优化

owen 1 rok temu
rodzic
commit
76c4644b4b

+ 0 - 8
src/api/mall/promotion/coupon/couponTemplate.ts

@@ -73,14 +73,6 @@ export function getCouponTemplatePage(params: PageParam) {
   })
 }
 
-// 获得可用于领取的优惠劵模板分页
-export function getCanTakeCouponTemplatePage(params: PageParam) {
-  return request.get({
-    url: '/promotion/coupon-template/can-take-page',
-    params: params
-  })
-}
-
 // 导出优惠劵模板 Excel
 export function exportCouponTemplateExcel(params: PageParam) {
   return request.get({

+ 18 - 0
src/utils/constants.ts

@@ -209,6 +209,24 @@ export const CouponTemplateValidityTypeEnum = {
   }
 }
 
+/**
+ * 优惠劵模板的领取方式的枚举
+ */
+export const CouponTemplateTakeTypeEnum = {
+  BY_USER: {
+    type: 1,
+    name: '直接领取'
+  },
+  BY_ADMIN: {
+    type: 2,
+    name: '指定发放'
+  },
+  BY_REGISTER: {
+    type: 3,
+    name: '新人券'
+  }
+}
+
 /**
  * 营销的商品范围枚举
  */

+ 5 - 8
src/views/mall/promotion/coupon/components/CouponSend.vue

@@ -90,6 +90,7 @@ import {
   userPriceFormat,
   validityTypeFormat
 } from '@/views/mall/promotion/coupon/formatter'
+import { CouponTemplateTakeTypeEnum } from '@/utils/constants'
 
 defineOptions({ name: 'PromotionCouponSend' })
 
@@ -102,7 +103,8 @@ const dialogVisible = ref(false) // 弹窗的是否展示
 const queryParams = ref({
   pageNo: 1,
   pageSize: 10,
-  name: null
+  name: null,
+  canTakeTypes: [CouponTemplateTakeTypeEnum.BY_ADMIN.type]
 }) // 查询参数
 const queryFormRef = ref() // 搜索的表单
 // 领取人的编号列表
@@ -122,7 +124,7 @@ defineExpose({ open }) // 提供 open 方法,用于打开弹窗
 const getList = async () => {
   loading.value = true
   try {
-    const data = await CouponTemplateApi.getCanTakeCouponTemplatePage(queryParams.value)
+    const data = await CouponTemplateApi.getCouponTemplatePage(queryParams.value)
     list.value = data.list
     total.value = data.total
   } finally {
@@ -132,7 +134,7 @@ const getList = async () => {
 
 /** 搜索按钮操作 */
 const handleQuery = () => {
-  queryParams.pageNo = 1
+  queryParams.value.pageNo = 1
   getList()
 }
 
@@ -154,9 +156,4 @@ const handleSendCoupon = async (templateId: number) => {
     sendLoading.value = false
   }
 }
-
-/** 初始化 **/
-// onMounted(async () => {
-// await getList()
-// })
 </script>

+ 2 - 1
src/views/mall/promotion/coupon/index.vue

@@ -122,7 +122,8 @@ const queryParams = reactive({
   pageNo: 1,
   pageSize: 10,
   createTime: [],
-  status: undefined
+  status: undefined,
+  nickname: undefined
 })
 const queryFormRef = ref() // 搜索的表单