From eb7a808aaf7dd0a6dd2ff70f9ef3f8ce0b1e31d1 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期五, 22 五月 2026 18:27:32 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/gtzxinglijicun

---
 admin/src/components/business/OperaCouponEdit.vue |   34 ++++++++++++++++++++++++++++------
 1 files changed, 28 insertions(+), 6 deletions(-)

diff --git a/admin/src/components/business/OperaCouponEdit.vue b/admin/src/components/business/OperaCouponEdit.vue
index 4ee049c..75e2890 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,11 +125,33 @@
         })
       })
     },
+    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
-        if (difference <= 10) {
-          callback(new Error('閲戦宸繀椤诲ぇ浜�10鍏�'))
+        if (difference < 10) {
+          callback(new Error('閲戦宸繀椤诲ぇ浜庣瓑浜�10鍏�'))
         } else {
           callback()
         }

--
Gitblit v1.9.3