From b806c4ad52a661a1e5f0695650ec1a7e42f01633 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期三, 20 五月 2026 23:08:48 +0800
Subject: [PATCH] 提交
---
admin/src/components/business/OperaCouponEdit.vue | 30 ++++++++++++++++++++++++++----
1 files changed, 26 insertions(+), 4 deletions(-)
diff --git a/admin/src/components/business/OperaCouponEdit.vue b/admin/src/components/business/OperaCouponEdit.vue
index 4ee049c..daa61bd 100644
--- a/admin/src/components/business/OperaCouponEdit.vue
+++ b/admin/src/components/business/OperaCouponEdit.vue
@@ -17,9 +17,9 @@
<el-form-item label="浼樻儬瑙勫垯" prop="limitPrice">
<div class="rule-row">
<span>璁㈠崟瀹炰粯婊�</span>
- <el-input v-model.number="form.limitPrice" placeholder="璇疯緭鍏ラ噾棰濓紙鍒嗭級" style="width: 100px; margin: 0 5px;"></el-input>
+ <el-input v-model="form.limitPrice" placeholder="璇疯緭鍏ラ噾棰�" style="width: 100px; margin: 0 5px;"></el-input>
<span>鍏冿紝鍑�</span>
- <el-input v-model.number="form.price" placeholder="璇疯緭鍏ラ噾棰濓紙鍒嗭級" style="width: 100px; margin: 0 5px;"></el-input>
+ <el-input v-model="form.price" placeholder="璇疯緭鍏ラ噾棰�" style="width: 100px; margin: 0 5px;"></el-input>
<span>鍏�</span>
</div>
</el-form-item>
@@ -72,8 +72,8 @@
rules: {
name: [{ required: true, message: '璇疯緭鍏ヤ紭鎯犲埜鍚嶇О', trigger: 'blur' }, { max: 20, message: '浼樻儬鍒稿悕绉颁笉鑳借秴杩�20涓瓧绗�', trigger: 'blur' }],
type: [{ required: true, message: '璇烽�夋嫨绫诲瀷', trigger: 'change' }],
- limitPrice: [{ required: true, message: '璇疯緭鍏ユ弧鍑忛噾棰�', trigger: 'blur' }, { validator: this.validateAmountDifference, trigger: 'blur' }],
- price: [{ required: true, message: '璇疯緭鍏ヤ紭鎯犻噾棰�', trigger: 'blur' }],
+ limitPrice: [{ required: true, message: '璇疯緭鍏ユ弧鍑忛噾棰�', trigger: 'blur' }, { validator: this.validatePositiveDecimal, trigger: 'blur' }, { validator: this.validateAmountDifference, trigger: 'blur' }],
+ price: [{ required: true, message: '璇疯緭鍏ヤ紭鎯犻噾棰�', trigger: 'blur' }, { validator: this.validatePositiveDecimal, trigger: 'blur' }],
pushDays: [{ required: true, message: '璇疯緭鍏ラ檺棰嗗ぉ鏁�', trigger: 'blur' }, { validator: this.validatePositiveInteger, trigger: 'blur' }],
validDays: [{ required: true, message: '璇疯緭鍏ラ檺鐢ㄥぉ鏁�', trigger: 'blur' }, { validator: this.validatePositiveInteger, trigger: 'blur' }]
}
@@ -125,6 +125,28 @@
})
})
},
+ validatePositiveDecimal (rule, value, callback) {
+ if (value !== null && value !== '' && value !== undefined) {
+ const num = Number(value)
+ if (isNaN(num) || num <= 0) {
+ callback(new Error('蹇呴』澶т簬0'))
+ } else {
+ const str = String(num)
+ if (str.includes('.')) {
+ const decimal = str.split('.')[1]
+ if (decimal.length > 2) {
+ callback(new Error('鏈�澶氭敮鎸佷袱浣嶅皬鏁�'))
+ } else {
+ callback()
+ }
+ } else {
+ callback()
+ }
+ }
+ } else {
+ callback()
+ }
+ },
validateAmountDifference (rule, value, callback) {
if (this.form.price && value) {
const difference = value - this.form.price
--
Gitblit v1.9.3