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/OperaShopEditWindow.vue |   48 ++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 40 insertions(+), 8 deletions(-)

diff --git a/admin/src/components/business/OperaShopEditWindow.vue b/admin/src/components/business/OperaShopEditWindow.vue
index 77612c6..0cf82a2 100644
--- a/admin/src/components/business/OperaShopEditWindow.vue
+++ b/admin/src/components/business/OperaShopEditWindow.vue
@@ -50,7 +50,7 @@
           </div>
         </el-form-item>
         <el-form-item label="浣嶇疆鏍囩" prop="locationTagIds">
-          <el-select v-model="form.locationTagIds" multiple placeholder="璇烽�夋嫨浣嶇疆鏍囩" style="width: 100%;">
+          <el-select v-model="form.locationTagIds" multiple placeholder="璇烽�夋嫨浣嶇疆鏍囩" style="width: 100%;" @change="handleLocationTagChange">
             <el-option v-for="item in locationTagList" :key="item.id" :label="item.name" :value="item.id"></el-option>
           </el-select>
         </el-form-item>
@@ -158,9 +158,9 @@
           <el-tab-pane label="闂ㄥ簵鍒嗘垚" name="profit">
             <div class="profit-section">
               <h4 class="section-title">灏卞湴瀵勫瓨妯″紡</h4>
-              <el-form-item label="鍦ㄨ鍗曚腑浣滀负瀵勪欢鐐规椂锛屽垎鎴愭瘮渚嬩负" label-suffix="锛�*">
+              <el-form-item label="鍦ㄨ鍗曚腑浣滀负瀵勪欢鐐规椂锛屽垎鎴愭瘮渚嬩负" prop="localDeposit" label-suffix="锛�*" :rules="[{ validator: this.validateDepositRate, trigger: 'blur' }]">
                 <div class="profit-input">
-                  <el-input v-model.number="form.localDeposit" placeholder="璇疯緭鍏ュ垎鎴愭瘮渚�" style="width: 150px;"></el-input>
+                  <el-input v-model="form.localDeposit" placeholder="璇疯緭鍏ュ垎鎴愭瘮渚�" style="width: 150px;"></el-input>
                   <span class="unit">%</span>
                 </div>
               </el-form-item>
@@ -168,15 +168,15 @@
             
             <div class="profit-section">
               <h4 class="section-title">鍚屽煄瀵勯�佹ā寮�</h4>
-              <el-form-item label="鍦ㄨ鍗曚腑浣滀负瀵勪欢鐐规椂锛屽垎鎴愭瘮渚嬩负" label-suffix="锛�*">
+              <el-form-item label="鍦ㄨ鍗曚腑浣滀负瀵勪欢鐐规椂锛屽垎鎴愭瘮渚嬩负" prop="remoteTake" label-suffix="锛�*" :rules="[{ validator: this.validateDepositRate, trigger: 'blur' }]">
                 <div class="profit-input">
-                  <el-input v-model.number="form.remoteTake" placeholder="璇疯緭鍏ュ垎鎴愭瘮渚�" style="width: 150px;"></el-input>
+                  <el-input v-model="form.remoteDeposit" placeholder="璇疯緭鍏ュ垎鎴愭瘮渚�" style="width: 150px;"></el-input>
                   <span class="unit">%</span>
                 </div>
               </el-form-item>
-              <el-form-item label="鍦ㄨ鍗曚腑浣滀负鏀朵欢鐐规椂锛屽垎鎴愭瘮渚嬩负" label-suffix="锛�*">
+              <el-form-item label="鍦ㄨ鍗曚腑浣滀负鏀朵欢鐐规椂锛屽垎鎴愭瘮渚嬩负" prop="remoteDeposit" label-suffix="锛�" :rules="[{ validator: this.validateDepositRate, trigger: 'blur' }]">
                 <div class="profit-input">
-                  <el-input v-model.number="form.remoteDeposit" placeholder="璇疯緭鍏ュ垎鎴愭瘮渚�" style="width: 150px;"></el-input>
+                  <el-input v-model="form.remoteTake" placeholder="璇疯緭鍏ュ垎鎴愭瘮渚�" style="width: 150px;"></el-input>
                   <span class="unit">%</span>
                 </div>
               </el-form-item>
@@ -271,6 +271,36 @@
     this.getLocationTagList()
   },
   methods: {
+    validateDepositRate (rule, value, callback) {
+      if (value !== null && value !== '' && value !== undefined) {
+        const num = Number(value)
+        if (isNaN(num)) {
+          callback(new Error('璇疯緭鍏ユ湁鏁堟暟瀛�'))
+        } else if (num < 1) {
+          callback(new Error('蹇呴』澶т簬绛変簬1'))
+        } else {
+          const str = String(num)
+          if (str.includes('.')) {
+            const decimal = str.split('.')[1]
+            if (decimal.length > 1) {
+              callback(new Error('鏈�澶氭敮鎸佷竴浣嶅皬鏁�'))
+            } else {
+              callback()
+            }
+          } else {
+            callback()
+          }
+        }
+      } else {
+        callback()
+      }
+    },
+    handleLocationTagChange (val) {
+      if (val.length > 2) {
+        this.$message.warning('浣嶇疆鏍囩鏈�澶氬彧鑳介�夋嫨2涓�')
+        this.form.locationTagIds = val.slice(0, 2)
+      }
+    },
     open (title, row) {
     this.isWorking.save = false
     detail(row.id)
@@ -335,7 +365,9 @@
         const res = await fetchList({
           capacity: 9999,
           page: 1,
-          model: {}
+          model: {
+            type: 5
+          }
         })
         this.locationTagList = res.records
       } catch (e) {

--
Gitblit v1.9.3