| | |
| | | v-for="column in columns" |
| | | :key="column.prop" |
| | | :label="column.label" |
| | | :width="column.width" |
| | | :show-overflow-tooltip="column.showOverflowTooltip" |
| | | header-align="center" |
| | | > |
| | | <template slot-scope="scope" class="font-family"> |
| | |
| | | } |
| | | |
| | | ::v-deep .el-form-item__label { |
| | | min-width: 0.6rem; |
| | | min-width: 0.8rem; |
| | | padding: 0; |
| | | color: #244a7b; |
| | | font-size: 0.14rem; |
| | | font-weight: 500; |
| | | margin-right: 0.29rem; |
| | | margin-right: 0.1rem; |
| | | display: flex; |
| | | align-items: center; |
| | | text-align: right; |
| | |
| | | </li> |
| | | </ul> |
| | | </view> |
| | | <view class="contentBox"> |
| | | <view id="main" style="width: 100%; height: 100%"></view> |
| | | <view class="contentBox" style="position: relative;"> |
| | | <div |
| | | v-if="nodeData.length == 0" |
| | | style="color: #666; text-align: center; font-size: 16px; position: absolute;top: 1rem;left: 0;right: 0;" |
| | | > |
| | | 暂无数据 |
| | | </div> |
| | | <view id="main" style="width: 100%; height: 100%"> |
| | | |
| | | </view> |
| | | |
| | | </view> |
| | | </view> |
| | | </template> |
| | |
| | | return { |
| | | content: item.content, |
| | | source: |
| | | "出处:《" + |
| | | res.object.bookList && |
| | | res.object.bookList.find((citem) => citem.id == item.bookId) |
| | | .name + |
| | | ? "出处:《" + |
| | | res.object.bookList.find( |
| | | (citem) => citem.id == item.bookId |
| | | ).name + |
| | | "》 P" + |
| | | item.pageNo |
| | | : "" |
| | | }; |
| | | }) |
| | | : [], |
| | |
| | | return { |
| | | content: item.content, |
| | | source: |
| | | "出处:《" + |
| | | res.object.bookList && |
| | | res.object.bookList.find((citem) => citem.id == item.bookId) |
| | | .name + |
| | | ? "出处:《" + |
| | | res.object.bookList.find( |
| | | (citem) => citem.id == item.bookId |
| | | ).name + |
| | | "》 P" + |
| | | item.pageNo |
| | | : "" |
| | | }; |
| | | }) |
| | | : [], |
| | |
| | | return { |
| | | content: item.content, |
| | | source: |
| | | "出处:《" + |
| | | res.object.bookList && |
| | | res.object.bookList.find((citem) => citem.id == item.bookId) |
| | | .name + |
| | | ? "出处:《" + |
| | | res.object.bookList.find( |
| | | (citem) => citem.id == item.bookId |
| | | ).name + |
| | | "》 P" + |
| | | item.pageNo |
| | | : "" |
| | | }; |
| | | }) |
| | | : [], |
| | |
| | | return { |
| | | content: item.content, |
| | | source: |
| | | "出处:《" + |
| | | res.object.bookList && |
| | | res.object.bookList.find((citem) => citem.id == item.bookId) |
| | | .name + |
| | | ? "出处:《" + |
| | | res.object.bookList.find( |
| | | (citem) => citem.id == item.bookId |
| | | ).name + |
| | | "》 P" + |
| | | item.pageNo |
| | | : "" |
| | | }; |
| | | }) |
| | | : [] |
| | |
| | | searchSchoolPerson({ |
| | | keyword: item |
| | | }).then((res) => { |
| | | if (res.list) { |
| | | for (let i = 0; i < res.list.length; i++) { |
| | | const citem = res.list[i]; |
| | | // 节点 |
| | |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | this.init(); |
| | | }); |
| | | } |
| | |
| | | > |
| | | </view> |
| | | <view |
| | | v-if="biogData.length > 1" |
| | | style="font-size: 0.12rem; color: #244a7b; cursor: pointer" |
| | | @click="ProfileClick" |
| | | >阅读更多></view |
| | |
| | | getPersonInfo, |
| | | getRelationTypeTreeList, |
| | | getWebBasic, |
| | | getDynastyAll, |
| | | getIntroduction, |
| | | getSource, |
| | | getPersonImages, |
| | |
| | | getPersonWritings, |
| | | getPersonRelationAtSchool, |
| | | getSpaceTime, |
| | | getDynastyData, |
| | | getDynastyData |
| | | } from "@/api/index.js"; |
| | | import { getImg } from "@/static/tool.js"; |
| | | import L from "leaflet"; |
| | |
| | | }, |
| | | { |
| | | prop: "d", |
| | | width: 300, |
| | | showOverflowTooltip: true, |
| | | label: "出处" |
| | | } |
| | | ], |
| | |
| | | }); |
| | | }, |
| | | toLink(item) { |
| | | console.log(item); |
| | | if (item.url) { |
| | | window.open(item.url); |
| | | } |
| | |
| | | } |
| | | console.log(obj); |
| | | this.detailInfo = obj; |
| | | getDynastyAll().then((dynastyData) => { |
| | | getWebBasic({ |
| | | personId: this.detailId |
| | | }).then((res) => { |
| | | const obj = res.object; |
| | | if (obj.school) { |
| | | getIntroduction(Number(obj.school)).then((sres) => { |
| | | this.handleData(obj, sres, dynastyData.list); |
| | | }); |
| | | } else { |
| | | this.handleData(obj, null, dynastyData.list); |
| | | } |
| | | }); |
| | | }); |
| | | // 关系图谱 |
| | | this.getMappingData(this.detailInfo.NAME); |
| | | }); |
| | |
| | | type: "PERSON_RESEARCH" |
| | | }).then((res) => { |
| | | this.personResearchList = res.object.personResearchList; |
| | | }); |
| | | |
| | | getWebBasic({ |
| | | personId: this.detailId |
| | | }).then((res) => { |
| | | const obj = res.object; |
| | | if (obj.school) { |
| | | getIntroduction(Number(obj.school)).then((sres) => { |
| | | this.handleData(obj, sres); |
| | | }); |
| | | } else { |
| | | this.handleData(obj); |
| | | } |
| | | }); |
| | | |
| | | // 活动年谱 |
| | |
| | | a: item.time, |
| | | b: item.activityName, |
| | | c: item.activityAddrOld, |
| | | d: item.desc // 这里缺少活动描述字段 |
| | | d: item.desc |
| | | }; |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | handleData(obj, sres) { |
| | | handleData(obj, sres, dynastyData) { |
| | | this.tableArr = [ |
| | | { |
| | | list: [ |
| | | { |
| | | name: "别名", |
| | | value: obj.alias || "-" |
| | | name: "姓名", |
| | | value: obj.name || "-" |
| | | }, |
| | | { |
| | | name: "字", |
| | |
| | | }, |
| | | { |
| | | name: "所处时期", |
| | | value: obj.dynastyDesc || "-", |
| | | value: |
| | | dynastyData.find((item) => item.dynastyId == obj.dynastyId) |
| | | .name || "-", |
| | | valueClick: () => { |
| | | uni.navigateTo({ |
| | | url: |
| | |
| | | }); |
| | | }, |
| | | getRelationship() { |
| | | getRelationTypeTreeList().then((res) => { |
| | | console.log(res, "getRelationTypeTreeList"); |
| | | console.log(res); |
| | | }); |
| | | // getPersonRelationAtSchool({ |
| | | // personId: this.detailId, |
| | | // }).then((res) => { |
| | | // this.personRelationList = res.object.personRelationList; |
| | | // if (this.personRelationList.length) { |
| | | // this.tableData4 = this.personRelationList.map((f) => { |
| | | // return { |
| | | // a: f.nodeName, |
| | | // b: f.relationTypeName, |
| | | // }; |
| | | // }); |
| | | // } |
| | | // }); |
| | | getPersonInfo({ |
| | | id: this.detailId, |
| | | type: "PERSON_RELATIONS" |
| | | }).then((res) => { |
| | | this.tableData4; |
| | | console.log(res, "PERSON_RELATIONS"); |
| | | if (res.object.personRelationMap.kin.length) { |
| | | this.tableData2 = res.object.personRelationMap.kin.map((f) => { |
| | | return { |
| | | a: f.nodeName, |
| | | b: f.relationTypeName, |
| | | c: f.textualResearch, |
| | | d: |
| | | res.object.bookList && |
| | | res.object.bookList.find((citem) => citem.id == f.bookId) |
| | | ? "《" + |
| | | res.object.bookList.find((citem) => citem.id == f.bookId) |
| | | .name + |
| | | "》 P" + |
| | | f.pageNo |
| | | : "" |
| | | }; |
| | | }); |
| | | } |
| | | if (res.object.personRelationMap.teacherStudent.length) { |
| | | this.tableData3 = res.object.personRelationMap.teacherStudent.map((f) => { |
| | | this.tableData3 = res.object.personRelationMap.teacherStudent.map( |
| | | (f) => { |
| | | return { |
| | | a: f.nodeName, |
| | | b: f.relationTypeName, |
| | | c: f.textualResearch, |
| | | d: |
| | | res.object.bookList && |
| | | res.object.bookList.find((citem) => citem.id == f.bookId) |
| | | ? "《" + |
| | | res.object.bookList.find((citem) => citem.id == f.bookId) |
| | | .name + |
| | | "》 P" + |
| | | f.pageNo |
| | | : "" |
| | | }; |
| | | }); |
| | | } |
| | | ); |
| | | } |
| | | if (res.object.personRelationMap.social.length) { |
| | | this.tableData4 = res.object.personRelationMap.social.map((f) => { |
| | | return { |
| | | a: f.nodeName, |
| | | b: f.relationTypeName, |
| | | }; |
| | | }); |
| | | } |
| | | }); |
| | | // 社会关系 |
| | | getPersonRelationAtSchool({ |
| | | personId: this.detailId, |
| | | relationSearchTypeEO: "SOCIAL" |
| | | }).then((res) => { |
| | | if (res.list && res.list.length) { |
| | | this.tableData4 = res.list.map((f) => { |
| | | return { |
| | | a: f.name1, |
| | | b: f.relationName |
| | | }; |
| | | }); |
| | | } |
| | | }); |
| | | // 亲属关系 |
| | | getPersonRelationAtSchool({ |
| | | personId: this.detailId, |
| | | relationSearchTypeEO: "KINSHIP" |
| | | }).then((res) => { |
| | | console.log(res, "123123"); |
| | | if (res.list && res.list.length) { |
| | | this.tableData2 = res.list.map((f) => { |
| | | return { |
| | | a: f.name1, |
| | | b: f.relationName |
| | | }; |
| | | }); |
| | | } |
| | | }); |
| | | // 师承关系 |
| | | getPersonRelationAtSchool({ |
| | | personId: this.detailId, |
| | | relationSearchTypeEO: "INHERITANCE" |
| | | }).then((res) => { |
| | | if (res.list && res.list.length) { |
| | | this.tableData3 = res.list.map((f) => { |
| | | return { |
| | | a: f.name1, |
| | | b: f.relationName |
| | | c: f.textualResearch, |
| | | d: |
| | | res.object.bookList && |
| | | res.object.bookList.find((citem) => citem.id == f.bookId) |
| | | ? "《" + |
| | | res.object.bookList.find((citem) => citem.id == f.bookId) |
| | | .name + |
| | | "》 P" + |
| | | f.pageNo |
| | | : "" |
| | | }; |
| | | }); |
| | | } |
| | |
| | | |
| | | let FontSize = 12; // 字体大小 |
| | | let BorderWidth = 2; // 边框大小 |
| | | let SymbolSize = 80; // 尺寸距离 |
| | | let SymbolSize = 50; // 尺寸距离 |
| | | let Distance = 10; |
| | | // 不同尺寸下修改echarts的字体 |
| | | if (window.innerWidth > 2560 && window.innerWidth <= 3840) { |
| | | FontSize = 28; |
| | | BorderWidth = 5; |
| | | SymbolSize = 100; |
| | | Distance = 33; |
| | | } else if (window.innerWidth > 1920 && window.innerWidth <= 2560) { |
| | | FontSize = 28; |
| | | BorderWidth = 4; |
| | | SymbolSize = 90; |
| | | Distance = 22; |
| | | } else if (window.innerWidth >= 1366 && window.innerWidth <= 1920) { |
| | | FontSize = 18; |
| | | BorderWidth = 4; |
| | | SymbolSize = 70; |
| | | Distance = 22; |
| | | } |
| | | // 根据关系数据生成连接线 |
| | | var links = []; |
| | | relationships.forEach((relationship, i) => { |
| | |
| | | <template> |
| | | <view id="box"> |
| | | <view class="pageBox"> |
| | | <headNav :idIndex="1 + ''" text="中医人物数据库" /> |
| | | <div class="contentBox"> |
| | | <pre v-if="options.outputType == 'XML' || options.outputType == 'JSON'"> |
| | | <code> |
| | | {{ data }} |
| | | </code> |
| | | </pre> |
| | | <div v-else-if="'NT'" v-html="data"></div> |
| | | <div v-else-if="'RDF'" v-html="data"></div> |
| | | <div v-else-if="options.outputType == 'NT'" v-html="data"></div> |
| | | <div v-else-if="options.outputType == 'RDF'"> |
| | | <ul> |
| | | <li v-for="key in Object.keys(data)" class="itemBox"> |
| | | <span style="color: #666;">{{key.split(':')[0]}}:<b style="color: #000">{{key.split(':')[1]}}</b></span> |
| | | <span>{{data[key]}}</span> |
| | | </li> |
| | | </ul> |
| | | </div> |
| | | </div> |
| | | </view> |
| | | </template> |
| | | |
| | |
| | | data() { |
| | | return { |
| | | options: {}, |
| | | data: "", |
| | | data: "" |
| | | }; |
| | | }, |
| | | onLoad(options) { |
| | |
| | | if (this.options.type == "Person") { |
| | | getPersonDataOutput({ |
| | | personId: this.options.id, |
| | | dataTypeEO: this.options.outputType, |
| | | dataTypeEO: this.options.outputType |
| | | }).then((res) => { |
| | | if (this.options.outputType == 'RDF') { |
| | | this.data = res.object; |
| | | } else { |
| | | this.data = res; |
| | | } |
| | | }); |
| | | } else { |
| | | getMedicalDataOutput(this.options).then((res) => { |
| | | this.data = res; |
| | | console.log(this.data, "data"); |
| | | }); |
| | | } |
| | | }, |
| | | }, |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style> |
| | | #box { |
| | | .pageBox { |
| | | font-size: 14px; |
| | | } |
| | | .contentBox { |
| | | padding: 30px; |
| | | } |
| | | .itemBox{ |
| | | margin-bottom: 10px; |
| | | display: flex; |
| | | } |
| | | .itemBox span{ |
| | | display: inline-block; |
| | | } |
| | | .itemBox span:first-child{ |
| | | width: 200px; |
| | | line-height: 40px; |
| | | } |
| | | .itemBox span:last-child{ |
| | | flex: 1; |
| | | line-height: 40px; |
| | | border-bottom: 1px solid #ccc; |
| | | } |
| | | |
| | | </style> |
| | |
| | | :rules="rules" |
| | | :model="resetDataPass" |
| | | > |
| | | <el-form-item label="手机/邮箱" prop="cellphoneORmailbox"> |
| | | <el-form-item label="手机号/邮箱" prop="cellphoneORmailbox"> |
| | | <el-input v-model="resetDataPass.cellphoneORmailbox"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="验证码" prop="verifyCode"> |
| | |
| | | cellphoneORmailbox: [ |
| | | { |
| | | required: true, |
| | | message: "请输入手机号", |
| | | message: "请输入手机号/邮箱", |
| | | trigger: "blur" |
| | | }, |
| | | { |