1.成长经历阅历证件情况可以输入或选择,已改为“持有证件情况”
2.家谱样式调整和两个名字互换位置
3.更新了首页背景图片
| | |
| | | method: 'delete', |
| | | }) |
| | | } |
| | | |
| | | //证件类型数据 |
| | | export function listType(query) { |
| | | return request({ |
| | | url: '/zCertificate/type', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | // 查询出国情况 |
| | | export function getAbroadList() { |
| | | return request({ |
| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <h1 style="font-size: 21px;">{{ greeting +',' + user.userName }}</h1> |
| | | <div class="text" > |
| | | <h1 style="font-size: 21px;margin-left: 0">{{ greeting +',' + user.userName }}</h1></div> |
| | | <div class="image-container"> |
| | | <img class="top-image" src="../../assets/images/zhang.png" alt="Top Image"> |
| | | </div> |
| | |
| | | // console.log(this.mapData) |
| | | // console.log('sssssssssssssssssss') |
| | | }, |
| | | |
| | | |
| | | |
| | | |
| | | methods: { |
| | | // 点击思维导图节点后,触发变量更新 |
| | |
| | | |
| | | const mindMapData = this.rootList[0]; |
| | | |
| | | |
| | | // console.log(this.drawData(mindMapData)) |
| | | this.mapData = this.drawData(mindMapData) |
| | | this.showMindMap = true |
| | | }) |
| | | |
| | | }, |
| | | drawData(mpdata) |
| | | { |
| | | drawData(mpdata) { |
| | | if(mpdata==null) |
| | | return null |
| | | return null; |
| | | var data = { |
| | | "label": mpdata['nickName'], |
| | | "label": mpdata['spouse'] != null ? eval(mpdata['spouse']).nickName : '', |
| | | "prop": mpdata['nickName'], |
| | | "url": '', |
| | | "link": '', |
| | | "link": mpdata['nickName'], |
| | | "children":[] |
| | | } |
| | | if(eval(mpdata['spouse'])!=null) |
| | | data['link'] = eval(mpdata['spouse']).nickName |
| | | }; |
| | | |
| | | if(mpdata['childList']!=null){ |
| | | for(var i = 0; i < mpdata['childList'].length; i++) |
| | | { |
| | | for (var i = 0; i < mpdata['childList'].length; i++) { |
| | | var dt = { |
| | | "label": mpdata['childList'][i]['nickName'], |
| | | "label": mpdata['childList'][i]['spouse'] != null ? eval(mpdata['childList'][i]['spouse']).nickName : '', |
| | | "prop": mpdata['childList'][i]['nickName'], |
| | | "url": '', |
| | | "link": "", |
| | | "link": mpdata['childList'][i]['nickName'], |
| | | "children":[] |
| | | }; |
| | | if (mpdata['childList'][i]['childList'] != null) { |
| | | for (var j = 0; j < mpdata['childList'][i]['childList'].length; j++) { |
| | | dt['children'].push(this.drawData(mpdata['childList'][i]['childList'][j])); |
| | | } |
| | | if(eval(mpdata['childList'][i]['spouse'])!=null) |
| | | dt['link'] = eval(mpdata['childList'][i]['spouse']).nickName |
| | | if(mpdata['childList'][i]['childList']!=null) |
| | | { |
| | | for(var j = 0; j < mpdata['childList'][i]['childList'].length;j++) |
| | | dt['children'].push(this.drawData(mpdata['childList'][i]['childList'][j])) |
| | | } |
| | | data['children'].push(dt) |
| | | data['children'].push(dt); |
| | | } |
| | | } |
| | | return data; |
| | |
| | | |
| | | <style scoped> |
| | | .app-container{ |
| | | background-color: #FEF7FC; |
| | | position: relative; |
| | | /*background-color: transparent;*/ |
| | | /*padding-left: -20px;*/ |
| | | } |
| | | .text{ |
| | | background-color: #FEF7FC; |
| | | opacity: 0.75; |
| | | margin-top: -20px; |
| | | padding: 20px; |
| | | |
| | | } |
| | | .image-container { |
| | | /*position: absolute;*/ |
| | | position: fixed; |
| | | margin-left: -10px; |
| | | width: 90%; |
| | | height: 90%; |
| | | top: 50px; |
| | | left: 50px; |
| | | width: 100%; |
| | | height: 100%; |
| | | z-index: -1; |
| | | } |
| | | |
| | | .mind-map-container{ |
| | | position: fixed; |
| | | z-index: 2; |
| | | opacity: 0.8; |
| | | /*margin-top: 200px;*/ |
| | | margin-top: 50px; |
| | | margin-left: 50px; |
| | | background-color: transparent; |
| | | } |
| | | .top-image { |
| | |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="证件类型" prop="type"> |
| | | <el-select v-model="formDat.type" placeholder="请选择类型" clearable :style="{width: '100%'}" > |
| | | <el-select v-model="formDat.type" placeholder="请选择证件类型" clearable :style="{width: '100%'}" > |
| | | <el-option v-for="(item, index) in typeOption" :key="index" :label="item.label" :value="item.value" |
| | | ></el-option> |
| | | </el-select> |
| | | <el-input v-model="newOption" v-if="showInput" placeholder="若未在上述选项中找到对应类型,请在此输入新的证件类型" @change="addNewOption"></el-input> |
| | | |
| | | </el-form-item> |
| | | <el-form-item label="持有情况" prop="ownStatus"> |
| | | <el-input v-model="formDat.ownStatus" placeholder="请输入持有情况" clearable :style="{width: '100%'}" > |
| | |
| | | import axios from 'axios'; |
| | | |
| | | //在system/note/index.js中导入接口函数 --接好了 |
| | | import { |
| | | getIndividualList, addIndividual, updateIndividual, delIndividual, |
| | | import {getIndividualList, addIndividual, updateIndividual, delIndividual, |
| | | listExperience, addExperience, updateExperience, delExperience, |
| | | getIndividualRelation, addRelation, updateRelation, delRelation, |
| | | getCertificateList, addCertificate, updateCertificate, delCertificate, |
| | | getAbroadList, addAbroad, updateAbroad, delAbroad, |
| | | getAbroadList, addAbroad, updateAbroad, delAbroad,listType, |
| | | getAutobiographyList, getAutobiographyTermList, addAutobiography,updateAutobiography, |
| | | getCategory, |
| | | } from "@/api/self/index"; |
| | |
| | | relationList:[], |
| | | //出入境证件情况 |
| | | certificateList:[], |
| | | typeList:[], |
| | | //出国情况 |
| | | AbroadList:[], |
| | | |
| | |
| | | }, |
| | | selectedOption:'', |
| | | typeOptions:[], |
| | | typeOption: [{ |
| | | value:'护照', |
| | | label:'护照' |
| | | },{ |
| | | value:'通行证', |
| | | label:'通行证' |
| | | },{ |
| | | value:'身份证', |
| | | label:'身份证' |
| | | }], |
| | | typeOption:[], |
| | | newOption: undefined, |
| | | showInput: true |
| | | }; |
| | | }, |
| | | created() { |
| | |
| | | return '——————' |
| | | } |
| | | }, |
| | | |
| | | //类别 |
| | | addNewOption() { |
| | | const newOption = this.newOption.trim(); |
| | | if (newOption && !this.typeOption.includes(newOption)) { |
| | | this.typeOption.push(newOption); |
| | | this.$set(this.formDat, 'type', newOption); // 更新formDat.type的值为新的选项 |
| | | } |
| | | }, |
| | | /** 查询角色列表 */ |
| | | getList() { |
| | | this.loading = true; |
| | |
| | | // this.total = response.data.total; |
| | | // this.loading = false; |
| | | // }); |
| | | listType(this.queryParams).then(response => { |
| | | this.typeList = response.data; |
| | | this.total = response.data.total; |
| | | // console.log( this.typeList ) |
| | | // 在回调函数中调用 getTypeOptions() |
| | | this.getTypeOptions(); |
| | | this.loading = false; |
| | | } |
| | | ); |
| | | }, |
| | | getTypeOptions() { |
| | | const filteredOptions = this.typeList.filter(item => typeof item === 'string' && item !== ''); |
| | | // 创建一个空对象用于存储唯一的字符串选项 |
| | | const uniqueOptions = {}; |
| | | // 构建下拉选项列表 |
| | | this.typeOption = filteredOptions.reduce((options, option) => { |
| | | if (!uniqueOptions[option]) { |
| | | uniqueOptions[option] = true; |
| | | options.push({ |
| | | label: option, |
| | | value: option |
| | | }); |
| | | } |
| | | return options; |
| | | }, []); |
| | | |
| | | }, |
| | | |
| | | //图片的上传及上传按钮隐藏 |