From f9691d544e62d6c04dbfe45d05a6c7bc5e004291 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 29 十二月 2023 11:52:29 +0800
Subject: [PATCH] 服务商

---
 admin/src/components/business/OperaPriceConfigWindow.vue |   72 +++++++++++++++++++++++++++---------
 1 files changed, 54 insertions(+), 18 deletions(-)

diff --git a/admin/src/components/business/OperaPriceConfigWindow.vue b/admin/src/components/business/OperaPriceConfigWindow.vue
index 7c4b835..574c1f9 100644
--- a/admin/src/components/business/OperaPriceConfigWindow.vue
+++ b/admin/src/components/business/OperaPriceConfigWindow.vue
@@ -6,12 +6,13 @@
     width="600px"
     @confirm="confirm"
   >
-    
+
     <el-form :model="form" ref="form" :rules="rules" label-suffix="锛�">
       <el-form-item label="杞﹀瀷鍚嶇О" prop="bikeTypeName">
         {{ form.bikeTypeName }}
       </el-form-item>
-      <el-form-item label="宸ヤ綔鏃ヨ璐�">
+<!--      base-->
+      <el-form-item label="宸ヤ綔鏃ヨ璐�" prop="base">
         <el-select v-model="form.baseType" @change="selectBaseType">
           <el-option
             v-for="item in priceType"
@@ -20,7 +21,7 @@
             :value="item.id"
           ></el-option>
         </el-select>
-        <div class="setting" v-if="form.baseType == 1" style="display: flex;">
+        <div class="setting" v-if="form.baseType === 1" style="display: flex;">
           <el-input v-model="form.basePrice" type="number" placeholder="" v-trim/>
           鍏冿紝鐣呴獞涓�鏁村ぉ
         </div>
@@ -35,7 +36,7 @@
           </div>
         </div>
       </el-form-item>
-      <el-form-item label="鑺傚亣鏃ヨ璐�">
+      <el-form-item label="鑺傚亣鏃ヨ璐�" prop="holiday">
         <el-select v-model="form.holidayBaseType" @change="selectHolidayBaseType">
           <el-option
             v-for="item in priceType"
@@ -66,20 +67,56 @@
 <script>
 import BaseOpera from '@/components/base/BaseOpera'
 import GlobalAlertWindow from '@/components/common/GlobalAlertWindow'
-import { create } from '@/api/business/pricingParam'
+import { updatePricingDetailById } from '@/api/business/pricingParam'
 // import { findList } from '@/api/business/roomTime'
-import { numRule } from '@/utils/form'
 export default {
   name: 'OperaPriceConfigWindow',
   extends: BaseOpera,
   components: { GlobalAlertWindow },
   data () {
+    const baseRule = (rule, value, callback) => {
+      if (this.form.baseType == 1) {
+        if (/^[1-9]\d*$|^0$/.test(this.form.basePrice)) {
+          callback()
+        } else {
+          callback(new Error())
+        }
+      } else {
+        if (
+          (/^[1-9]\d*$|^0$/.test(this.form.basePrice)) &&
+          (/^[1-9]\d*$|^0$/.test(this.form.baseTime)) &&
+          (/^[1-9]\d*$|^0$/.test(this.form.unitPrice)) &&
+          (/^[1-9]\d*$|^0$/.test(this.form.unitTime))) {
+          callback()
+        } else {
+          callback(new Error())
+        }
+      }
+    }
+    const holidayRule = (rule, value, callback) => {
+      if (this.form.holidayBaseType === 1) {
+        if (/^[1-9]\d*$|^0$/.test(this.form.holidayBasePrice)) {
+          callback()
+        } else {
+          callback(new Error())
+        }
+      } else {
+        if (
+          (/^[1-9]\d*$|^0$/.test(this.form.holidayBasePrice)) &&
+          (/^[1-9]\d*$|^0$/.test(this.form.holidayBaseTime)) &&
+          (/^[1-9]\d*$|^0$/.test(this.form.holidayUnitTime))) {
+          callback()
+        } else {
+          callback(new Error())
+        }
+      }
+    }
     return {
       // 琛ㄥ崟鏁版嵁
       form: {
         id: null,
-        pricePramId: null,
-        bikeTypeId: null,
+        pricePramId: '',
+        bikeTypeId: '',
         bikeTypeName: '',
         baseType: '',
         baseTime: '',
@@ -99,17 +136,17 @@
       backInfoRequired: false,
       // 楠岃瘉瑙勫垯
       rules: {
-        duration: [
-         { required: true, validator: numRule, message: '璇疯緭鍏ヨ璐规椂闀�', tigger: 'blur' }
+        base: [
+         { required: true, validator: baseRule, message: '璇峰畬鍠勫伐浣滄棩璁′环淇℃伅', tigger: 'blur' }
         ],
-        backReason: [
-          { required: true, message: '璇烽�夋嫨璋冩暣鍘熷洜', tigger: 'change'},
+        holiday: [
+          { required: true, validator: holidayRule, message: '璇峰畬鍠勮妭鍋囨棩璁′环淇℃伅', tigger: 'blur'},
         ]
       },
-      
+
     }
   },
-  
+
   methods: {
     /**
      * 鎵撳紑绐楀彛
@@ -132,9 +169,8 @@
         for (const key in this.form) {
           this.form[key] = target[key]
         }
-        this.form.baseType = target.baseTime==-1 ? 1 : 2
-        this.form.holidayBaseType = target.holidayBaseTime==-1 ? 1 : 2
-        
+        this.form.baseType = target.baseTime === -1 ? 1 : 2
+        this.form.holidayBaseType = target.holidayBaseTime === -1 ? 1 : 2
         // this.form.backReason = ''
         // this.form.backInfo = ''
         // this.$refs.form.clearValidate()
@@ -162,7 +198,7 @@
           return
         }
         this.isWorking = true
-        create(this.form)
+        updatePricingDetailById(this.form)
           .then(res => {
             this.visible = false
             this.$tip.apiSuccess('淇敼鎴愬姛')

--
Gitblit v1.9.3