Quellcode durchsuchen

添加相册模块,修改路由跳转

luobo vor 4 Jahren
Ursprung
Commit
8ecf8661c3
4 geänderte Dateien mit 608 neuen und 86 gelöschten Zeilen
  1. 53 0
      src/api/system/album.js
  2. 13 13
      src/router/index.js
  3. 370 0
      src/views/system/album/index.vue
  4. 172 73
      src/views/system/family/index.vue

+ 53 - 0
src/api/system/album.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询家族相簿列表
+export function listAlbum(query) {
+  return request({
+    url: '/system/album/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询家族相簿详细
+export function getAlbum(id) {
+  return request({
+    url: '/system/album/' + id,
+    method: 'get'
+  })
+}
+
+// 新增家族相簿
+export function addAlbum(data) {
+  return request({
+    url: '/system/album',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改家族相簿
+export function updateAlbum(data) {
+  return request({
+    url: '/system/album',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除家族相簿
+export function delAlbum(id) {
+  return request({
+    url: '/system/album/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出家族相簿
+export function exportAlbum(query) {
+  return request({
+    url: '/system/album/export',
+    method: 'get',
+    params: query
+  })
+}

+ 13 - 13
src/router/index.js

@@ -154,19 +154,19 @@ export const constantRoutes = [
       },
     ]
   },
-  {
-    path: '/family',
-    component: Layout,
-    hidden: true,
-    children: [
-      {
-        path: 'member',
-        name: 'member',
-        component: (resolve) => require(['@/views/system/family/detail/member'], resolve),
-        meta: { title: '家族成员' }
-      },
-    ]
-  },
+  // {
+  //   path: '/family',
+  //   component: Layout,
+  //   hidden: true,
+  //   children: [
+  //     {
+  //       path: 'member',
+  //       name: 'member',
+  //       component: (resolve) => require(['@/views/system/family/detail/member'], resolve),
+  //       meta: { title: '家族成员' }
+  //     },
+  //   ]
+  // },
 ]
 
 export default new Router({

+ 370 - 0
src/views/system/album/index.vue

@@ -0,0 +1,370 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="家族" prop="familyId" v-if="!familyName">
+        <el-select v-model="queryParams.familyId" placeholder="请选择家族" clearable size="small">
+          <!-- <el-option label="请选择字典生成" value="" /> -->
+           <el-option
+            v-for="item in familyOptions"
+            :key="'f'+item.id"
+            :label="item.fullName"
+            :value="item.id"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item  v-else label="家族名称">
+      <span>{{familyName}}</span>
+      </el-form-item>
+      <el-form-item label="状态" prop="status">
+        <el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small">
+          <el-option
+            v-for="dict in statusOptions"
+            :key="dict.dictValue"
+            :label="dict.dictLabel"
+            :value="dict.dictValue"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item>
+        <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['system:album:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['system:album:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['system:album:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['system:album:export']"
+        >导出</el-button>
+      </el-col>
+	  <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="albumList" @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="familyId" >
+        <template slot-scope="scope">
+          <span>{{scope.row.family.fullName}}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="相簿标题名称" align="center" prop="title" />
+      <el-table-column label="相簿描述" align="center" prop="contents" />
+      <el-table-column label="默认图片" align="center" prop="url" />
+      <el-table-column label="备注" align="center" prop="remark" />
+      <el-table-column label="状态" align="center" prop="status" :formatter="statusFormat" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['system:album:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['system:album:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改家族相簿对话框 -->
+    <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="familyId">
+          <el-select v-model="form.familyId" placeholder="请选择家族">
+            <el-option
+            v-for="item in familyOptions"
+            :key="'f'+item.id"
+            :label="item.fullName"
+            :value="item.id"
+          />
+          </el-select>
+        </el-form-item>
+        <el-form-item label="相簿标题名称" prop="title">
+          <el-input v-model="form.title" type="textarea" placeholder="请输入内容" />
+        </el-form-item>
+        <el-form-item label="相簿描述" prop="contents">
+          <el-input v-model="form.contents" placeholder="请输入相簿描述" />
+        </el-form-item>
+        <el-form-item label="默认图片url(应该获取第一张图片作为默认)" prop="url">
+          <el-input v-model="form.url" placeholder="请输入默认图片url(应该获取第一张图片作为默认)" />
+        </el-form-item>
+        <el-form-item label="备注" prop="remark">
+          <el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
+        </el-form-item>
+        <el-form-item label="状态" prop="status">
+          <el-select v-model="form.status" placeholder="请选择状态">
+            <el-option
+              v-for="dict in statusOptions"
+              :key="dict.dictValue"
+              :label="dict.dictLabel"
+              :value="dict.dictValue"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="删除标志" prop="delFlag">
+          <el-input v-model="form.delFlag" placeholder="请输入删除标志" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listAlbum, getAlbum, delAlbum, addAlbum, updateAlbum, exportAlbum } from "@/api/system/album";
+import { listFamily} from "@/api/system/family";
+export default {
+  name: "Album",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 家族相簿表格数据
+      albumList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 状态字典
+      statusOptions: [],
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        familyId: null,
+        title: null,
+        status: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      },
+      familyId:undefined,
+      familyName:undefined,
+      familyOptions:[],
+
+    };
+  },
+  activated() {
+    this.init()
+  },
+  mounted () {
+    this.init();
+    this.getDicts("sys_show_hide").then(response => {
+      this.statusOptions = response.data;
+    });
+    this.getFamilyOptions();
+  },
+  methods: {
+
+    init(){
+      this.familyId=this.$route.query.fid;
+      this.familyName=this.$route.query.fname;
+      this.queryParams.familyId = this.familyId 
+      this.getList();
+    },
+
+    //获取家族列表
+    getFamilyOptions(){
+      var _params= {
+        pageNum: 1,
+        pageSize: 10000000,
+        
+      }
+      listFamily(_params).then(res=>{
+       
+        if(res.code == 200){
+          this.familyOptions = res.rows
+        }
+      })
+
+    },
+
+    /** 查询家族相簿列表 */
+    getList() {
+      this.loading = true;
+      listAlbum(this.queryParams).then(response => {
+        this.albumList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 状态字典翻译
+    statusFormat(row, column) {
+      return this.selectDictLabel(this.statusOptions, row.status);
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        familyId: null,
+        title: null,
+        contents: null,
+        url: null,
+        createBy: null,
+        createTime: null,
+        updateBy: null,
+        updateTime: null,
+        remark: null,
+        status: null,
+        delFlag: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加家族相簿";
+      this.$nextTick(()=>{
+        this.form.familyId =this.familyId
+      })
+      
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getAlbum(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改家族相簿";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateAlbum(this.form).then(response => {
+              if (response.code === 200) {
+                this.msgSuccess("修改成功");
+                this.open = false;
+                this.getList();
+              }
+            });
+          } else {
+            addAlbum(this.form).then(response => {
+              if (response.code === 200) {
+                this.msgSuccess("新增成功");
+                this.open = false;
+                this.getList();
+              }
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$confirm('是否确认删除家族相簿编号为"' + ids + '"的数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return delAlbum(ids);
+        }).then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
+        }).catch(function() {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('是否确认导出所有家族相簿数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return exportAlbum(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+        }).catch(function() {});
+    }
+  }
+};
+</script>

+ 172 - 73
src/views/system/family/index.vue

@@ -1,6 +1,12 @@
 <template>
   <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+    <el-form
+      :model="queryParams"
+      ref="queryForm"
+      :inline="true"
+      v-show="showSearch"
+      label-width="68px"
+    >
       <el-form-item label="家族ID" prop="code">
         <el-input
           v-model="queryParams.code"
@@ -38,8 +44,16 @@
         />
       </el-form-item>
       <el-form-item>
-        <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+        <el-button
+          type="cyan"
+          icon="el-icon-search"
+          size="mini"
+          @click="handleQuery"
+          >搜索</el-button
+        >
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+          >重置</el-button
+        >
       </el-form-item>
     </el-form>
 
@@ -51,7 +65,8 @@
           size="mini"
           @click="handleAdd"
           v-hasPermi="['system:family:add']"
-        >新增</el-button>
+          >新增</el-button
+        >
       </el-col>
       <el-col :span="1.5">
         <el-button
@@ -61,7 +76,8 @@
           :disabled="single"
           @click="handleUpdate"
           v-hasPermi="['system:family:edit']"
-        >修改</el-button>
+          >修改</el-button
+        >
       </el-col>
       <el-col :span="1.5">
         <el-button
@@ -71,25 +87,57 @@
           :disabled="multiple"
           @click="handleDelete"
           v-hasPermi="['system:family:remove']"
-        >删除</el-button>
+          >删除</el-button
+        >
       </el-col>
-	  <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+      <right-toolbar
+        :showSearch.sync="showSearch"
+        @queryTable="getList"
+      ></right-toolbar>
     </el-row>
 
-    <el-table v-loading="loading" :data="familyList" @selection-change="handleSelectionChange">
+    <el-table
+      v-loading="loading"
+      :data="familyList"
+      @selection-change="handleSelectionChange"
+    >
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="主键" align="center" prop="id" v-if="false"/>
-      <el-table-column label="家族ID" align="center" prop="code" width="120px"/>
-      <el-table-column label="姓氏" align="center" prop="name"  width="80px"/>
-      <el-table-column label="家族全称" align="center" prop="fullName" width="150px"/>
-      <el-table-column label="创建者" align="center" prop="createName" width="100px">
+      <el-table-column label="主键" align="center" prop="id" v-if="false" />
+      <el-table-column
+        label="家族ID"
+        align="center"
+        prop="code"
+        width="120px"
+      />
+      <el-table-column label="姓氏" align="center" prop="name" width="80px" />
+      <el-table-column
+        label="家族全称"
+        align="center"
+        prop="fullName"
+        width="150px"
+      />
+      <el-table-column
+        label="创建者"
+        align="center"
+        prop="createName"
+        width="100px"
+      >
         <template slot-scope="scope">
-          <span v-if="scope.row.createName">{{scope.row.createName}}</span>
+          <span v-if="scope.row.createName">{{ scope.row.createName }}</span>
           <span v-if="scope.row.createName == null">管理员</span>
         </template>
       </el-table-column>
-      <el-table-column label="家族地址" align="center" prop="address" width="350px"/>
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+      <el-table-column
+        label="家族地址"
+        align="center"
+        prop="address"
+        width="350px"
+      />
+      <el-table-column
+        label="操作"
+        align="center"
+        class-name="small-padding fixed-width"
+      >
         <template slot-scope="scope">
           <el-button
             size="mini"
@@ -97,20 +145,30 @@
             icon="el-icon-edit"
             @click="familyMember(scope.row)"
             v-hasPermi="['system:family:edit']"
-          >成员</el-button>
+            >成员</el-button
+          >
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-menu"
+            @click="familyAlbum(scope.row)"
+            v-hasPermi="['system:album:list']"
+            >相册</el-button
+          >
           <el-button
             size="mini"
             type="text"
             icon="el-icon-delete"
             @click="handleDelete(scope.row)"
             v-hasPermi="['system:family:remove']"
-          >删除</el-button>
+            >删除</el-button
+          >
         </template>
       </el-table-column>
     </el-table>
-    
+
     <pagination
-      v-show="total>0"
+      v-show="total > 0"
       :total="total"
       :page.sync="queryParams.pageNum"
       :limit.sync="queryParams.pageSize"
@@ -118,9 +176,14 @@
     />
 
     <!-- 添加或修改家族对话框 -->
-    <el-dialog :title="title" :visible.sync="open" width="750px" append-to-body :close-on-click-modal=false>
+    <el-dialog
+      :title="title"
+      :visible.sync="open"
+      width="750px"
+      append-to-body
+      :close-on-click-modal="false"
+    >
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-
         <el-row :gutter="0" type="flex" justify="start">
           <el-col :span="16">
             <el-form-item label="家族名称" prop="fullName">
@@ -130,8 +193,15 @@
               <el-input v-model="form.name" placeholder="请输入姓氏" />
             </el-form-item>
             <el-form-item label="家族地址" prop="address">
-              <area-cascader v-if="pshow" :level="1" type='all' :data="pcaa" v-model="addressCode" 
-                placeholder="请选择地址" @change="getChangeVal"></area-cascader>
+              <area-cascader
+                v-if="pshow"
+                :level="1"
+                type="all"
+                :data="pcaa"
+                v-model="addressCode"
+                placeholder="请选择地址"
+                @change="getChangeVal"
+              ></area-cascader>
             </el-form-item>
           </el-col>
 
@@ -139,7 +209,7 @@
             <el-form-item label-width="0px" prop="avatar">
               <div class="text-center">
                 <familyAvatar :family="form" :key="reFresh" />
-                ID: {{form.code}}
+                ID: {{ form.code }}
               </div>
             </el-form-item>
           </el-col>
@@ -147,7 +217,12 @@
 
         <el-form-item label="家族描述" prop="contents">
           <!-- <editor v-model="form.contents" :min-height="292" /> -->
-          <el-input :rows="10" v-model="form.contents" type="textarea" placeholder="请输入描述" />
+          <el-input
+            :rows="10"
+            v-model="form.contents"
+            type="textarea"
+            placeholder="请输入描述"
+          />
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -159,9 +234,16 @@
 </template>
 
 <script>
-import { listFamily, getFamily, delFamily, addFamily, updateFamily, exportFamily } from "@/api/system/family";
-import { pca, pcaa } from 'area-data';
-import Editor from '@/components/Editor';
+import {
+  listFamily,
+  getFamily,
+  delFamily,
+  addFamily,
+  updateFamily,
+  exportFamily
+} from "@/api/system/family";
+import { pca, pcaa } from "area-data";
+import Editor from "@/components/Editor";
 import familyAvatar from "./detail/familyAvatar";
 
 export default {
@@ -200,7 +282,7 @@ export default {
         hometown: null,
         address: null,
         contents: null,
-        avatar: null,
+        avatar: null
       },
       reFresh: 1,
       // 表单参数
@@ -208,14 +290,10 @@ export default {
       // 表单校验
       rules: {
         fullName: [
-          { required: true, message: "家族名称不能为空", trigger: "blur" },
-        ],
-        name: [
-          { required: true, message: "姓氏不能为空", trigger: "blur" },
-        ],
-        contents: [
-          { required: true, message: "描述不能为空", trigger: "blur" },
+          { required: true, message: "家族名称不能为空", trigger: "blur" }
         ],
+        name: [{ required: true, message: "姓氏不能为空", trigger: "blur" }],
+        contents: [{ required: true, message: "描述不能为空", trigger: "blur" }]
       },
 
       addressCode: [],
@@ -223,11 +301,11 @@ export default {
       pshow: true
     };
   },
-  watch:{
+  watch: {
     // 监听form值,只要有改变,则key值reFresh变更。
     // 然后自定义上传图片组件familyAvatar重新渲染
-    form(){
-      ++this.reFresh
+    form() {
+      ++this.reFresh;
     }
   },
   created() {
@@ -236,22 +314,24 @@ export default {
   },
   methods: {
     /** 清空地址选择器 */
-    addressShow(){
+    addressShow() {
       this.pshow = false;
       this.addressCode = [];
-      var t = setTimeout(() => {this.pshow = true},0);
+      var t = setTimeout(() => {
+        this.pshow = true;
+      }, 0);
     },
     /** 选择家族地址赋值 */
-    getChangeVal(data){
-      var val="";
+    getChangeVal(data) {
+      var val = "";
       var kk = [];
-      for(var key in data) {
-        for(var k in data[key]) {
-          val += data[key][k]
-          kk.push(k)
+      for (var key in data) {
+        for (var k in data[key]) {
+          val += data[key][k];
+          kk.push(k);
         }
       }
-      console.log(kk.join(",")+" | "+val)
+      console.log(kk.join(",") + " | " + val);
 
       this.form.addressCode = kk.join(",");
       this.form.address = val;
@@ -302,9 +382,9 @@ export default {
     },
     // 多选框选中数据
     handleSelectionChange(selection) {
-      this.ids = selection.map(item => item.id)
-      this.single = selection.length!==1
-      this.multiple = !selection.length
+      this.ids = selection.map(item => item.id);
+      this.single = selection.length !== 1;
+      this.multiple = !selection.length;
     },
     /** 新增按钮操作 */
     handleAdd() {
@@ -317,13 +397,17 @@ export default {
     /** 修改按钮操作 */
     handleUpdate(row) {
       this.reset();
-      const id = row.id || this.ids
+      const id = row.id || this.ids;
       getFamily(id).then(response => {
         this.form = response.data;
         this.open = true;
         this.title = "修改家族";
         var code = this.form.addressCode.split(",");
-        this.addressCode = [pcaa[86][code[0]], pcaa[code[0]][code[1]], pcaa[code[1]][code[2]]];
+        this.addressCode = [
+          pcaa[86][code[0]],
+          pcaa[code[0]][code[1]],
+          pcaa[code[1]][code[2]]
+        ];
       });
     },
     /** 提交按钮 */
@@ -354,36 +438,51 @@ export default {
     handleDelete(row) {
       const ids = row.id || this.ids;
       this.$confirm('是否确认删除家族编号为"' + ids + '"的数据项?', "警告", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        }).then(function() {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      })
+        .then(function() {
           return delFamily(ids);
-        }).then(() => {
+        })
+        .then(() => {
           this.getList();
           this.msgSuccess("删除成功");
-        }).catch(function() {});
+        })
+        .catch(function() {});
     },
     /** 导出按钮操作 */
     handleExport() {
       const queryParams = this.queryParams;
-      this.$confirm('是否确认导出所有家族数据项?', "警告", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        }).then(function() {
+      this.$confirm("是否确认导出所有家族数据项?", "警告", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      })
+        .then(function() {
           return exportFamily(queryParams);
-        }).then(response => {
+        })
+        .then(response => {
           this.download(response.msg);
-        }).catch(function() {});
+        })
+        .catch(function() {});
     },
     familyMember(row) {
-      this.$router.push({ 
-        path:'/family/member',
+      this.$router.push({
+        path: "/family/member",
         query: {
-            fid: row.id
+          fid: row.id
         }
-      })
+      });
+    },
+    familyAlbum(_row) {
+      this.$router.push({
+        path: "/family/album",
+        query: {
+          fid: _row.id,
+          fname: _row.fullName
+        }
+      });
     }
   }
 };
@@ -408,10 +507,10 @@ export default {
 .area-select .area-selected-trigger {
   padding: 0px 13px;
 }
-.area-select.large{
+.area-select.large {
   width: 100%;
 }
 /* .el-form-item {
   margin-bottom: 8px;
 } */
-</style>
+</style>