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