| <template> | 
|   <GlobalAlertWindow | 
|     :title="title" | 
|     :visible.sync="visible" | 
|     :confirm-working="isWorking" | 
|     @confirm="changeTissue" | 
|   > | 
|     <el-form :model="form" ref="form" :rules="rules"> | 
|       <el-form-item label="所在部门" prop="departmentId"> | 
|         <el-cascader | 
|           placeholder="请选择所属部门" | 
|           v-model="form.departmentId" | 
|           :options="departments()" | 
|           :props="{ value: 'id', label: 'name', checkStrictly: true }" | 
|           :show-all-levels="false" | 
|         ></el-cascader> | 
|       </el-form-item> | 
|     </el-form> | 
|   </GlobalAlertWindow> | 
| </template> | 
|   | 
| <script> | 
| import BaseOpera from '@/components/base/BaseOpera' | 
| import GlobalAlertWindow from '@/components/common/GlobalAlertWindow' | 
| // import ZuzhiSelect from './zuzhiSelect.vue' | 
| import { updateById } from '@/api/system/user' | 
| // import { fetchTree as treeComList } from '@/api/system/department' | 
| export default { | 
|   name: 'OperaUserChangeWindow', | 
|   extends: BaseOpera, | 
|   components: { GlobalAlertWindow }, | 
|    | 
|   data () { | 
|     return { | 
|       // 表单数据 | 
|       form: { | 
|         id: null, | 
|         departmentId: null | 
|       }, | 
|       // 验证规则 | 
|       rules: { | 
|         name: [ | 
|           { required: true, message: '请选择所在部门', trigger: 'blur' } | 
|         ] | 
|       }, | 
|       departmentList: [] | 
|     } | 
|   }, | 
|   inject: ['departments'], | 
|   methods: { | 
|     open (title, target) { | 
|       this.title = title | 
|       this.visible = true | 
|       console.log('target', target) | 
|       // 新建 | 
|       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] | 
|         } | 
|       }) | 
|     }, | 
|     changeTissue () { | 
|   | 
|       let departmentIds = JSON.parse(JSON.stringify(this.form.departmentId)) | 
|       // console.log(this.form.departmentId) | 
|        | 
|       this.$refs.form.validate((valid) => { | 
|         if (valid) { | 
|           this.isWorking = true | 
|           updateById({ | 
|             id: this.form.id, | 
|             departmentId: departmentIds[departmentIds.length - 1] | 
|           }).then(res => { | 
|             this.$tip.success('更换部门成功') | 
|             this.visible = false | 
|             this.$emit('success') | 
|           }) | 
|           .finally(() => { | 
|             this.isWorking = false | 
|           }) | 
|         } else { | 
|           return false | 
|         } | 
|       }) | 
|     }, | 
|     handleChange (e) { | 
|       // console.log(e) | 
|       this.form.departmentId = e[e.length - 1] | 
|     }, | 
|     /** | 
|      * 确认更改部门 | 
|      */ | 
|     // confirm () { | 
|     //   this.api.create({ | 
|     //     id: this.targetUser.id, | 
|     //     departmentId: this.form.departmentId | 
|     //   }) | 
|     //     .then((res) => { | 
|     //       this.$tip.apiSuccess(res) | 
|     //       this.visible = false | 
|     //       this.$emit('success') | 
|     //     }).catch((err) => { | 
|     //       this.$tip.apiFailed(err) | 
|     //     }) | 
|     // }, | 
|     // 打开部门窗口 | 
|     // open (title, target) { | 
|     //   console.log(target, 'this.isShow') | 
|     //   this.title = title | 
|     //   this.targetUser = target | 
|     //   this.visible = true | 
|     //   this.form.departmentId = target.departmentId | 
|     //   console.log(this.form, 'this.isShow') | 
|     // }, | 
|     // changeModel (item) { | 
|     //   if (item === '1') { | 
|     //     console.log('vvvvisShow', this.isShow) | 
|     //     this.isShow = false | 
|     //   } else if (item === '2' || item === '3') { | 
|     //     console.log('isShow', this.isShow) | 
|     //     this.isShow = true | 
|     //     console.log('isShowssss', this.isShow) | 
|     //   } | 
|     // } | 
|   | 
|   }, | 
|   mounted () { | 
|     // this.changeModel() | 
|   }, | 
|   created () { | 
|     this.config({ | 
|       api: '/system/user', | 
|       'field.id': 'id' | 
|     }) | 
|     // this.treeComList() | 
|   } | 
| } | 
| </script> |