| <template> | 
|   <GlobalAlertWindow | 
|     :title="title" | 
|     :visible.sync="visible" | 
|     :confirm-working="isWorking" | 
|     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="工作日计费"> | 
|         <el-select v-model="form.baseType" @change="selectBaseType"> | 
|           <el-option | 
|             v-for="item in priceType" | 
|             :key="item.id" | 
|             :label="item.name" | 
|             :value="item.id" | 
|           ></el-option> | 
|         </el-select> | 
|         <div class="setting" v-if="form.baseType == 1" style="display: flex;"> | 
|           <el-input v-model="form.basePrice" type="number" placeholder="" v-trim/> | 
|           元,畅骑一整天 | 
|         </div> | 
|         <div class="setting" v-else> | 
|           <div style="display: flex;"> | 
|             起步价<el-input v-model="form.basePrice" type="number" placeholder="" v-trim/> | 
|             元<el-input  v-model="form.baseTime" type="number" placeholder="" v-trim/>分钟 | 
|           </div> | 
|           <div style="display: flex; margin-top: 5px;"> | 
|             超过后<el-input v-model="form.unitPrice" type="number" placeholder="" v-trim/> | 
|             元,每<el-input v-model="form.unitTime" type="number" placeholder="" v-trim/>分钟 | 
|           </div> | 
|         </div> | 
|       </el-form-item> | 
|       <el-form-item label="节假日计费"> | 
|         <el-select v-model="form.holidayBaseType" @change="selectHolidayBaseType"> | 
|           <el-option | 
|             v-for="item in priceType" | 
|             :key="item.id" | 
|             :label="item.name" | 
|             :value="item.id" | 
|           ></el-option> | 
|         </el-select> | 
|         <div class="setting" v-if="form.holidayBaseType == 1" style="display: flex;"> | 
|           <el-input v-model="form.holidayBasePrice" type="number" placeholder="" v-trim/> | 
|           元,畅骑一整天 | 
|         </div> | 
|         <div class="setting" v-else> | 
|           <div style="display: flex;"> | 
|             起步价<el-input v-model="form.holidayBasePrice" type="number" placeholder="" v-trim/> | 
|             元<el-input v-model="form.holidayBaseTime" type="number" placeholder="" v-trim/>分钟 | 
|           </div> | 
|           <div style="display: flex; margin-top: 5px;"> | 
|             超过后<el-input v-model="form.holidayUnitPrice" type="number" placeholder="" v-trim/> | 
|             元,每<el-input v-model="form.holidayUnitTime" type="number" placeholder="" v-trim/>分钟 | 
|           </div> | 
|         </div> | 
|       </el-form-item> | 
|     </el-form> | 
|   </GlobalAlertWindow> | 
| </template> | 
|   | 
| <script> | 
| import BaseOpera from '@/components/base/BaseOpera' | 
| import GlobalAlertWindow from '@/components/common/GlobalAlertWindow' | 
| 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 () { | 
|     return { | 
|       // 表单数据 | 
|       form: { | 
|         id: null, | 
|         pricePramId: null, | 
|         bikeTypeId: null, | 
|         bikeTypeName: '', | 
|         baseType: '', | 
|         baseTime: '', | 
|         basePrice: '', | 
|         unitPrice: '', | 
|         unitTime: '', | 
|         holidayBaseType: '', | 
|         holidayBaseTime: '', | 
|         holidayBasePrice: '', | 
|         holidayUnitPrice: '', | 
|         holidayUnitTime: '', | 
|       }, | 
|       priceType: [ | 
|         { name: '一口价', id: 1 }, | 
|         { name: '阶梯定价', id: 2 }, | 
|       ], | 
|       backInfoRequired: false, | 
|       // 验证规则 | 
|       rules: { | 
|         duration: [ | 
|          { required: true, validator: numRule, message: '请输入计费时长', tigger: 'blur' } | 
|         ], | 
|         backReason: [ | 
|           { required: true, message: '请选择调整原因', tigger: 'change'}, | 
|         ] | 
|       }, | 
|        | 
|     } | 
|   }, | 
|    | 
|   methods: { | 
|     /** | 
|      * 打开窗口 | 
|      * @title 窗口标题 | 
|      * @target 编辑的对象 | 
|      */ | 
|      open (title, target) { | 
|       this.title = title | 
|       this.visible = true | 
|       // 新建 | 
|       if (target == null) { | 
|         this.$nextTick(() => { | 
|           this.$refs.form.resetFields() | 
|           this.form[this.configData['field.id']] = null | 
|         }) | 
|         return | 
|       } | 
|       // 编辑 | 
|       this.$nextTick(() => { | 
|         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.backReason = '' | 
|         // this.form.backInfo = '' | 
|         // this.$refs.form.clearValidate() | 
|       }) | 
|     }, | 
|     selectBaseType(v) { | 
|       console.log(v); | 
|       if (v==1) { | 
|         this.form.baseTime = -1 | 
|       } else { | 
|         this.form.baseTime = '' | 
|       } | 
|     }, | 
|     selectHolidayBaseType(v) { | 
|       // console.log(item); | 
|       if (v==1) { | 
|         this.form.holidayBaseTime = -1 | 
|       } else { | 
|         this.form.holidayBaseTime = '' | 
|       } | 
|     }, | 
|     confirm() { | 
|       this.$refs.form.validate((valid) => { | 
|         if (!valid) { | 
|           return | 
|         } | 
|         this.isWorking = true | 
|         updatePricingDetailById(this.form) | 
|           .then(res => { | 
|             this.visible = false | 
|             this.$tip.apiSuccess('修改成功') | 
|             this.$emit('success') | 
|   | 
|           }) | 
|           .catch(err => { | 
|             this.$tip.apiFailed(err) | 
|           }) | 
|           .finally(() => { | 
|             this.isWorking = false | 
|           }) | 
|       }) | 
|     } | 
|   }, | 
| } | 
| </script> | 
|   | 
| <style lang="scss" scoped> | 
| @import "@/assets/style/alertstyle.scss"; | 
| @import "@/assets/style/variables.scss"; | 
|   | 
| ::v-deep .el-input.is-disabled .el-input__inner { | 
|   background-color: #fff !important; | 
|   cursor: pointer; | 
| } | 
|   | 
| .time-style { | 
|   display: flex; | 
|   flex-wrap: wrap; | 
|   cursor: pointer; | 
|   .time-item { | 
|     margin-right: 8px; | 
|     margin-bottom: 8px; | 
|     border: #111 solid 1px; | 
|     font-size: 14px; | 
|     line-height: 14px; | 
|     padding: 5px; | 
|     border-radius: 5px; | 
|     color: #111; | 
|   } | 
|   .time-item-sel { | 
|     border-color: $primary-color; | 
|     background-color: $primary-color; | 
|     color: #fff; | 
|   } | 
|   .time-item-disable { | 
|     border-color: #999; | 
|     background-color: #999; | 
|     color: #111; | 
|   } | 
| } | 
|   | 
| .setting { | 
|   margin-top: 15px; | 
|   .el-input { | 
|     width: 100px; | 
|   } | 
| } | 
|   | 
| </style> |