cloudroam
2024-12-31 2eeea7a6431f0b5fb25b338e2512c48deab8652e
utils/coupon-form.js
@@ -28,6 +28,8 @@
            obj.elBusForm
              .getComponentById('minOrderAmount')
              .$parent.clearValidate()
          } else {
            updateForm({ minOrderAmount: undefined })
          }
        },
      },
@@ -43,6 +45,8 @@
        type: 'textarea',
        rows: 6,
      },
      default:
        '此券每人限领1张。仅限用于花满芫鲜花交易平台鲜切花花款满额使用,不可与其他优惠同享、不可叠加使用',
      rules: {
        required: true,
        message: '请输入使用规则',
@@ -53,12 +57,12 @@
      label: '优惠券使用条件:',
      id: 'minOrderAmount',
      type: 'input-number',
      el: {
        min: 0,
      el: (row) => ({
        min: row.couponDiscountType === 'discount' ? 0.01 : 0,
        max: 99999999,
        precision: 2,
        controls: false,
      },
      }),
      prefix: '满',
      unit: '元',
      rules: {
@@ -79,10 +83,24 @@
        controls: false,
      },
      unit: '元',
      rules: {
        required: true,
        message: '请输入优惠券面值',
        trigger: 'blur',
      rules: (row) => {
        return [
          {
            required: true,
            message: '请输入优惠券面值',
            trigger: 'blur',
          },
          {
            validator: (rule, value, callback) => {
              if (value && row.minOrderAmount && value > row.minOrderAmount) {
                callback(new Error('优惠券面值不能大于优惠券使用条件'))
              } else {
                callback()
              }
            },
            trigger: 'blur',
          },
        ]
      },
    },
  ]
@@ -187,3 +205,20 @@
    curField.rules.message = message
  }
}
export const dateTimeRules = (format = 'YYYY-MM-DD HH:mm') => {
  return {
    validator: (rule, value, callback) => {
      if (
        Array.isArray(value) &&
        value.filter((i) => !!i).length === 2 &&
        utils.formatDate(value[0], 'YYYY-MM-DD HH:mm') >
          utils.formatDate(value[1], 'YYYY-MM-DD HH:mm')
      ) {
        callback(new Error('开始时间不能大于结束时间'))
      } else {
        callback()
      }
    },
  }
}