| <template> | 
|     <GlobalWindow | 
|         :title="title" | 
|         :visible.sync="visible" | 
|         :confirm-working="isWorking" | 
|         @confirm="confirm" | 
|     > | 
|         <el-form :model="form" ref="form" :rules="rules"> | 
|             <el-form-item label="人员类型" prop="type"> | 
|                 <el-radio-group v-model="form.type" @change="getMember"> | 
|                     <el-radio :label="2">内部员工</el-radio> | 
|                     <el-radio :label="0">劳务人员</el-radio> | 
|                 </el-radio-group> | 
|             </el-form-item> | 
|             <el-form-item label="人员信息" prop="memberId"> | 
|                 <el-select v-model="form.memberId" filterable placeholder="请选择"> | 
|                     <el-option | 
|                         v-for="item in member" | 
|                         :key="item.id" | 
|                         :label="item.name" | 
|                         :value="item.id"> | 
|                     </el-option> | 
|                 </el-select> | 
|             </el-form-item> | 
|             <el-form-item label="卡类型" prop="cardType"> | 
|                 <el-select v-model="form.cardType" filterable placeholder="请选择"> | 
|                     <el-option label="IC卡" :value="1"></el-option> | 
|                     <el-option label="CPU卡" :value="2"></el-option> | 
|                     <el-option label="远距离卡" :value="3"></el-option> | 
|                     <el-option label="M卡" :value="4"></el-option> | 
|                 </el-select> | 
|             </el-form-item> | 
|             <el-form-item label="卡号" prop="code"> | 
|                 <el-input v-model="form.code" placeholder="请输入卡号" v-trim/> | 
|             </el-form-item> | 
|         </el-form> | 
|     </GlobalWindow> | 
| </template> | 
|   | 
| <script> | 
|   import BaseOpera from '@/components/base/BaseOpera' | 
|   import GlobalWindow from '@/components/common/GlobalWindow' | 
|   import { findTypeMemberInfo } from '@/api/business/memberCard' | 
|   export default { | 
|     name: 'OperaMemberCardWindow', | 
|     extends: BaseOpera, | 
|     components: { GlobalWindow }, | 
|     data () { | 
|       return { | 
|         // 表单数据 | 
|         form: { | 
|           id: null, | 
|           code: '', | 
|           type: 2, | 
|           memberId: '', | 
|           cardType: '' | 
|         }, | 
|         // 验证规则 | 
|         rules: { | 
|           code: [ | 
|             { required: true, message: '请输入卡号' } | 
|           ], | 
|           type: [ | 
|             { required: true, message: '请选择人员信息' } | 
|           ], | 
|           memberId: [ | 
|             { required: true, message: '请选择人员类型' } | 
|           ] | 
|         }, | 
|         member: [] | 
|       } | 
|     }, | 
|     created () { | 
|       this.config({ | 
|         api: '/business/memberCard', | 
|         'field.id': 'id' | 
|       }) | 
|       // this.getMember() | 
|     }, | 
|     methods: { | 
|       open (title, target) { | 
|         this.title = title | 
|         this.visible = true | 
|         if (target && target.isType) { | 
|           if (target.isType === 1) { | 
|             this.getMember() | 
|             this.form.memberId = target.memberId | 
|             return | 
|           } | 
|         } | 
|         // 新建 | 
|         if (target == null) { | 
|           this.$nextTick(() => { | 
|             this.$refs.form.resetFields() | 
|             this.form[this.configData['field.id']] = null | 
|           }) | 
|           this.getMember() | 
|           return | 
|         } | 
|         // 编辑 | 
|         this.$nextTick(() => { | 
|           for (const key in this.form) { | 
|             this.form[key] = target[key] | 
|           } | 
|           this.getMember(this.form.type) | 
|         }) | 
|       }, | 
|       getMember(type = 2) { | 
|         this.form.memberId = '' | 
|         findTypeMemberInfo({ type }) | 
|           .then(res => { | 
|             this.member = res | 
|           }) | 
|       } | 
|     } | 
|   } | 
| </script> |