| <template> | 
|     <GlobalWindow | 
|         width="50%" | 
|         :title="title" | 
|         :visible.sync="visible" | 
|         :confirm-working="isWorking" | 
|         @confirm="confirm" | 
|     > | 
|         <el-form :model="form" ref="form" :rules="rules"> | 
|             <el-form-item label="吹气时长" prop="blowTime"> | 
|                 <el-input v-model="form.blowTime" placeholder="请输入吹气时长(秒)" v-trim/> | 
|             </el-form-item> | 
|             <el-form-item label="压力值" prop="pressure"> | 
|                 <el-input v-model="form.pressure" placeholder="请输入压力值" v-trim/> | 
|             </el-form-item> | 
|             <el-form-item label="酒精浓度阈值" prop="concentration"> | 
|                 <div style="width: 100%; display: flex; align-items: center;"> | 
|                     <el-input v-model="form.concentration" placeholder="请输入酒精浓度预警值" style="flex: 1;" v-trim/> | 
|                     <el-select v-model="form.threshold" placeholder="请选择" style="flex-shrink: 0; margin-left: 15px;"> | 
|                         <el-option label="mg/100ml" value="1"></el-option> | 
|                         <el-option label="mg/L" value="2"></el-option> | 
|                         <el-option label="%BAC" value="3"></el-option> | 
|                     </el-select> | 
|                 </div> | 
|             </el-form-item> | 
|         </el-form> | 
|     </GlobalWindow> | 
| </template> | 
|   | 
| <script> | 
|   import BaseOpera from '@/components/base/BaseOpera' | 
|   import GlobalWindow from '@/components/common/GlobalWindow' | 
|   import { updateCabinetConfig } from '@/api/business/jkCabinet' | 
|   export default { | 
|     name: 'alcoholTest', | 
|     extends: BaseOpera, | 
|     components: { GlobalWindow }, | 
|     data () { | 
|       return { | 
|         // 表单数据 | 
|         form: { | 
|           id: null, | 
|           blowTime: '', | 
|           pressure: '', | 
|           concentration: '', | 
|           threshold: '' | 
|         }, | 
|         // 验证规则 | 
|         rules: { | 
|           blowTime: [ | 
|             { required: true, message: '请输入吹气时长', trigger: 'blur' } | 
|           ], | 
|           pressure: [ | 
|             { required: true, message: '请输入压力值', trigger: 'blur' } | 
|           ], | 
|           concentration: [ | 
|             { required: true, message: '请选择酒精浓度预警值', trigger: 'blur' } | 
|           ], | 
|         } | 
|       } | 
|     }, | 
|     created () { | 
|       this.config({ | 
|         api: '/business/jkCabinet', | 
|         'field.id': 'id' | 
|       }) | 
|     }, | 
|     methods: { | 
|       open (title, target) { | 
|         this.title = title | 
|         this.form.threshold = '' | 
|         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] | 
|           } | 
|         }) | 
|       }, | 
|       // 确认新建 | 
|       __confirmCreate () { | 
|         this.$refs.form.validate((valid) => { | 
|           if (!valid) { | 
|             return | 
|           } | 
|           // 调用新建接口 | 
|           this.isWorking = true | 
|           updateCabinetConfig(this.form) | 
|             .then(() => { | 
|               this.visible = false | 
|               this.$tip.apiSuccess('操作成功') | 
|               this.$emit('success') | 
|             }) | 
|             .catch(e => { | 
|               // this.$tip.apiFailed(e) | 
|             }) | 
|             .finally(() => { | 
|               this.isWorking = false | 
|             }) | 
|         }) | 
|       }, | 
|     } | 
|   } | 
| </script> |