| | |
| | | @confirm="confirm" |
| | | > |
| | | <el-form :model="form" ref="form" :rules="rules"> |
| | | <el-form-item label="选择负责人:" prop="memberId"> |
| | | <el-select v-model="form.memberId" filterable remote :remote-method="loadMember" :loading="loading" placeholder="可输入姓名 | 手机号 | 部门名称进行搜索"> |
| | | <el-form-item label="设置范围" prop="isMember" :required="true"> |
| | | <el-radio-group v-model="form.isMember"> |
| | | <el-radio :label="0">选择部门</el-radio> |
| | | <!-- <el-radio :label="1">部门及其下级部门员工</el-radio>--> |
| | | <el-radio :label="2">指定人员</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="所属组织" prop="companyIds" v-if="form.isMember==0 || form.isMember==1" :required="true"> |
| | | <!-- <treeselect |
| | | v-model="form.companyId" |
| | | placeholder="请选择" |
| | | :options="companyTree" |
| | | :normalizer="normalizeOptions" |
| | | :default-expand-level="1" |
| | | noChildrenText="没有子选项" |
| | | noOptionsText="没有可选项" |
| | | noResultsText="没有匹配的结果" />--> |
| | | <el-tree |
| | | ref="tree" |
| | | :data="companyTree" |
| | | show-checkbox |
| | | node-key="id" |
| | | default-expand-all |
| | | @check-change="changeTree" |
| | | :expand-on-click-node="false" |
| | | :check-on-click-node="false" |
| | | :props="{id:'id',children: 'childList',label: 'name',isLeaf:'isLeaf'}"> |
| | | </el-tree> |
| | | </el-form-item> |
| | | <el-form-item label="选择负责人:" prop="memberIds" v-if="form.isMember==2" :required="true"> |
| | | <el-select v-model="form.memberIds" filterable :multiple="true" :loading="loading" placeholder="可输入姓名 | 手机号 | 部门名称进行搜索"> |
| | | <el-option |
| | | v-for="item in memberList" |
| | | :key="item.id" |
| | |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import { allList } from '@/api/business/member' |
| | | import { treeList, allList as companyList } from '@/api/business/company' |
| | | import { createRoleMenu } from '@/api/system/role' |
| | | import { create } from '@/api/business/managers' |
| | | |
| | | export default { |
| | | name: 'OperaManagersWindow', |
| | |
| | | // 表单数据 |
| | | form: { |
| | | type: '', |
| | | companyId: null, |
| | | memberId: '', |
| | | memberIds: [], |
| | | companyIds: [], |
| | | remark: '', |
| | | isQw: 0, |
| | | isEmail: 0 |
| | | isEmail: 0, |
| | | isMember: 0 |
| | | }, |
| | | companyTree: [], |
| | | loading: false, |
| | | memberList: [], |
| | | // 验证规则 |
| | | rules: { |
| | | memberId: [ |
| | | memberIds: [ |
| | | { required: true, message: '请选择负责人' } |
| | | ], |
| | | companyIds: [ |
| | | { required: true, message: '请选择部门' } |
| | | ], |
| | | isMember: [ |
| | | { required: true, message: '选择设置范围' } |
| | | ] |
| | | } |
| | | } |
| | |
| | | }) |
| | | }, |
| | | methods: { |
| | | loadData (node, resolve) { |
| | | console.log(node) |
| | | if(!node.hasChildren || (node.childList && node.childList.length >0)){ |
| | | return |
| | | } |
| | | companyList({ parentId: node.id }) |
| | | .then(res => { |
| | | node.childList = res |
| | | }) |
| | | }, |
| | | changeTree (node) { |
| | | const selectedMenus = this.$refs.tree.getCheckedNodes(false, true) |
| | | this.form.companyIds = selectedMenus.map(menu => menu.id) |
| | | console.log(this.form.companyIds) |
| | | }, |
| | | getfindCompanyTreePage () { |
| | | treeList({}) |
| | | .then(res => { |
| | | if (res && res.length > 0) { |
| | | res[0].fsStatus = 1 |
| | | res[0].isLeaf = res[0].hasChildren |
| | | this.companyTree = res |
| | | // 找出叶节点 |
| | | // this.companyTree = this.companyTree.filter(menu => this.companyTree.findIndex(m => m.parentId === menu.id) === -1) |
| | | console.log(res) |
| | | // this.searchForm.erpOrgId = res[0].erpId |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | // 规范化选项数据的方法 |
| | | normalizeOptions (node) { |
| | | if (node.childList && !node.childList.length) { |
| | | delete node.childList |
| | | } |
| | | return { |
| | | id: node.id, |
| | | label: node.name, |
| | | children: node.childList |
| | | } |
| | | }, |
| | | loadMember (query) { |
| | | this.memberList = [] |
| | | console.log(query) |
| | | if (!query || query == '') { |
| | | return |
| | | // return |
| | | } |
| | | this.loading = true |
| | | allList({ |
| | |
| | | this.form[this.configData['field.id']] = null |
| | | }) |
| | | this.memberList = [] |
| | | // this.loadMember() |
| | | this.getfindCompanyTreePage() |
| | | this.loadMember() |
| | | } |
| | | } |
| | | } |