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/OperaShopApprovalWindow.vue |   69 +++++++++++++++++++++++-----------
 1 files changed, 47 insertions(+), 22 deletions(-)

diff --git a/admin/src/components/business/OperaShopApprovalWindow.vue b/admin/src/components/business/OperaShopApprovalWindow.vue
index b36ab93..ee118cb 100644
--- a/admin/src/components/business/OperaShopApprovalWindow.vue
+++ b/admin/src/components/business/OperaShopApprovalWindow.vue
@@ -182,7 +182,7 @@
     </div>
 
     <div class="approval-form" v-if="storeInfo && storeInfo.auditStatus === 0">
-      <el-form ref="approvalForm" :model="approvalForm" :rules="approvalForm.auditStatus ==1?approvalRules:approvalRules1">
+      <el-form ref="approvalForm" :model="approvalForm" :rules="approvalForm.auditStatus === 1 ? approvalRules : approvalRules1">
         <el-form-item label="瀹℃壒缁撴灉" prop="auditStatus">
           <el-radio-group v-model="approvalForm.auditStatus" @change="handleAuditStatusChange">
             <el-radio :label="0">閫氳繃</el-radio>
@@ -198,27 +198,27 @@
             style="width: 300px"
           ></el-input>
         </el-form-item>
-        <div class="profit-section">
+        <div class="profit-section" v-if="approvalForm.auditStatus === 0">
           <h4 class="section-title">灏卞湴瀵勫瓨妯″紡</h4>
           <el-form-item label="鍦ㄨ鍗曚腑浣滀负瀵勪欢鐐规椂锛屽垎鎴愭瘮渚嬩负" prop="localDeposit">
             <div class="profit-input">
-              <el-input v-model.number="approvalForm.localDeposit" placeholder="璇疯緭鍏ュ垎鎴愭瘮渚�" style="width: 150px;"></el-input>
+              <el-input v-model="approvalForm.localDeposit" placeholder="璇疯緭鍏ュ垎鎴愭瘮渚�" style="width: 150px;"></el-input>
               <span class="unit">%</span>
             </div>
           </el-form-item>
         </div>
         
-        <div class="profit-section">
+        <div class="profit-section" v-if="approvalForm.auditStatus === 0">
           <h4 class="section-title">鍚屽煄瀵勯�佹ā寮�</h4>
           <el-form-item label="鍦ㄨ鍗曚腑浣滀负瀵勪欢鐐规椂锛屽垎鎴愭瘮渚嬩负" prop="remoteTake">
             <div class="profit-input">
-              <el-input v-model.number="approvalForm.remoteTake" placeholder="璇疯緭鍏ュ垎鎴愭瘮渚�" style="width: 150px;"></el-input>
+              <el-input v-model="approvalForm.remoteTake" placeholder="璇疯緭鍏ュ垎鎴愭瘮渚�" style="width: 150px;"></el-input>
               <span class="unit">%</span>
             </div>
           </el-form-item>
           <el-form-item label="鍦ㄨ鍗曚腑浣滀负鏀朵欢鐐规椂锛屽垎鎴愭瘮渚嬩负" prop="remoteDeposit">
             <div class="profit-input">
-              <el-input v-model.number="approvalForm.remoteDeposit" placeholder="璇疯緭鍏ュ垎鎴愭瘮渚�" style="width: 150px;"></el-input>
+              <el-input v-model="approvalForm.remoteDeposit" placeholder="璇疯緭鍏ュ垎鎴愭瘮渚�" style="width: 150px;"></el-input>
               <span class="unit">%</span>
             </div>
           </el-form-item>
@@ -255,18 +255,22 @@
       approvalRules: {
         auditRemark: [
           { required: true, message: '璇疯緭鍏ユ嫆缁濆師鍥�', trigger: 'blur' }
-        ],
-        localDeposit: [
-          { required: true, message: '璇疯緭鍏ュ垎鎴愭瘮渚�', trigger: 'blur' }
-        ],
-        remoteTake: [
-          { required: true, message: '璇疯緭鍏ュ垎鎴愭瘮渚�', trigger: 'blur' }
-        ],
-        remoteDeposit: [
-          { required: true, message: '璇疯緭鍏ュ垎鎴愭瘮渚�', trigger: 'blur' }
         ]
       },
-      approvalRules1: { },
+      approvalRules1: {
+        localDeposit: [
+          { required: true, message: '璇疯緭鍏ュ垎鎴愭瘮渚�', trigger: 'blur' },
+          { validator: this.validateDepositRate, trigger: 'blur' }
+        ],
+        remoteTake: [
+          { required: true, message: '璇疯緭鍏ュ垎鎴愭瘮渚�', trigger: 'blur' },
+          { validator: this.validateDepositRate, trigger: 'blur' }
+        ],
+        remoteDeposit: [
+          { required: true, message: '璇疯緭鍏ュ垎鎴愭瘮渚�', trigger: 'blur' },
+          { validator: this.validateDepositRate, trigger: 'blur' }
+        ]
+      },
       isWorking: {
         submit: false
       }
@@ -279,6 +283,30 @@
     })
   },
   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()
+      }
+    },
     changeRadio(){
       this.$refs.approvalForm.clearValidate()
     },
@@ -299,12 +327,9 @@
         })
     },
     handleAuditStatusChange (val) {
-      this.$refs.approvalForm.clearValidate()
-      // if (val === 1) {
-      //   this.approvalRules.auditRemark = []
-      // } else {
-      //   this.approvalRules.auditRemark = [{ required: true, message: '璇疯緭鍏ユ嫆缁濆師鍥�', trigger: 'blur' }]
-      // }
+      this.$nextTick(() => {
+        this.$refs.approvalForm.clearValidate()
+      })
     },
     handleSubmit () {
       this.$refs.approvalForm.validate(valid => {

--
Gitblit v1.9.3