| | |
| | | }}</view> |
| | | <ul class="flex" style="line-height: 1.2; margin: 0.15rem 0"> |
| | | <li |
| | | v-for="item in 4" |
| | | style=" |
| | | background-color: #fff; |
| | | padding: 0 0.08rem; |
| | |
| | | text-align: center; |
| | | margin-right: 0.15rem; |
| | | " |
| | | @click="openFileClick(1)" |
| | | > |
| | | VSDS |
| | | RDF |
| | | </li> |
| | | <li |
| | | style=" |
| | | background-color: #fff; |
| | | padding: 0 0.08rem; |
| | | border: 0.01rem solid #000; |
| | | border-radius: 0.1rem; |
| | | font-size: 0.12rem; |
| | | text-align: center; |
| | | margin-right: 0.15rem; |
| | | cursor: pointer; |
| | | " |
| | | @click="openFileClick(2)" |
| | | > |
| | | NT |
| | | </li> |
| | | <li |
| | | style=" |
| | | background-color: #fff; |
| | | padding: 0 0.08rem; |
| | | border: 0.01rem solid #000; |
| | | border-radius: 0.1rem; |
| | | font-size: 0.12rem; |
| | | text-align: center; |
| | | margin-right: 0.15rem; |
| | | cursor: pointer; |
| | | " |
| | | @click="openFileClick(3)" |
| | | > |
| | | XML |
| | | </li> |
| | | <li |
| | | style=" |
| | | background-color: #fff; |
| | | padding: 0 0.08rem; |
| | | border: 0.01rem solid #000; |
| | | border-radius: 0.1rem; |
| | | font-size: 0.12rem; |
| | | text-align: center; |
| | | margin-right: 0.15rem; |
| | | cursor: pointer; |
| | | " |
| | | @click="openFileClick(4)" |
| | | > |
| | | JSON |
| | | </li> |
| | | </ul> |
| | | <view |
| | |
| | | font-weight: normal; |
| | | line-height: 0.2rem; |
| | | letter-spacing: 0.03rem; |
| | | cursor: pointer; |
| | | " |
| | | > |
| | | {{ biogData.length ? biogData[0].content : "-" }} |
| | |
| | | </view> |
| | | <view style="width: 5%"></view> |
| | | </view> |
| | | <el-row style="padding: 0 1.2rem 0; padding-top: 0.24rem"> |
| | | <div style="padding: 0 1.2rem 0; padding-top: 0.24rem; display: flex"> |
| | | <!-- 左侧 --> |
| | | <el-col |
| | | <div |
| | | :span="5" |
| | | class="BoxLeft" |
| | | style="padding-right: 0.2rem; width: 2.8rem" |
| | |
| | | > |
| | | {{ index + 1 }}.{{ item }} |
| | | </li> |
| | | <div |
| | | v-if="sourceDataList.length == 0" |
| | | style="color: #666; text-align: center; font-size: 16px" |
| | | > |
| | | 暂无数据 |
| | | </div> |
| | | </ul> |
| | | </el-card> |
| | | </div> |
| | | </el-col> |
| | | </div> |
| | | <!-- 右侧 --> |
| | | <el-col :span="18" class="BoxRight"> |
| | | <div :span="18" class="BoxRight"> |
| | | <div class="grid-content bg-purple-dark" style="width: 100%"> |
| | | <el-card class="box-card" style="padding: 0"> |
| | | <div |
| | |
| | | :height="400" |
| | | /> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="师承关系" data-id="3" name="mentoring " |
| | | ><Table1 |
| | | <el-tab-pane label="师承关系" data-id="3" name="mentoring "> |
| | | <Table1 |
| | | :data="tableData3" |
| | | :columns="tableColumns2" |
| | | :height="400" |
| | | /></el-tab-pane> |
| | | /> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="社会关系" data-id="4" name="society"> |
| | | <Table1 |
| | | :data="tableData4" |
| | |
| | | > |
| | | <span>相关附表/图像</span> |
| | | </div> |
| | | <view class="flex"> |
| | | <el-image |
| | | v-for="item in imageList" |
| | | :key="item" |
| | | style="width: 2.05rem; height: 1.4rem" |
| | | :src="item" |
| | | fit="fill" |
| | | ></el-image> |
| | | <view> |
| | | <div class="flex"> |
| | | <el-image |
| | | v-for="item in imageList" |
| | | :key="item" |
| | | style="width: 2.05rem; height: 2.4rem" |
| | | :src="item" |
| | | fit="fill" |
| | | ></el-image> |
| | | </div> |
| | | <div |
| | | v-if="imageList.length == 0" |
| | | style="color: #666; text-align: center; font-size: 16px" |
| | | > |
| | | 暂无数据 |
| | | </div> |
| | | </view> |
| | | </el-card> |
| | | <el-card class="box-card"> |
| | |
| | | padding-bottom: 0.1rem; |
| | | " |
| | | > |
| | | <span>相关附表/图像</span> |
| | | <span>现代研究</span> |
| | | </div> |
| | | <ul class="font-family" style="font-size: 0.13rem; line-height: 2"> |
| | | <li> |
| | | [1|刘炜,谢蓉,张磊,等.向人文研究的国家数据基础设施建设[J|.中国图书馆学报,2016,42(5):29-39. |
| | | <li |
| | | v-for="(item, index) in personResearchList" |
| | | :key="index" |
| | | @click="toLink(item)" |
| | | > |
| | | {{ "[" + Number(index + 1) + "]" + item.achievementName }} |
| | | </li> |
| | | <li> |
| | | [2|周晨.国际数字人文研究特征与知识结构|J图书馆论坛2017.37(4):1-8. |
| | | </li> |
| | | <li> |
| | | [3]傅德华,于翠艳,李春博,关于创建“20 |
| | | 世纪中国人物传记资料全文数据库治的构想[川,中国者引,2009,714):24-26. |
| | | </li> |
| | | <li> |
| | | [4|于翠艳,傅德华,李春博,关于“20世纪中国人物传记资料全文数据库治的进展与困惑[J1.中国常引,2012.10111:20-22 |
| | | </li> |
| | | <li> |
| | | [5]贾武。《湖南近代人物数据率》资源收录范围研究|J河南图书馆学利,2015,35(7):126.127.140. |
| | | </li> |
| | | <div |
| | | v-if="personResearchList.length == 0" |
| | | style="color: #666; text-align: center; font-size: 16px" |
| | | > |
| | | 暂无数据 |
| | | </div> |
| | | </ul> |
| | | </el-card> |
| | | </div> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- 返回顶部 --> |
| | | <el-col style="position: absolute; bottom: 1rem; left: 1.2rem"> |
| | |
| | | <!-- 个人小传 --> |
| | | <el-dialog :visible.sync="isProfile" :modal-append-to-body="false"> |
| | | <view class="ProfileNav flex flex-center"> 个人小传 </view> |
| | | <view style="padding: 0.44rem 0.3rem; min-height: 7.32rem"> |
| | | <view |
| | | style="padding: 0.44rem 0.3rem; min-height: 7.32rem" |
| | | v-if="biogData.length > 0" |
| | | > |
| | | <view |
| | | v-for="item in biogData" |
| | | v-for="(item, index) in biogData" |
| | | :key="index" |
| | | style=" |
| | | margin-bottom: 0.2rem; |
| | | background-color: #f0f0f0; |
| | |
| | | <view class="flex"> |
| | | <view></view> |
| | | <view style="font-weight: 700; color: #2c2c2c" |
| | | >——{{ item.pageNo }}</view |
| | | >——{{ item.bookName }}</view |
| | | > |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <div v-else> |
| | | <el-empty description="暂无数据"></el-empty> |
| | | </div> |
| | | </el-dialog> |
| | | </view> |
| | | </template> |
| | |
| | | import { |
| | | getFuzzySearch, |
| | | getPersonInfo, |
| | | getWebBasic, |
| | | getIntroduction, |
| | | getSource, |
| | | getPersonImages, |
| | | getPersonBiog, |
| | |
| | | { |
| | | prop: "a", |
| | | label: "正书名", |
| | | }, |
| | | { |
| | | prop: "e", |
| | | label: "作者", |
| | | }, |
| | | { |
| | | prop: "b", |
| | |
| | | tableData5: [], |
| | | nodes: [], |
| | | relationships: [], |
| | | personResearchList: [], |
| | | }; |
| | | }, |
| | | onLoad(options) { |
| | |
| | | }, |
| | | methods: { |
| | | copyText() { |
| | | var textToCopy = document.getElementById("copyBox").innerText; |
| | | console.log(textToCopy, "textToCopy"); |
| | | navigator.clipboard.writeText(textToCopy).then(); |
| | | console.log(navigator.clipboard); |
| | | const textToCopy = this.biogData[0].content + ";来源:中医医学人物数据库"; |
| | | const textarea = document.createElement("textarea"); |
| | | textarea.value = textToCopy; |
| | | document.body.appendChild(textarea); |
| | | textarea.select(); |
| | | document.execCommand("copy"); |
| | | document.body.removeChild(textarea); |
| | | this.$message({ |
| | | message: "复制成功!", |
| | | type: "success", |
| | | }); |
| | | }, |
| | | toLink(item) { |
| | | window.open(item.url); |
| | | }, |
| | | getData() { |
| | | // 基本信息 |
| | |
| | | } |
| | | } |
| | | console.log(obj); |
| | | this.tableArr = [ |
| | | { |
| | | list: [ |
| | | { |
| | | name: "别名", |
| | | value: obj.WEAK_NAME || "-", |
| | | }, |
| | | { |
| | | name: "字", |
| | | value: obj.ALIAS || "-", |
| | | }, |
| | | { |
| | | name: "号", |
| | | value: obj.ALIAS || "-", |
| | | }, |
| | | { |
| | | name: "所处时期", |
| | | value: obj.PERIOD || "-", |
| | | }, |
| | | { |
| | | name: "民族", |
| | | value: obj.ETHNIC || "-", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | list: [ |
| | | { |
| | | name: "籍贯", |
| | | value: obj.NATIVE_PLACE || "-", |
| | | }, |
| | | { |
| | | name: "性别", |
| | | value: obj.GENDER |
| | | ? obj.GENDER == "UNKNOWN" |
| | | ? "未知" |
| | | : "-" |
| | | : "-", |
| | | }, |
| | | { |
| | | name: "职官", |
| | | value: obj.MEDICAL_BRANCH || "-", |
| | | }, |
| | | { |
| | | name: "流派", |
| | | value: obj.MEDICAL_BRANCH || "-", |
| | | }, |
| | | { |
| | | name: "学术特点", |
| | | value: obj.MEDICAL_EXPERTISE || "-", |
| | | }, |
| | | ], |
| | | }, |
| | | ]; |
| | | this.detailInfo = obj; |
| | | // 关系图谱 |
| | | this.getMappingData(this.detailInfo.NAME); |
| | | }); |
| | | //现代研究 |
| | | getPersonInfo({ |
| | | id: this.detailId, |
| | | type: "PERSON_RESEARCH", |
| | | }).then((res) => { |
| | | this.personResearchList = res.object.personResearchList; |
| | | }); |
| | | getPersonRelationAtSchool({ |
| | | personId: this.detailId, |
| | | }).then((res) => { |
| | | console.log(res, "PERSON_RELATIONS"); |
| | | // this.personRelationList = res.object.personRelationList; |
| | | // if (this.personRelationList.length) { |
| | | // this.tableData4 = this.personRelationList.map((f) => { |
| | | // return { |
| | | // a: f.nodeName, |
| | | // b: f.relationTypeName, |
| | | // }; |
| | | // }); |
| | | // } |
| | | }); |
| | | getWebBasic({ |
| | | personId: this.detailId, |
| | | }).then((res) => { |
| | | console.log(res, "resres"); |
| | | const obj = res.object; |
| | | if (obj.school) { |
| | | getIntroduction(Number(obj.school)).then((sres) => { |
| | | console.log(sres, "sres"); |
| | | handleData(obj, sres); |
| | | }); |
| | | } else { |
| | | handleData(obj); |
| | | } |
| | | }); |
| | | |
| | | // 活动年谱 |
| | | getPersonInfo({ |
| | | id: this.detailId, |
| | |
| | | }; |
| | | }); |
| | | }); |
| | | }, |
| | | handleData(obj, sres) { |
| | | this.tableArr = [ |
| | | { |
| | | list: [ |
| | | { |
| | | name: "别名", |
| | | value: obj.alias || "-", |
| | | }, |
| | | { |
| | | name: "字", |
| | | value: obj.zi || "-", |
| | | }, |
| | | { |
| | | name: "号", |
| | | value: obj.hao || "-", |
| | | }, |
| | | { |
| | | name: "所处时期", |
| | | value: obj.dynastyDesc || "-", |
| | | }, |
| | | { |
| | | name: "民族", |
| | | value: obj.ethnic || "-", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | list: [ |
| | | { |
| | | name: "籍贯", |
| | | value: obj.native || "-", |
| | | }, |
| | | { |
| | | name: "性别", |
| | | value: obj.gender || "-", |
| | | }, |
| | | { |
| | | name: "职官", |
| | | value: obj.official || "-", |
| | | }, |
| | | { |
| | | name: "流派", |
| | | value: |
| | | sres && |
| | | sres.object && |
| | | sres.object.school_NAME && |
| | | sres.object.school_NAME.length |
| | | ? sres.object.school_NAME[0].content |
| | | : "-", |
| | | }, |
| | | { |
| | | name: "学术特点", |
| | | value: obj.features || "-", |
| | | }, |
| | | ], |
| | | }, |
| | | ]; |
| | | }, |
| | | getSourceData() { |
| | | getSource({ |
| | |
| | | this.biogData = res.list.map((item) => { |
| | | return { |
| | | content: item.content1, |
| | | pageNo: "《" + item.pageNo + "》 " + "P " + item.pageNo, // 这里只有bookid无法匹配到书名 |
| | | bookName: "《" + item.bookName + "》 " + "P " + item.pageNo, // 这里只有bookid无法匹配到书名 |
| | | }; |
| | | }); |
| | | }); |
| | |
| | | b: item.dynasty, |
| | | c: item.writeWay, |
| | | d: item.classify, |
| | | e: this.detailInfo.NAME, |
| | | }; |
| | | }); |
| | | }); |
| | |
| | | }); |
| | | } else if (index == 2) { |
| | | uni.navigateTo({ |
| | | url: "/pages/characterMap/characterMap", |
| | | url: "/pages/characterMap/characterMap?id=" + this.detailId, |
| | | }); |
| | | } |
| | | }, |
| | |
| | | top: 0, |
| | | behavior: "smooth", // 使用平滑滚动 |
| | | }); |
| | | }, |
| | | openFileClick(index) { |
| | | let obj = { |
| | | id: this.detailId, |
| | | type: "Person", |
| | | }; |
| | | switch (index) { |
| | | case 1: |
| | | obj.outputType = "RDF"; |
| | | break; |
| | | case 2: |
| | | obj.outputType = "NT"; |
| | | break; |
| | | case 3: |
| | | obj.outputType = "XML"; |
| | | break; |
| | | case 4: |
| | | obj.outputType = "JSON"; |
| | | break; |
| | | } |
| | | let queryString = Object.keys(obj) |
| | | .map( |
| | | (key) => `${encodeURIComponent(key)}=${encodeURIComponent(obj[key])}` |
| | | ) |
| | | .join("&"); |
| | | window.open(`#/pages/fileDetail/index?${queryString}`); |
| | | }, |
| | | handleClick(tab) { |
| | | let index = tab.$attrs["data-id"] - 1; |
| | |
| | | .BoxLeft ::v-deep.el-card__body { |
| | | padding: 0.1rem 0.11rem !important; |
| | | } |
| | | .BoxLeft { |
| | | width: 30%; |
| | | } |
| | | .BoxRight { |
| | | width: 70%; |
| | | } |
| | | |
| | | ::v-deep .el-tabs__content { |
| | | line-height: 1; |