Kaynağa Gözat

feat(ticketManagement): 完善优惠券和代金券表单处理逻辑

- 优化优惠券保存逻辑,区分新增与编辑状态并给出相应提示
- 强化代金券表单项校验,确保空值和无效输入被正确处理
- 统一处理单日可用数量、限购数量及适用范围类型的设置规则
- 提升表单提交时的数据完整性和用户体验
congxuesong 2 hafta önce
ebeveyn
işleme
bff9899903

+ 12 - 4
src/views/ticketManagement/newCoupon.vue

@@ -332,11 +332,19 @@ const handleSubmit = async (submitType?: string) => {
       ElMessage.warning("请填写优惠券名称");
       return;
     }
-    let res: any = await addDiscountCoupon(params);
-    if (res && res.code == 200) {
-      ElMessage.success("保存成功");
-      goBack();
+    if (type.value == "add") {
+      let res: any = await addDiscountCoupon(params);
+      if (res && res.code == 200) {
+        ElMessage.success("创建成功");
+      }
+    } else {
+      params.couponId = id.value;
+      let res: any = await editDiscountCoupon(params);
+      if (res && res.code == 200) {
+        ElMessage.success("修改成功");
+      }
     }
+    goBack();
     return;
   }
   // 验证表单

+ 15 - 3
src/views/ticketManagement/newVoucher.vue

@@ -997,21 +997,33 @@ onMounted(async () => {
       }
     }
     // 处理单日可用数量类型:如果有值,设置为"限制",否则设置为"不限制"
-    if (voucherModel.value.singleCanUse && voucherModel.value.singleCanUse.toString().trim() !== "") {
+    if (
+      voucherModel.value.singleCanUse !== null &&
+      voucherModel.value.singleCanUse !== undefined &&
+      voucherModel.value.singleCanUse.toString().trim() !== ""
+    ) {
       voucherModel.value.singleCanUseType = "2";
     } else {
       voucherModel.value.singleCanUseType = "1";
       voucherModel.value.singleCanUse = "";
     }
     // 处理限购数量类型:如果有值,设置为"限制",否则设置为"不限制"
-    if (voucherModel.value.purchaseLimitCode && voucherModel.value.purchaseLimitCode.toString().trim() !== "") {
+    if (
+      voucherModel.value.purchaseLimitCode !== null &&
+      voucherModel.value.purchaseLimitCode !== undefined &&
+      voucherModel.value.purchaseLimitCode.toString().trim() !== ""
+    ) {
       voucherModel.value.purchaseLimitType = "2";
     } else {
       voucherModel.value.purchaseLimitType = "1";
       voucherModel.value.purchaseLimitCode = "";
     }
     // 处理适用范围类型:如果有值,设置为"部分不可用",否则设置为"全场通用"
-    if (voucherModel.value.applyDesc && voucherModel.value.applyDesc.toString().trim() !== "") {
+    if (
+      voucherModel.value.applyDesc !== null &&
+      voucherModel.value.applyDesc !== undefined &&
+      voucherModel.value.applyDesc.toString().trim() !== ""
+    ) {
       voucherModel.value.applyType = "2";
     } else {
       voucherModel.value.applyType = "1";