|
@@ -24,7 +24,7 @@
|
|
|
type="primary"
|
|
|
icon="el-icon-plus"
|
|
|
size="mini"
|
|
|
- :disabled="single"
|
|
|
+ :disabled="singleAdd"
|
|
|
@click="handleAdd"
|
|
|
v-hasPermi="['system:member:add']"
|
|
|
>添加</el-button>
|
|
@@ -93,12 +93,15 @@
|
|
|
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body :close-on-click-modal=false>
|
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
|
|
|
|
|
- <el-form-item label="父辈" prop="father">
|
|
|
- <el-input v-model="form.father" placeholder="" :readonly="readonly"/>
|
|
|
+ <el-form-item label="父辈" prop="parentId">
|
|
|
+ <!-- <el-input v-model="form.father" placeholder="" readonly /> -->
|
|
|
+ <el-select v-model="form.parentId" placeholder="请选择" :disabled="enableFather">
|
|
|
+ <el-option v-for="member in treeMemberOptions" :key="member.memberId" :label="member.name" :value="member.memberId"></el-option>
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
|
|
|
<el-form-item label="姓名" prop="memberId">
|
|
|
- <el-select v-model="form.memberId" placeholder="请选择">
|
|
|
+ <el-select v-model="form.memberId" placeholder="请选择" :disabled="enableMember">
|
|
|
<el-option v-for="member in memberOptions" :key="member.memberId" :label="member.name" :value="member.memberId"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
@@ -117,7 +120,7 @@
|
|
|
|
|
|
<script>
|
|
|
import { getFamily } from "@/api/system/family";
|
|
|
-import { listTree,listNotTree,getMember, delMember, addMember, updateMember,saveToTree,delToTree } from "@/api/system/member";
|
|
|
+import { listMember,listTree,listInTree,listNotTree,getMember, delMember, addMember, updateMember,saveToTree,delToTree } from "@/api/system/member";
|
|
|
|
|
|
export default {
|
|
|
name: "Tree",
|
|
@@ -129,8 +132,11 @@ export default {
|
|
|
loadings: false,
|
|
|
// 选中数组
|
|
|
ids: [],
|
|
|
+ enableFather: true,
|
|
|
+ enableMember: true,
|
|
|
// 非单个禁用
|
|
|
single: true,
|
|
|
+ singleAdd: true,
|
|
|
// 非多个禁用
|
|
|
multiple: true,
|
|
|
// 显示搜索条件
|
|
@@ -146,8 +152,10 @@ export default {
|
|
|
readonly: false,
|
|
|
// 成员
|
|
|
memberOptions:[],
|
|
|
+ treeMemberOptions:[],
|
|
|
genderOptions:[],
|
|
|
- parentId: null,
|
|
|
+ // 默认第一代
|
|
|
+ parentId: 0,
|
|
|
father: null,
|
|
|
// 查询参数
|
|
|
memberParams: {
|
|
@@ -187,6 +195,15 @@ export default {
|
|
|
this.familyName = response.data.fullName;
|
|
|
});
|
|
|
},
|
|
|
+ /** 查询家族成员列表 */
|
|
|
+ getMemberList() {
|
|
|
+ const params = {
|
|
|
+ familyId: this.queryParams.familyId
|
|
|
+ }
|
|
|
+ listMember(params).then(response => {
|
|
|
+ this.memberOptions = response.rows;
|
|
|
+ });
|
|
|
+ },
|
|
|
getNotTree() {
|
|
|
this.memberParams.familyId = this.queryParams.familyId;
|
|
|
listNotTree(this.memberParams).then(response => {
|
|
@@ -194,6 +211,13 @@ export default {
|
|
|
console.log(this.memberOptions)
|
|
|
});
|
|
|
},
|
|
|
+ getInTree() {
|
|
|
+ this.memberParams.familyId = this.queryParams.familyId;
|
|
|
+ listInTree(this.memberParams).then(response => {
|
|
|
+ this.treeMemberOptions = response.data;
|
|
|
+ console.log(this.treeMemberOptions)
|
|
|
+ });
|
|
|
+ },
|
|
|
/** 查询家族成员列表 */
|
|
|
getList() {
|
|
|
this.loading = true;
|
|
@@ -201,6 +225,10 @@ export default {
|
|
|
this.memberList = response.rows;
|
|
|
this.total = response.total;
|
|
|
this.loading = false;
|
|
|
+ if(this.memberList.length <= 0) {
|
|
|
+ // 家族树没有人时,允许添加第一个人
|
|
|
+ this.singleAdd = false;
|
|
|
+ }
|
|
|
});
|
|
|
},
|
|
|
// 性别 字典翻译
|
|
@@ -251,6 +279,7 @@ export default {
|
|
|
handleSelectionChange(selection) {
|
|
|
this.ids = selection.map(item => item.memberId)
|
|
|
this.single = selection.length!==1
|
|
|
+ this.singleAdd = selection.length!==1
|
|
|
this.multiple = !selection.length
|
|
|
|
|
|
if(selection.length===1){
|
|
@@ -265,18 +294,24 @@ export default {
|
|
|
this.form.father = this.father;
|
|
|
this.open = true;
|
|
|
this.title = "添加成员至家族树";
|
|
|
+ this.enableFather = true;
|
|
|
+ this.enableMember = false;
|
|
|
this.getNotTree();
|
|
|
+ this.getInTree();
|
|
|
},
|
|
|
/** 修改按钮操作 */
|
|
|
handleUpdate(row) {
|
|
|
this.reset();
|
|
|
+ this.enableFather = false;
|
|
|
+ this.enableMember = true;
|
|
|
const id = row.memberId || this.ids
|
|
|
- getMember(id).then(response => {
|
|
|
+ const familyId = this.queryParams.familyId;
|
|
|
+ getMember(familyId,id).then(response => {
|
|
|
this.form = response.data;
|
|
|
- this.form.familyId = this.queryParams.familyId;
|
|
|
this.open = true;
|
|
|
this.title = "修改家族树成员";
|
|
|
- this.getNotTree();
|
|
|
+ this.getMemberList();
|
|
|
+ this.getInTree();
|
|
|
});
|
|
|
},
|
|
|
addForm(){
|