Quellcode durchsuchen

添加我的家族列表

Alex vor 4 Jahren
Ursprung
Commit
84aa02ef1d
3 geänderte Dateien mit 130 neuen und 28 gelöschten Zeilen
  1. 8 0
      src/api/system/family.js
  2. 46 4
      src/views/system/appUser/index.vue
  3. 76 24
      src/views/system/family/index.vue

+ 8 - 0
src/api/system/family.js

@@ -8,6 +8,14 @@ export function listFamily(query) {
     params: query
   })
 }
+// 根据会员id查询家族列表
+export function listFamilyByUid(query) {
+  return request({
+    url: '/system/family/listByUid',
+    method: 'get',
+    params: query
+  })
+}
 
 // 查询家族详细
 export function getFamily(id) {

+ 46 - 4
src/views/system/appUser/index.vue

@@ -198,7 +198,7 @@
     </el-dialog>
     <!-- 我的好友 -->
     <el-dialog title="好友列表" :visible.sync="friendsOpen" width="520px" append-to-body :close-on-click-modal=false>
-      <el-table v-loading="loading" :data="friendList" >
+      <el-table v-loading="friendLoading" :data="friendList" >
         <el-table-column label="序号" type="index" width="50" />
         <el-table-column label="昵称" align="center" prop="nickName" />
       </el-table>
@@ -213,6 +213,27 @@
         <el-button type="primary" @click="friendBack">返回</el-button>
       </div>
     </el-dialog>
+
+    <!-- 我的好友 -->
+    <el-dialog title="家族列表" :visible.sync="familyOpen" width="520px" append-to-body :close-on-click-modal=false>
+      <el-table v-loading="familyLoading" :data="familyList" >
+        <el-table-column label="序号" type="index" width="50" />
+        <el-table-column label="家族" align="center" prop="fullName" />
+        <el-table-column label="家族ID" align="center" prop="code" />
+        <el-table-column label="创建地" align="center" prop="address" />
+      </el-table>
+      <br />
+      <el-pagination small
+        v-show="mtotal>0"
+        :page-size="familyParams.pageSize"
+        :current-page="familyParams.pageNum"
+        :total="mtotal"
+      />
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="familyBack">返回</el-button>
+      </div>
+    </el-dialog>
+
   </div>
 </template>
 
@@ -220,6 +241,7 @@
 import { listUser, getUser, delUser, addUser, updateUser, exportUser } from "@/api/system/appUser";
 import appUserAvatar from "./detail/appUserAvatar";
 import { listFriends } from "@/api/system/friends";
+import { listFamilyByUid } from "@/api/system/family";
 
 export default {
   name: "AppUser",
@@ -230,6 +252,8 @@ export default {
     return {
       // 遮罩层
       loading: true,
+      friendLoading: true,
+      familyLoading: true,
       // 选中数组
       ids: [],
       nicknames: [],
@@ -244,6 +268,7 @@ export default {
       // 会员表格数据
       userList: [],
       friendList: [],
+      familyList: [],
       // 弹出层标题
       title: "",
       // 是否显示弹出层
@@ -264,12 +289,19 @@ export default {
         searchValue: null,
       },
       friendsOpen: false,
+      familyOpen: false,
       ftotal: 0,
+      mtotal: 0,
       friendsParams: {
         pageNum: 1,
         pageSize: 10,
         appUserId: null,
       },
+      familyParams: {
+        pageNum: 1,
+        pageSize: 10,
+        userId: null,
+      },
       reFresh: 1,
       // 表单参数
       form: {},
@@ -430,11 +462,11 @@ export default {
     },
 
     getMyFriends(){
-      this.loading = true;
+      this.friendLoading = true;
       listFriends(this.friendsParams).then(res => {
         this.friendList = res.rows;
         this.ftotal = res.total;
-      this.loading = false;
+        this.friendLoading = false;
       });
     },
     myFriend(row) {
@@ -447,7 +479,17 @@ export default {
     },
 
     myFamily(row) {
-
+      this.familyOpen = true;
+      this.familyLoading = true;
+      this.familyParams.userId = row.userId;
+      listFamilyByUid(this.familyParams).then(res => {
+        this.familyList = res.rows;
+        this.mtotal = res.total;
+        this.familyLoading = false;
+      });
+    },
+    familyBack(){
+      this.familyOpen = false;
     },
   }
 };

+ 76 - 24
src/views/system/family/index.vue

@@ -1,10 +1,46 @@
 <template>
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="家族名称" prop="name">
+      <el-form-item label="家族ID" prop="code">
+        <el-input
+          v-model="queryParams.code"
+          placeholder="请输入家族ID"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="姓氏" prop="name">
         <el-input
           v-model="queryParams.name"
-          placeholder="请输入家族名称"
+          placeholder="请输入姓氏"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="家族全称" prop="fullName">
+        <el-input
+          v-model="queryParams.fullName"
+          placeholder="请输入家族全称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="祖籍" prop="hometown">
+        <el-input
+          v-model="queryParams.hometown"
+          placeholder="请输入祖籍"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="所在城市" prop="city">
+        <el-input
+          v-model="queryParams.city"
+          placeholder="请输入所在城市"
           clearable
           size="small"
           @keyup.enter.native="handleQuery"
@@ -19,18 +55,18 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="家族头像url" prop="avatar">
+      <el-form-item label="家族描述" prop="contents">
         <el-input
-          v-model="queryParams.avatar"
-          placeholder="请输入家族头像url"
+          v-model="queryParams.contents"
+          placeholder="请输入家族描述"
           clearable
           size="small"
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="家族头像url" prop="city">
+      <el-form-item label="家族头像url" prop="avatar">
         <el-input
-          v-model="queryParams.city"
+          v-model="queryParams.avatar"
           placeholder="请输入家族头像url"
           clearable
           size="small"
@@ -87,12 +123,15 @@
 
     <el-table v-loading="loading" :data="familyList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="ID" align="center" prop="id" v-if="false"/>
-      <el-table-column label="家族名称" align="center" prop="name" />
+      <el-table-column label="主键" align="center" prop="id" v-if="false"/>
+      <el-table-column label="家族ID" align="center" prop="code" />
+      <el-table-column label="姓氏" align="center" prop="name" />
+      <el-table-column label="家族全称" align="center" prop="fullName" />
+      <el-table-column label="祖籍" align="center" prop="hometown" />
+      <el-table-column label="所在城市" align="center" prop="city" />
       <el-table-column label="家族地址" align="center" prop="address" />
-      <el-table-column label="家族描述" align="center" prop="content" />
+      <el-table-column label="家族描述" align="center" prop="contents" />
       <el-table-column label="家族头像url" align="center" prop="avatar" />
-      <el-table-column label="家族头像url" align="center" prop="city" />
       <el-table-column label="备注" align="center" prop="remark" />
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
@@ -125,21 +164,30 @@
     <!-- 添加或修改家族对话框 -->
     <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-        <el-form-item label="家族名称" prop="name">
-          <el-input v-model="form.name" placeholder="请输入家族名称" />
+        <el-form-item label="家族ID" prop="code">
+          <el-input v-model="form.code" placeholder="请输入家族ID" />
+        </el-form-item>
+        <el-form-item label="姓氏" prop="name">
+          <el-input v-model="form.name" placeholder="请输入姓氏" />
+        </el-form-item>
+        <el-form-item label="家族全称" prop="fullName">
+          <el-input v-model="form.fullName" placeholder="请输入家族全称" />
+        </el-form-item>
+        <el-form-item label="祖籍" prop="hometown">
+          <el-input v-model="form.hometown" placeholder="请输入祖籍" />
+        </el-form-item>
+        <el-form-item label="所在城市" prop="city">
+          <el-input v-model="form.city" placeholder="请输入所在城市" />
         </el-form-item>
         <el-form-item label="家族地址" prop="address">
           <el-input v-model="form.address" placeholder="请输入家族地址" />
         </el-form-item>
-        <el-form-item label="家族描述">
-          <editor v-model="form.content" :min-height="192"/>
+        <el-form-item label="家族描述" prop="contents">
+          <el-input v-model="form.contents" placeholder="请输入家族描述" />
         </el-form-item>
         <el-form-item label="家族头像url" prop="avatar">
           <el-input v-model="form.avatar" placeholder="请输入家族头像url" />
         </el-form-item>
-        <el-form-item label="家族头像url" prop="city">
-          <el-input v-model="form.city" placeholder="请输入家族头像url" />
-        </el-form-item>
         <el-form-item label="备注" prop="remark">
           <el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
         </el-form-item>
@@ -154,11 +202,9 @@
 
 <script>
 import { listFamily, getFamily, delFamily, addFamily, updateFamily, exportFamily } from "@/api/system/family";
-import Editor from '@/components/Editor';
 
 export default {
   name: "Family",
-  components: { Editor },
   data() {
     return {
       // 遮罩层
@@ -183,11 +229,14 @@ export default {
       queryParams: {
         pageNum: 1,
         pageSize: 10,
+        code: null,
         name: null,
+        fullName: null,
+        hometown: null,
+        city: null,
         address: null,
-        content: null,
+        contents: null,
         avatar: null,
-        city: null,
       },
       // 表单参数
       form: {},
@@ -218,11 +267,14 @@ export default {
     reset() {
       this.form = {
         id: null,
+        code: null,
         name: null,
+        fullName: null,
+        hometown: null,
+        city: null,
         address: null,
-        content: null,
+        contents: null,
         avatar: null,
-        city: null,
         createBy: null,
         createTime: null,
         updateBy: null,