| | |
| | | <template> |
| | | <div> |
| | | <h1>你好</h1> |
| | | <div class="app-container"> |
| | | <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"> |
| | | |
| | | <el-form-item label="身份" prop="identity" > |
| | | <el-select |
| | | v-model="queryParams.identity" |
| | | placeholder="请选择身份" |
| | | clearable |
| | | style="width: 240px" |
| | | @keyup.enter.native="handleQuery" |
| | | > |
| | | <el-option |
| | | v-for="item in typeOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="姓名" prop="nickName"> |
| | | <el-input |
| | | v-model="queryParams.nickName" |
| | | placeholder="请输入姓名" |
| | | clearable |
| | | style="width: 240px" |
| | | @keyup.enter.native="handleQuery"> |
| | | <i slot="prefix" class="el-input__icon el-icon-search"></i> |
| | | </el-input> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="性别" prop="sex"> |
| | | <el-select v-model="queryParams.sex" placeholder="请选择性别" clearable |
| | | style="width: 240px" @keyup.enter.native="handleQuery"> |
| | | <el-option v-for="item in typeOption" |
| | | :key="item.value" :label="item.label" :value="item.value"/> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="生日" prop="birth"> |
| | | <el-date-picker |
| | | v-model="queryParams.birth" |
| | | style="width: 240px; |
| | | height: 30px; |
| | | background: #FFFFFF; |
| | | border-radius: 14px 14px 14px 14px; |
| | | opacity: 0.5; |
| | | border: 1px solid rgba(0,0,0,0.25);" |
| | | value-format="yyyy-MM-dd" |
| | | @keyup.enter.native="handleQuery" |
| | | ></el-date-picker> |
| | | |
| | | </el-form-item> |
| | | |
| | | <el-form-item> |
| | | <el-button size="mini" @click="handleQuery" style=" width: 67px;height: 27px;background: #FFDDE3; |
| | | border-radius: 7px 7px 7px 7px;opacity: 1; " >搜索</el-button> |
| | | <el-button size="mini" @click="resetQuery" style=" width: 67px;height: 27px;background: #FFDDE3; |
| | | border-radius: 7px 7px 7px 7px;opacity: 1; ">重置</el-button> |
| | | |
| | | </el-form-item> |
| | | </el-form> |
| | | <div> |
| | | <el-row :gutter="10" class="mb8"> |
| | | <!-- <el-col :span="1.5">--> |
| | | <!-- <el-button--> |
| | | <!-- type="warning"--> |
| | | <!-- plain--> |
| | | <!-- icon="el-icon-download"--> |
| | | <!-- size="mini"--> |
| | | <!-- @click="handleExport"--> |
| | | <!-- v-hasPermi="['family:note:export']"--> |
| | | <!-- >导出</el-button>--> |
| | | <!-- </el-col>--> |
| | | |
| | | <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
| | | </el-row> |
| | | </div> |
| | | |
| | | <el-table class="eltab" v-loading="loading" border :data="listRoot" :row-key="getRowId" ref="multipleTable" @selection-change="handleSelectionChange" :row-class-name="tableRowClassName" style="background: #FFEFF2; border-radius: 14px 14px 14px 14px;"> |
| | | <el-table-column type="selection" width="55" align="center" /> |
| | | <el-table-column fixed label="序号" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="80"/> |
| | | <el-table-column label="身份" prop="identity" sortable width="100" > |
| | | <template slot-scope="scope" > |
| | | <span v-if="scope.row.isMyFamily==1">第{{scope.row.identity}}代</span> |
| | | <span v-else>——</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="姓名" prop="nickName" sortable :show-overflow-tooltip="true" width="100" align="center"> |
| | | <template slot-scope="scope" > |
| | | |
| | | <el-button @click="handleCheck(scope.row)">{{scope.row.nickName}}</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column label="性别" prop="sex" sortable width="100" align="center" > |
| | | <template slot-scope="scope"> |
| | | <span v-if="scope.row.sex===0">男</span> |
| | | <span v-if="scope.row.sex===1">女</span> |
| | | <span v-if="scope.row.sex== null">——</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="出生时间" prop="birth" sortable width="130" align="center" > |
| | | <template slot-scope="scope">{{scope.row.birth? scope.row.birth: '————'}}</template> |
| | | </el-table-column> |
| | | <el-table-column label="全生命周期" prop="deadDay" sortable width="130" align="center" > |
| | | <template slot-scope="scope">{{scope.row.deadDay? scope.row.deadDay: '————'}}</template> |
| | | </el-table-column> |
| | | <el-table-column label="手机号码" prop="phoneNumber" sortable width="130" align="center" > |
| | | <template slot-scope="scope">{{scope.row.phoneNumber? scope.row.phoneNumber: '————'}}</template> |
| | | </el-table-column> |
| | | <el-table-column label="所在单位" prop="unit" sortable width="150" align="center" > |
| | | <template slot-scope="scope">{{scope.row.unit? scope.row.unit: '————'}}</template> |
| | | </el-table-column> |
| | | <!-- <el-table-column label="配偶" prop="spouseId" sortable width="110" align="center" >--> |
| | | <!-- <template slot-scope="scope"><span>{{getPerson(scope.row.spouseId)}}</span></template>--> |
| | | <!-- </el-table-column>--> |
| | | <el-table-column label="配偶" prop="spouseName" sortable width="110" align="center" > |
| | | <template slot-scope="scope">{{scope.row.spouseName? scope.row.spouseName: '————'}}</template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column fixed="right" label="操作" align="center" class-name="small-padding fixed-width"> |
| | | <template slot-scope="scope" v-if="scope.row.roleId !== 1"> |
| | | |
| | | |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-d-arrow-right" |
| | | @click="handleCheck(scope.row)"> |
| | | 查看详情 |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <pagination |
| | | v-show="total>0" |
| | | :total="total" |
| | | :page.sync="queryParams.pageNum" |
| | | :limit.sync="queryParams.pageSize" |
| | | style="background: #FEF7FC;" |
| | | @pagination="getList" |
| | | /> |
| | | |
| | | <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body> |
| | | |
| | | </el-dialog> |
| | | |
| | | <el-dialog :title="title" :visible.sync="openDataScope" width="500px" append-to-body> |
| | | |
| | | </el-dialog> |
| | | |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { listRole, getRole, delRole, addRole, updateRole, dataScope, changeRoleStatus, deptTreeSelect } from "@/api/system/role"; |
| | | import { treeselect as menuTreeselect, roleMenuTreeselect } from "@/api/system/menu"; |
| | | |
| | | import { Notification, MessageBox, Message, Loading } from 'element-ui' |
| | | |
| | | //导入接口函数 |
| | | import {enload, uploadPic} from "@/api/contacts/index"; |
| | | import {getRoot,listUserAll} from "@/api/root/index"; |
| | | |
| | | |
| | | export default { |
| | | name: "index" |
| | | } |
| | | name: "index", |
| | | dicts: ['sys_normal_disable'], |
| | | data() { |
| | | return { |
| | | // 遮罩层 |
| | | disabled: false, |
| | | |
| | | loading: true, |
| | | formData:[], |
| | | // 选中数组 |
| | | ids: [], |
| | | // 非单个禁用 |
| | | single: true, |
| | | // 非多个禁用 |
| | | multiple: true, |
| | | // 显示搜索条件 |
| | | showSearch: true, |
| | | pageSize: 10, // 每页显示数据条数 |
| | | pageNum: 1, // 当前页码 // 总条数 |
| | | total: 0, |
| | | // 家谱表格数据 |
| | | listRoot: [], |
| | | // 弹出层标题 |
| | | title: "", |
| | | // 是否显示弹出层 |
| | | open: false, |
| | | // 是否显示弹出层(数据权限) |
| | | openDataScope: false, |
| | | menuExpand: false, |
| | | menuNodeAll: false, |
| | | deptExpand: true, |
| | | deptNodeAll: false, |
| | | // 日期范围 |
| | | dateRange: [], |
| | | // 数据范围选项 |
| | | fot:[".jpg",".jif",'.M4A'], |
| | | fileList:[], |
| | | fileListOther:[], |
| | | dsb:true, |
| | | btn:false, |
| | | fit:['fill'], |
| | | uploading: false, |
| | | formDat: { |
| | | //张氏一览表 |
| | | userid:undefined, |
| | | nickName:undefined, |
| | | oldName:undefined, |
| | | sex:undefined, |
| | | nationality:undefined, |
| | | nation:undefined, |
| | | maritalStatus:undefined, |
| | | phoneNumber:undefined, |
| | | idNum:undefined, |
| | | locationAddress:undefined, |
| | | alwaysAddress:undefined, |
| | | locationPolice:undefined, |
| | | alwaysPolice:undefined, |
| | | outStatus:undefined, |
| | | idNo:undefined, |
| | | unit:undefined, |
| | | position:undefined, |
| | | politicalOutlook:undefined, |
| | | deadDay:undefined, |
| | | spouseId:undefined, |
| | | spouseName:undefined, |
| | | img:undefined, |
| | | fatherId:undefined, |
| | | momId:undefined, |
| | | birth:undefined, |
| | | familyId:undefined, |
| | | secondFamilyId:undefined, |
| | | childList:undefined, |
| | | identity:undefined, |
| | | isMyFamily:undefined, |
| | | url: undefined, |
| | | |
| | | }, |
| | | // 菜单列表 |
| | | menuOptions: [], |
| | | // 部门列表 |
| | | deptOptions: [], |
| | | // 查询参数 |
| | | queryParams: { |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | identity:undefined, |
| | | nickName:undefined, |
| | | sex:undefined, |
| | | birth:undefined, |
| | | clanId: undefined |
| | | }, |
| | | // searchVal:"", |
| | | |
| | | // 表单参数 |
| | | form: {}, |
| | | defaultProps: { |
| | | children: "children", |
| | | label: "label" |
| | | }, |
| | | // 表单校验 |
| | | rules: { |
| | | // id: [{ |
| | | // required: true, |
| | | // message: '请输入id', |
| | | // trigger: 'blur' |
| | | // }], |
| | | |
| | | nickName: [{ |
| | | required: true, |
| | | message: '请输入姓名', |
| | | trigger: 'blur' |
| | | }], |
| | | sex: [{ |
| | | required: true, |
| | | message: '请输入性别', |
| | | trigger: 'blur' |
| | | }], |
| | | birth: [{ |
| | | // required: true, |
| | | message: '请输入出生时间', |
| | | trigger: 'blur' |
| | | }], |
| | | deadDay: [{ |
| | | // required: true, |
| | | message: '请输入全生命周期', |
| | | trigger: 'blur' |
| | | }], |
| | | |
| | | }, |
| | | typeOption: [{ |
| | | value: '0', |
| | | label: '男', |
| | | }, |
| | | { |
| | | value: '1', |
| | | label: '女', |
| | | }], |
| | | typeOptions: [{ |
| | | value:'1', |
| | | label:'第1代' |
| | | },{ |
| | | value:'2', |
| | | label:'第2代' |
| | | },{ |
| | | value:'3', |
| | | label:'第3代' |
| | | },{ |
| | | value:'4', |
| | | label:'第4代' |
| | | }], |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getList(); |
| | | }, |
| | | methods: { |
| | | // 取消按钮 |
| | | cancelData() { |
| | | this.open = false; |
| | | this.reset(); |
| | | }, |
| | | //拿到配偶的姓名 |
| | | getPerson(id) |
| | | { |
| | | // alert(id) |
| | | // alert(typeof(id)) |
| | | // this.listRoot.forEach(function(item, index) { |
| | | // //item 就是当日按循环到的对象 |
| | | // //index是循环的索引,从0开始 |
| | | // //alert(typeof(item.userId)) |
| | | // if(item.userId==id){ |
| | | // // alert(89) |
| | | // alert(item.nickName) |
| | | // return item.nickName |
| | | // } |
| | | |
| | | // }) |
| | | let username = "" |
| | | for(let i = 0; i < this.listRoot.length;i++) |
| | | { |
| | | if(this.listRoot[i].userId==id) |
| | | username = this.listRoot[i].nickName |
| | | } |
| | | return username; |
| | | // return "12ddd" |
| | | }, |
| | | //隔行变色 |
| | | tableRowClassName({ row, rowIndex }) { |
| | | if (rowIndex % 2 == 0) { |
| | | return "statistics-warning-row1"; |
| | | } else { |
| | | return "statistics-warning-row"; |
| | | } |
| | | }, |
| | | /** 查询家谱列表 */ |
| | | getList() { |
| | | this.loading = true; |
| | | // console.log(this.queryParams) |
| | | //alert(23) |
| | | this.queryParams.happenStartTime = this.dateRange.length > 0 && this.dateRange[0] |
| | | this.queryParams.happenEndTime = this.dateRange.length > 0 && this.dateRange[1] |
| | | this.queryParams.clanId = this.$store.state.user.clanId |
| | | this.listRoot = [] |
| | | // listProperty(this.addDateRange(this.queryParams, this.dateRange)).then(response => { |
| | | listUserAll(this.queryParams).then(response => { |
| | | // console.log(response.data) |
| | | this.listRoot = response.data.data; |
| | | this.total = response.data.total; |
| | | // this.pageNum=1; |
| | | // this.pageSize=10; |
| | | // this.pageNum = response.data.pageNum; |
| | | this.loading = false; |
| | | } |
| | | ); |
| | | }, |
| | | handlePageChange(currentPage) { |
| | | this.pageNum = currentPage; // 根据 currentPage 计算出 pageNum 值 |
| | | this.getList(); |
| | | }, |
| | | //身份选择 |
| | | getSrc(identity) { |
| | | if (identity === '1'){ |
| | | return '第1代' |
| | | }else if(identity === '2'){ |
| | | return '第2代' |
| | | }else if(identity === '3'){ |
| | | return '第3代' |
| | | }else if(identity === '4'){ |
| | | return '第4代' |
| | | }else { |
| | | return '其它' |
| | | } |
| | | }, |
| | | getRowId(row) |
| | | { |
| | | return row.id |
| | | }, |
| | | |
| | | // 取消按钮 |
| | | cancel() { |
| | | this.open = false; |
| | | this.reset(); |
| | | }, |
| | | // 取消按钮(数据权限) |
| | | cancelDataScope() { |
| | | this.openDataScope = false; |
| | | }, |
| | | // 表单重置 |
| | | reset() { |
| | | if (this.$refs.menu != undefined) { |
| | | this.$refs.menu.setCheckedKeys([]); |
| | | } |
| | | this.menuExpand = false, |
| | | this.menuNodeAll = false, |
| | | this.deptExpand = true, |
| | | this.deptNodeAll = false, |
| | | this.form = { |
| | | roleId: undefined, |
| | | roleName: undefined, |
| | | roleKey: undefined, |
| | | roleSort: 0, |
| | | status: "0", |
| | | menuIds: [], |
| | | deptIds: [], |
| | | menuCheckStrictly: true, |
| | | deptCheckStrictly: true, |
| | | remark: undefined |
| | | }; |
| | | this.resetForm("elForm"); |
| | | }, |
| | | /** 搜索按钮操作 */ |
| | | handleQuery() { |
| | | this.queryParams.pageNum = 1; |
| | | this.getList(); |
| | | }, |
| | | /** 重置按钮操作 */ |
| | | resetQuery() { |
| | | this.dateRange = []; |
| | | this.resetForm("queryForm"); |
| | | this.handleQuery(); |
| | | }, |
| | | // 多选框选中数据 |
| | | handleSelectionChange(selection) { |
| | | this.ids = selection.map(item => item.id) |
| | | console.log(this.ids) |
| | | this.single = selection.length!=1 |
| | | this.multiple = !selection.length |
| | | }, |
| | | // //每次改变input框值时就改变this.myTableData的值 |
| | | // inputChange() { //循环每一项 只要content的值含有输入的searchVal值,就加进newList;反之,就无东西加进newList |
| | | // let newlist = this.formDat.filter( |
| | | // (item) => item.content.indexOf(this.searchVal) > -1 |
| | | // ); |
| | | // this.contactList = newlist; |
| | | // }, |
| | | |
| | | |
| | | |
| | | /** 查看详细信息 */ |
| | | handleCheck(row){ |
| | | const id = row.userId; |
| | | // alert(id) |
| | | this.$router.push("/familymodel/jiagenwang/personInfo/" + id); |
| | | }, |
| | | |
| | | handlePictureCardPreview(file) { |
| | | this.dialogImageUrl = file.url; |
| | | this.dialogVisible = true; |
| | | }, |
| | | |
| | | |
| | | /** 导出按钮操作 */ |
| | | // handleExport() { |
| | | // this.download('/self/user/export/genealogy', { |
| | | // ...this.queryParams |
| | | // }, `zGenealogy_${new Date().getTime()}.xlsx`) |
| | | // }, |
| | | |
| | | handleExport() { |
| | | const Ids = this.ids; |
| | | |
| | | if(Ids.length==0) |
| | | { |
| | | this.download('/self/user/export/genealogy', { |
| | | ...this.queryParams |
| | | }, `zGenealogy_${new Date().getTime()}.xlsx`) |
| | | }else{ |
| | | this.download('/self/user/export/genealogy1/'+Ids, { |
| | | |
| | | }, `zGenealogy_${new Date().getTime()}.xlsx`) |
| | | } |
| | | }, |
| | | |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .app-container{ |
| | | background-color: #FEF7FC; |
| | | background: url("../../assets/images/shuzi.png") no-repeat center center; |
| | | background-size: cover; |
| | | padding: 20px; /* 留出边距 */ |
| | | border-radius: 4px; /* 圆角匹配Element风格 */ |
| | | z-index:100 |
| | | } |
| | | |
| | | .el-table__row.statistics-warning-row { |
| | | background: #E0EEFE; |
| | | |
| | | } |
| | | .el-table__row.statistics-warning-row1 { |
| | | background: #FFEFF2; |
| | | |
| | | } |
| | | |
| | | |
| | | /* 表格透明化 */ |
| | | .el-table { |
| | | background-color: transparent !important; |
| | | } |
| | | /* 表头样式调整 */ |
| | | :deep(.el-table__header th) { |
| | | background-color: rgba(0, 0, 0, 0.1) !important; |
| | | } |
| | | |
| | | </style> |