| <template> | 
|   <GlobalWindow :title="title" width="500px" :visible.sync="visible" :confirm-working="isWorking" @confirm="confirm"> | 
|     <el-form :model="form" ref="form" :rules="rules"> | 
|       <el-form-item label="名称" prop="name"> | 
|         <el-input v-model="form.name" placeholder="请输入名称" v-trim /> | 
|       </el-form-item> | 
|       <!-- <el-form-item label="责任部门" prop="companyId"> | 
|         <el-select filterable clearable @change="() => loadMember(1)" v-model="form.companyId"> | 
|           <el-option v-for="op in department" :key="op.id" :label="op.name" :value="op.id"></el-option> | 
|         </el-select> | 
|       </el-form-item> --> | 
|       <el-form-item v-if="form.type == 0" label="选择安全员" prop="memberIdList"> | 
|         <el-select v-model="form.memberIdList" filterable multiple clearable placeholder="请选择"> | 
|           <el-option v-for="item in memberList" :key="item.id" :label="item.name" :value="item.id"> | 
|           </el-option> | 
|         </el-select> | 
|       </el-form-item> | 
|       <el-form-item label="排序码(升序)" prop="sortnum"> | 
|         <el-input v-model="form.sortnum" type="number" placeholder="请输入排序码" v-trim /> | 
|       </el-form-item> | 
|     </el-form> | 
|   </GlobalWindow> | 
| </template> | 
|   | 
| <script> | 
| import BaseOpera from '@/components/base/BaseOpera' | 
| import GlobalWindow from '@/components/common/GlobalWindow' | 
| import { allList } from '@/api/business/member' | 
| import { companyGetListPost } from '@/api/business/company' | 
| export default { | 
|   name: 'OperaHiddenDangerParamWindow', | 
|   extends: BaseOpera, | 
|   components: { GlobalWindow }, | 
|   data() { | 
|     return { | 
|       // 表单数据 | 
|       memberList: [], | 
|       department: [], | 
|       departprops: { | 
|         label: 'name', | 
|         value: 'id', | 
|         checkStrictly: true | 
|       }, | 
|       form: { | 
|         id: null, | 
|         name: null, | 
|         companyId: null, | 
|         memberIdList: null, | 
|         type: null, | 
|         sortnum: null | 
|       }, | 
|       // 验证规则 | 
|       rules: { | 
|         name: [{ required: true, message: '请输入名称' }], | 
|         companyId: [{ required: true, message: '请选择' }], | 
|         memberIdList: [{ required: true, message: '请选择', type: 'array' }], | 
|       } | 
|     } | 
|   }, | 
|   created() { | 
|     this.config({ | 
|       api: '/business/hiddenDangerParam', | 
|       'field.id': 'id' | 
|     }) | 
|   }, | 
|   methods: { | 
|     open(title, target, type) { | 
|       this.title = title | 
|       this.visible = true | 
|       this.form.memberIdList = null | 
|       this.form.type = type | 
|       this.getfindCompanyTreePage() | 
|       // 新建组织 | 
|       if (target == null) { | 
|         this.$nextTick(() => { | 
|           this.$refs.form.resetFields() | 
|           this.form[this.configData['field.id']] = null | 
|           this.form.type = type | 
|         }) | 
|         return | 
|       } | 
|       // 编辑 | 
|       this.$nextTick(() => { | 
|         for (const key in this.form) { | 
|           this.form[key] = target[key] | 
|           this.form.type = type | 
|           if (this.form.type == 0 && target.memberIds != null && target.memberIds != '') { | 
|             const t = target.memberIds.split(',') | 
|             this.form.memberIdList = [] | 
|             t.forEach(item => { | 
|               this.form.memberIdList.push(parseInt(item)) | 
|             }) | 
|           } | 
|         } | 
|         this.loadMember() | 
|       }) | 
|     }, | 
|     getfindCompanyTreePage() { | 
|       companyGetListPost({}) | 
|         .then(res => { | 
|           if (res && res.length > 0) { | 
|             this.department = res | 
|           } | 
|         }) | 
|     }, | 
|     loadMember(flag) { | 
|       if(flag && flag == 1){ | 
|         this.$set(this.form, 'memberIdList', null) | 
|       }  | 
|       allList({ | 
|         type: 2, | 
|         companyType: 1, | 
|         companyId: this.form.companyId | 
|       }) | 
|         .then(res => { | 
|           this.memberList = res | 
|         }) | 
|         .catch(e => { | 
|           // this.$tip.apiFailed(e) | 
|         }) | 
|         .finally(() => { | 
|           this.isWorking = false | 
|         }) | 
|     } | 
|   } | 
| } | 
| </script> |