Quellcode durchsuchen

修改家族树

Alex vor 4 Jahren
Ursprung
Commit
06ba4cb721
2 geänderte Dateien mit 65 neuen und 48 gelöschten Zeilen
  1. 17 1
      src/api/system/member.js
  2. 48 47
      src/views/system/family/detail/treeList.vue

+ 17 - 1
src/api/system/member.js

@@ -66,4 +66,20 @@ export function exportMember(query) {
     method: 'get',
     params: query
   })
-}
+}
+
+// 添加至家族树
+export function saveToTree(data) {
+  return request({
+    url: '/system/member/saveToTree',
+    method: 'post',
+    data: data
+  })
+}
+// 移除出家族树
+export function delToTree(familyId,id) {
+  return request({
+    url: '/system/member/delToTree/'+familyId+'/' + id,
+    method: 'delete'
+  })
+}

+ 48 - 47
src/views/system/family/detail/treeList.vue

@@ -24,6 +24,7 @@
           type="primary"
           icon="el-icon-plus"
           size="mini"
+          :disabled="single"
           @click="handleAdd"
           v-hasPermi="['system:member:add']"
         >添加</el-button>
@@ -75,7 +76,7 @@
             icon="el-icon-delete"
             @click="handleDelete(scope.row)"
             v-hasPermi="['system:member:remove']"
-          >除</el-button>
+          >除</el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -92,45 +93,16 @@
     <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="memberId">
-          <el-select
-            v-model="form.name"
-            filterable
-            remote
-            clearable
-            placeholder="请输入名字/手机号"
-            :remote-method="findMember"
-            @change="memberChange"
-            :loading="loadings">
-            <el-option
-              v-for="item in memberOptions"
-              :key="item.memberId"
-              :label="item.name"
-              :value="item.memberId">
-            </el-option>
-          </el-select>
-        </el-form-item> -->
-
         <el-form-item label="父辈" prop="father">
           <el-input v-model="form.father" placeholder="" :readonly="readonly"/>
         </el-form-item>
 
-        <el-form-item label="姓名" prop="name">
-          <el-select v-model="form.name" placeholder="请选择">
-            <el-option v-for="member in memberOptions" :key="member.memberId" :label="member.name" :value="dict.memberId"></el-option>
-          </el-select>
-        </el-form-item>
-
-        <el-form-item label="性别" prop="gender">
-          <el-select v-model="form.gender" placeholder="请选择">
-            <el-option v-for="dict in genderOptions" :key="dict.dictValue" :label="dict.dictLabel" :value="dict.dictValue"></el-option>
+        <el-form-item label="姓名" prop="memberId">
+          <el-select v-model="form.memberId" placeholder="请选择">
+            <el-option v-for="member in memberOptions" :key="member.memberId" :label="member.name" :value="member.memberId"></el-option>
           </el-select>
         </el-form-item>
 
-        <el-form-item label="手机号" prop="mobile">
-          <el-input v-model="form.mobile" placeholder="请输入手机号" />
-        </el-form-item>
-
         <el-form-item label="备注" prop="remark">
           <el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
         </el-form-item>
@@ -145,7 +117,7 @@
 
 <script>
 import { getFamily } from "@/api/system/family";
-import { listTree,listNotTree,getMember, delMember, addMember, updateMember } from "@/api/system/member";
+import { listTree,listNotTree,getMember, delMember, addMember, updateMember,saveToTree,delToTree } from "@/api/system/member";
 
 export default {
   name: "Tree",
@@ -175,6 +147,8 @@ export default {
       // 成员
       memberOptions:[],
       genderOptions:[],
+      parentId: null,
+      father: null,
       // 查询参数
       memberParams: {
         enable: 0,
@@ -214,8 +188,10 @@ export default {
       });
     },
     getNotTree() {
+      this.memberParams.familyId = this.queryParams.familyId;
       listNotTree(this.memberParams).then(response => {
         this.memberOptions = response.data;
+        console.log(this.memberOptions)
       });
     },
     /** 查询家族成员列表 */
@@ -243,6 +219,8 @@ export default {
     // 表单重置
     reset() {
       this.form = {
+        parentId: null,
+        father: null,
         memberId: null,
         userId: null,
         spouseUserId: null,
@@ -274,12 +252,17 @@ export default {
       this.ids = selection.map(item => item.memberId)
       this.single = selection.length!==1
       this.multiple = !selection.length
+
+      if(selection.length===1){
+        this.parentId = selection.map(item => item.memberId)[0]
+        this.father = selection.map(item => item.name)[0]
+      }
     },
     /** 新增按钮操作 */
     handleAdd(row) {
       this.reset();
-      this.form.parentId = row.memberId;
-      this.form.father = row.name;
+      this.form.parentId = this.parentId;
+      this.form.father = this.father;
       this.open = true;
       this.title = "添加成员至家族树";
       this.getNotTree();
@@ -296,28 +279,46 @@ export default {
         this.getNotTree();
       });
     },
-    /** 提交按钮 */
-    submitForm() {
+    addForm(){
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          this.form.familyId = this.queryParams.familyId;
+            saveToTree(this.form).then(response => {
+              if (response.code === 200) {
+                this.msgSuccess("新增成功");
+                this.open = false;
+                this.getList();
+              }
+            });
+        }
+      });
+    },
+    updateForm(){
       this.$refs["form"].validate(valid => {
         if (valid) {
           this.form.familyId = this.queryParams.familyId;
-          if (this.form.memberId != null) {
-            updateMember(this.form).then(response => {
+          updateMember(this.form).then(response => {
               if (response.code === 200) {
                 this.msgSuccess("修改成功");
                 this.open = false;
                 this.getList();
               }
             });
-          } else {
-            addMember(this.form).then(response => {
+        }
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          this.form.familyId = this.queryParams.familyId;
+            saveToTree(this.form).then(response => {
               if (response.code === 200) {
-                this.msgSuccess("新增成功");
+                this.msgSuccess("保存成功");
                 this.open = false;
                 this.getList();
               }
             });
-          }
         }
       });
     },
@@ -325,15 +326,15 @@ export default {
     handleDelete(row) {
       const ids = row.memberId || this.ids;
       var familyId = this.queryParams.familyId;
-      this.$confirm('是否确认除?', "警告", {
+      this.$confirm('是否确认除?', "警告", {
           confirmButtonText: "确定",
           cancelButtonText: "取消",
           type: "warning"
         }).then(function() {
-          return delMember(familyId,ids);
+          return delToTree(familyId,ids);
         }).then(() => {
           this.getList();
-          this.msgSuccess("除成功");
+          this.msgSuccess("除成功");
         }).catch(function() {});
     },
   }