From 48fbf705ee51a803081bfd09e7ff173d8475cdc9 Mon Sep 17 00:00:00 2001 From: 杨磊 <505174330@qq.com> Date: 星期三, 24 七月 2024 09:53:55 +0800 Subject: [PATCH] Merge branch 'master' of http://182.92.203.7:2001/r/TCM_CharacterLibrary --- src/pages.json | 10 src/pages/character/index.vue | 17 src/pages/territory/territory.vue | 619 ++++++----- src/static/image/inherit/1-a.png | 0 src/pages/academicGenres/index.vue | 2 src/pages/changePassword/changePassword.vue | 22 src/pages/knowledgeBase/knowledgeBase.vue | 32 src/pages/shiyiHome/shiyiHome.vue | 2 src/pages/academicSchools/index.vue | 1289 +++++++++++++++++++++++++ src/pages/Register/Register.vue | 26 src/api/index.js | 131 +- src/pages/repository/repository.vue | 2 src/static/image/inherit/1.png | 0 src/pages/academicGenres/detail.vue | 2 src/pages/character/detail.vue | 54 public/index.html | 2 src/pages/fileDetail/index.vue | 2 src/pages/inherit/list.vue | 138 + src/pages/index/index.vue | 106 + src/static/image/inherit/2.png | 0 src/pages/userAgreement/userAgreement.vue | 306 +++-- src/pages/academicGenres/chart.vue | 2 src/static/image/inherit/2-a.png | 0 src/pages/characterMap/characterMap.vue | 2 src/pages/zhongyi/zhongyi.vue | 2 src/components/headNav/headNav.vue | 69 src/pages/inherit/index.vue | 105 + src/pages/Login/Login.vue | 22 src/pages/forgetPass/forgetPass.vue | 2 29 files changed, 2,244 insertions(+), 722 deletions(-) diff --git a/public/index.html b/public/index.html index 88d9766..82d581b 100644 --- a/public/index.html +++ b/public/index.html @@ -4,7 +4,7 @@ <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <link rel="icon" href="./logo.ico"> - <title>涓浗鍖诲浜虹墿鐭ヨ瘑搴�</title> + <title>涓浗鍘嗕唬鍖诲浜虹墿鐭ヨ瘑搴�</title> <script> var coverSupport = "CSS" in window && diff --git a/src/api/index.js b/src/api/index.js index 0aa8942..adfd9c3 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -6,7 +6,7 @@ return req1({ url: "/account/register", method: "post", - data: Obj + data: Obj, }); }; @@ -17,8 +17,8 @@ method: "post", data: req, headers: { - "Content-Type": "multipart/form-data" - } + "Content-Type": "multipart/form-data", + }, }); }; @@ -27,14 +27,14 @@ return req1({ url: "/account/verification", method: "post", - data: req + data: req, }); }; // 鑾峰彇鐢ㄦ埛淇℃伅 export const getUserInfo = () => { return req1({ url: "/account/getUserInfo", - method: "post" + method: "post", }); }; @@ -43,7 +43,7 @@ return req1({ url: "/account/resetPassword", method: "post", - data: Obj + data: Obj, }); }; @@ -51,7 +51,7 @@ export const getlogout = () => { return req1({ url: "/account/logout", - method: "post" + method: "post", }); }; @@ -60,7 +60,7 @@ return req1({ url: "/account/changePassword", method: "post", - data: obj + data: obj, }); }; @@ -69,7 +69,7 @@ export const getdataOutput = () => { return req1({ url: "/person/dataOutput", - method: "post" + method: "post", }); }; @@ -77,7 +77,7 @@ export const getHotSearch = () => { return req1({ url: "/person/hotSearch", - method: "post" + method: "post", }); }; // 浜虹墿鐩稿叧鐨� 鏉ユ簮 @@ -85,7 +85,7 @@ return req1({ url: "/person/source", method: "post", - params: data + params: data, }); }; // 浜虹墿鐩稿叧鐨� 涓汉鏃剁┖鍦板浘 @@ -93,7 +93,7 @@ return req1({ url: "/person/spaceTime", method: "post", - params: data + params: data, }); }; @@ -102,7 +102,7 @@ return req1({ url: "/person/images", method: "post", - params: data + params: data, }); }; // 鍖诲浜虹墿鐭ヨ瘑搴� 涓汉浜嬭抗 @@ -110,7 +110,7 @@ return req1({ url: "/person/biog", method: "post", - params: data + params: data, }); }; // 鍖诲浜虹墿鐭ヨ瘑搴� 浜虹墿鍏崇郴 @@ -118,7 +118,7 @@ return req1({ url: "/person/personRelationAtSchool", method: "post", - params: data + params: data, }); }; // 鍖诲浜虹墿鐭ヨ瘑搴� 浜虹墿鍏崇郴 @@ -126,7 +126,7 @@ return req1({ url: "/inheritMedical/nodeCount", method: "post", - data: data + data: data, }); }; @@ -135,7 +135,7 @@ return req1({ url: "/person/writings", method: "post", - params: data + params: data, }); }; // 鍖诲浜虹墿鐭ヨ瘑搴� 浜虹墿璇︽儏 @@ -143,14 +143,14 @@ return req1({ url: "/person/getPersonInfo", method: "post", - params: Obj + params: Obj, }); }; export const getWebBasic = (Obj) => { return req1({ url: "/person/webBasic", method: "post", - params: Obj + params: Obj, }); }; @@ -162,7 +162,7 @@ params: { keyword: requestData?.keyword, personId: requestData?.personId, - } + }, }); }; @@ -171,7 +171,7 @@ return req1({ url: "/person/advanceSearch", method: "post", - data: Obj + data: Obj, }); }; @@ -187,18 +187,18 @@ requestData?.keyword + "&dynasty=" + requestData?.dynasty, - method: "post" + method: "post", }); }; // 涓浗鍦板煙鍦拌氨妫�绱汉鐗� export const getPreCount = (requestData) => { return req1({ url: - "/person/retrieval/preCount?keyword=" + + "/person/retrieval/preCount?keyword=" + requestData?.keyword + "&dynasty=" + requestData?.dynasty, - method: "post" + method: "post", }); }; // 鍖诲浜虹墿鐭ヨ瘑搴� @@ -208,28 +208,28 @@ return req1({ url: "/inheritMedical/list", method: "post", - data: requestData + data: requestData, }); }; export const inheritMedicalSataStatistics = (requestData) => { return req1({ url: "/inheritMedical/dataStatistics", method: "post", - data: requestData + data: requestData, }); }; export const inheritMedicalCultureList = (requestData) => { return req1({ url: "/inheritMedical/cultureList", method: "post", - data: requestData + data: requestData, }); }; export const inheritMedicalRelationList = (requestData) => { return req1({ url: "/inheritMedical/relationList", method: "post", - data: requestData + data: requestData, }); }; @@ -239,14 +239,14 @@ return req1({ url: "/person/list", method: "post", - data: data + data: data, }); }; // 妫�绱㈡暟鎹埌鍑� export const getPDownload = () => { return req1({ url: "/person/download", - method: "post" + method: "post", }); }; // -------------------------P @@ -255,20 +255,20 @@ export const getDynastyAll = () => { return req1({ url: "/dynasty/list", - method: "post" + method: "post", }); }; export const getDynasty = () => { return req1({ url: "/dynasty/listAll", - method: "post" + method: "post", }); }; export const getDynastyData = () => { return req1({ url: "/person/retrieval/dynasty", - method: "post" + method: "post", }); }; @@ -276,31 +276,45 @@ export const getDynastyStatistics = () => { return req1({ url: "/school/dynasty/statistics", - method: "get" + method: "get", }); }; export const getIntroduction = (id) => { return req1({ url: "/school/introduction?id=" + id, - method: "post" + method: "post", }); }; export const schoolAtlas = (id) => { return req1({ url: "/person/schoolAtlas?schoolId=" + id, - method: "post" + method: "post", }); }; - +// 鏌ヨ浜虹墿6绫绘暟鎹� +export const getPersonData = (id) => { + return req1({ + url: "/person/chain/search/person?personId=" + id + "&maxStep=3", + method: "post", + }); +}; + +// 鏌ヨ浜虹墿瀛︽湳娴佹淳 +export const getSchoolInfo = (id) => { + return req1({ + url: "/person/chain/search/school?schoolId=" + id + "&maxStep=3", + method: "post", + }); +}; export const searchSchoolPerson = (data) => { return req1({ url: "/person/searchSchoolPerson", method: "post", - params: data + params: data, }); }; @@ -309,7 +323,7 @@ export const getDataStatistics = () => { return req1({ url: "/medical/dataStatistics", - method: "post" + method: "post", }); }; // 鏌ヨ @@ -317,7 +331,7 @@ return req1({ url: "/medical/list", method: "post", - data: data + data: data, }); }; // 璇︽儏 @@ -325,7 +339,7 @@ return req1({ url: "/medical/details", method: "post", - data: data + data: data, }); }; // 鍙栧�硷細RDF銆丯T銆乆ML銆丣SON @@ -333,7 +347,7 @@ return req1({ url: "/medical/dataOutput", method: "post", - data: Obj + data: Obj, }); }; @@ -341,18 +355,18 @@ return req1({ url: "/person/dataOutput", method: "post", - params: Obj + params: Obj, }); }; // ----------- -// 涓浗鍖诲浜虹墿鐭ヨ瘑搴� +// 涓浗鍘嗕唬鍖诲浜虹墿鐭ヨ瘑搴� // 鏁版嵁缁熻 export const getPDataStatistics = () => { return req1({ url: "/person/dataStatistics", - method: "post" + method: "post", }); }; // ---------------- @@ -364,21 +378,36 @@ export const getRelationTypeTreeList = () => { return req1({ url: "/personRelationType/getRelationTypeTreeList", - method: "post" + method: "post", }); }; export const getInstitutionList = () => { return req1({ url: "/medical/institutionList", - method: "post" + method: "post", }); }; +export const academicSearch = (data) => { + return req1({ + url: "/person/academic/search", + method: "post", + params: data, + }); +}; +export const getPersonTag = () => { + return req1({ + url: "/personTag/list", + method: "post", + }); +}; - - - - +export const getSocialDistinction = () => { + return req1({ + url: "/socialDistinction/list", + method: "post", + }); +}; diff --git a/src/components/headNav/headNav.vue b/src/components/headNav/headNav.vue index 503337d..64c56dd 100644 --- a/src/components/headNav/headNav.vue +++ b/src/components/headNav/headNav.vue @@ -82,13 +82,9 @@ class="search-logo" @click="toggleSearch" :style="{ - backgroundColor: searchBg == true ? '#244A7B' : '#DA7A2B' + backgroundColor: searchBg == true ? '#244A7B' : '#DA7A2B', }" - style=" - background-color: #000; - border-radius: 50%; - margin-top: -4rpx; - " + style="background-color: #000; border-radius: 50%" ></view> </view> <el-dropdown trigger="click" @command="handleCommand"> @@ -142,20 +138,23 @@ <span slot="title">棣栭〉</span> </el-menu-item> <el-menu-item index="1"> - <span slot="title">涓尰浜虹墿鏁版嵁搴�</span> + <span slot="title">鍘嗕唬浜虹墿</span> </el-menu-item> <el-menu-item index="2" class="oActive"> - <span slot="title">涓栧尰鍖诲鏁版嵁搴�</span> + <span slot="title">瀹跺浼犳壙</span> + </el-menu-item> + <el-menu-item index="6"> + <span slot="title">瀛︽湳娴佹淳</span> </el-menu-item> <el-menu-item index="3"> - <span slot="title">涓尰瀛︽湳娴佹淳</span> + <span slot="title">瀛︽湳鍥捐氨</span> </el-menu-item> <el-menu-item index="4"> - <span slot="title">涓尰鍦板煙鍥捐氨</span> + <span slot="title">鍦板煙鍥捐氨</span> </el-menu-item> - <el-menu-item index="5"> + <!-- <el-menu-item index="5"> <span slot="title">涓尰鍖讳簨鍒跺害</span> - </el-menu-item> + </el-menu-item> --> </el-menu> </view> </el-dialog> @@ -176,32 +175,32 @@ type: String, default() { return "鏍囬"; - } + }, }, searchBg: { type: Boolean, default() { return true; - } + }, }, bg: { type: String, default() { return "/static/image/topBg.png"; - } + }, }, bg1: { type: String, default() { return "/static/image/line.png"; - } + }, }, idIndex: { type: String, default() { return "1"; - } - } + }, + }, }, data() { return { @@ -209,7 +208,7 @@ searchInput: "", // 鎼滅储妗嗚緭鍏ョ殑鍐呭 menuNav: false, dialogVisible: false, - isCommand: true + isCommand: true, }; }, methods: { @@ -234,13 +233,13 @@ if (res.confirm) { setTimeout(() => { uni.reLaunch({ - url: "/pages/Login/Login" + url: "/pages/Login/Login", }); }, 1500); } else if (res.cancel) { // console.log('鐢ㄦ埛鐐瑰嚮鍙栨秷'); } - } + }, }); } // uni.navigateTo({ @@ -254,7 +253,7 @@ handleCommand(int) { if (int == 1) { uni.navigateTo({ - url: "/pages/changePassword/changePassword" + url: "/pages/changePassword/changePassword", }); } else if (int == 2) { uni.showModal({ @@ -271,40 +270,44 @@ //閫�鍑烘垚鍔燂紒骞惰烦杞埌鍏朵粬椤甸潰 this.$message.success("閫�鍑烘垚鍔�"); uni.reLaunch({ - url: "/pages/Login/Login" + url: "/pages/Login/Login", }); }); } else if (res.cancel) { // console.log('鐢ㄦ埛鐐瑰嚮鍙栨秷'); } - } + }, }); } }, handleSelect(index) { if (index === "0") { uni.navigateTo({ - url: "/pages/index/index?id=" + 0 + url: "/pages/index/index?id=" + 0, }); } else if (index === "1") { uni.navigateTo({ - url: "/pages/character/index?id=" + 1 + url: "/pages/character/index?id=" + 1, }); } else if (index === "2") { uni.navigateTo({ - url: "/pages/inherit/index?id=" + 2 + url: "/pages/inherit/index?id=" + 2, }); } else if (index === "3") { uni.navigateTo({ - url: "/pages/academicGenres/index?id=" + 3 + url: "/pages/academicGenres/index?id=" + 3, }); } else if (index === "4") { uni.navigateTo({ - url: "/pages/territory/territory?id=" + 4 + url: "/pages/territory/territory?id=" + 4, }); } else if (index === "5") { uni.navigateTo({ - url: "/pages/TcmSystem/TcmSystem?id=" + 5 + url: "/pages/TcmSystem/TcmSystem?id=" + 5, + }); + } else if (index === "6") { + uni.navigateTo({ + url: "/pages/academicSchools/index", }); } }, @@ -320,13 +323,13 @@ if (this.searchInput.trim() !== "") { uni.navigateTo({ url: - "/pages/knowledgeBase/knowledgeBase?keyword=" + this.searchInput + "/pages/knowledgeBase/knowledgeBase?keyword=" + this.searchInput, }); } this.searchInput = ""; }); - } - } + }, + }, }; </script> diff --git a/src/pages.json b/src/pages.json index a080930..7cb424c 100644 --- a/src/pages.json +++ b/src/pages.json @@ -137,11 +137,19 @@ "enablePullDownRefresh" : false, "navigationStyle": "custom" } + }, + { + "path" : "pages/academicSchools/index", + "style" : + { + "enablePullDownRefresh" : false, + "navigationStyle": "custom" + } } ], "globalStyle": { "navigationBarTextStyle": "black", - "navigationBarTitleText": "涓浗鍖诲浜虹墿鐭ヨ瘑搴�", + "navigationBarTitleText": "涓浗鍘嗕唬鍖诲浜虹墿鐭ヨ瘑搴�", "navigationBarBackgroundColor": "#F8F8F8", "backgroundColor": "#F8F8F8" } diff --git a/src/pages/Login/Login.vue b/src/pages/Login/Login.vue index a3685e8..bb49c2c 100644 --- a/src/pages/Login/Login.vue +++ b/src/pages/Login/Login.vue @@ -16,7 +16,7 @@ font-family: cursive; font-weight: bold; " - >涓浗鍖诲浜虹墿鐭ヨ瘑搴�</text + >涓浗鍘嗕唬鍖诲浜虹墿鐭ヨ瘑搴�</text > </view> <view></view> @@ -235,25 +235,29 @@ // 涔︾睄鏁版嵁 listData: [ { - name: "涓尰浜虹墿鏁版嵁搴�", + name: "鍘嗕唬浜虹墿", id: 1 }, { - name: "涓栧尰鍖诲鏁版嵁搴�", + name: "瀹跺浼犳壙", id: 2 }, { - name: "涓尰瀛︽湳娴佹淳", + name: "瀛︽湳娴佹淳", + id: 6 + }, + { + name: "瀛︽湳鍥捐氨", id: 3 }, { - name: "涓尰鍦板煙鍖昏氨", + name: "鍦板煙鍥捐氨", id: 4 }, - { - name: "涓尰鍖讳簨鍒跺害", - id: 5 - } + // { + // name: "涓尰鍖讳簨鍒跺害", + // id: 5 + // } ] }; }, diff --git a/src/pages/Register/Register.vue b/src/pages/Register/Register.vue index 9db858f..85cba92 100644 --- a/src/pages/Register/Register.vue +++ b/src/pages/Register/Register.vue @@ -16,7 +16,7 @@ font-family: cursive; font-weight: bold; " - >涓浗鍖诲浜虹墿鐭ヨ瘑搴�</text + >涓浗鍘嗕唬鍖诲浜虹墿鐭ヨ瘑搴�</text > </view> <view></view> @@ -293,25 +293,29 @@ // 涔︾睄鏁版嵁 listData: [ { - name: "涓尰浜虹墿鏁版嵁搴�", + name: "鍘嗕唬浜虹墿", id: 1 }, { - name: "涓栧尰鍖诲鏁版嵁搴�", + name: "瀹跺浼犳壙", id: 2 }, { - name: "涓尰瀛︽湳娴佹淳", + name: "瀛︽湳娴佹淳", + id: 6 + }, + { + name: "瀛︽湳鍥捐氨", id: 3 }, { - name: "涓尰鍦板煙鍖昏氨", + name: "鍦板煙鍥捐氨", id: 4 }, - { - name: "涓尰鍖讳簨鍒跺害", - id: 5 - } + // { + // name: "涓尰鍖讳簨鍒跺害", + // id: 5 + // } ], checked: false }; @@ -331,9 +335,9 @@ // 鏈嶅姟鏉℃ termOfServiceClick(number) { if (number == 1) { - window.open(`#/pages/userAgreement/userAgreement`); + window.open(`#/pages/userAgreement/userAgreement?type=1`); } else if (number == 2) { - window.open(`#/pages/userAgreement/userAgreement`); + window.open(`#/pages/userAgreement/userAgreement?type=2`); } }, // 宸叉湁璐﹀彿锛熻繑鍥炵櫥褰� diff --git a/src/pages/academicGenres/chart.vue b/src/pages/academicGenres/chart.vue index 429f1ee..afae207 100644 --- a/src/pages/academicGenres/chart.vue +++ b/src/pages/academicGenres/chart.vue @@ -3,7 +3,7 @@ style="width: 100%; height: 100%; display: flex; flex-direction: column" > <!-- 椤堕儴瀵艰埅 --> - <headNav :idIndex="3 + ''" text="涓尰瀛︽湳娴佹淳" /> + <headNav :idIndex="3 + ''" text="瀛︽湳鍥捐氨" /> <view class="Midde flex"> <!-- <view class="MiddeBack">杩斿洖</view> --> <el-button class="MiddeBack flex flex-center" @click="goBack" diff --git a/src/pages/academicGenres/detail.vue b/src/pages/academicGenres/detail.vue index be03fe1..3b27a9b 100644 --- a/src/pages/academicGenres/detail.vue +++ b/src/pages/academicGenres/detail.vue @@ -1,7 +1,7 @@ <template> <view class="bag"> <!-- 椤堕儴瀵艰埅 --> - <headNav idIndex="3" text="涓尰瀛︽湳娴佹淳" /> + <headNav idIndex="3" text="瀛︽湳鍥捐氨" /> <view class="Midde flex"> <!-- <view class="MiddeBack">杩斿洖</view> --> <el-button class="MiddeBack flex flex-center" @click="goBack" diff --git a/src/pages/academicGenres/index.vue b/src/pages/academicGenres/index.vue index 5bd2939..90a64e9 100644 --- a/src/pages/academicGenres/index.vue +++ b/src/pages/academicGenres/index.vue @@ -1,7 +1,7 @@ <template> <view style="width: 100%;height: 100%;display: flex;flex-direction: column;"> <!-- 椤堕儴瀵艰埅 --> - <headNav :idIndex="idIndex" text="涓尰瀛︽湳娴佹淳" /> + <headNav :idIndex="idIndex" text="瀛︽湳鍥捐氨" /> <view id="line-chart" style="flex: 1;overflow: hidden;padding: 50px;"></view> </view> </template> diff --git a/src/pages/academicSchools/index.vue b/src/pages/academicSchools/index.vue new file mode 100644 index 0000000..ad31b50 --- /dev/null +++ b/src/pages/academicSchools/index.vue @@ -0,0 +1,1289 @@ +<template> + <view + style="width: 100%; height: 100%; display: flex; flex-direction: column" + > + <headNav :idIndex="'6'" text="瀛︽湳娴佹淳" /> + <!-- 楂樼骇鎼滅储 --> + <view + style=" + padding-left: 0.6rem; + margin-top: 0.1rem; + display: flex; + position: relative; + " + > + <advancedSearch + @onSearch="onSearch" + placehold="璇疯緭鍏ュ叧閿瓧" + :isAvancedTrue="false" + :keyword="searchKey" + /> + <view + @click="isAvancedClick" + style=" + color: #244a7b; + cursor: pointer; + font-size: 0.12rem; + margin-left: 0.35rem; + line-height: 0.58rem; + " + >楂樼骇鎼滅储 {{ isAdvancedSearch ? "鈭�" : "鈭�" }}</view + > + <!-- 鐑棬鎼滅储 --> + <view class="flex flex-center hotSearch" style="margin-left: 2rem"> + 鐑棬鎼滅储锛� + <ul class="flex" style="margin-right: 10rpx"> + <li + @click="onSearch({ text: item }, index)" + :class="{ cursor: true, active: hotAciveIndex === index }" + v-for="(item, index) in hotKeyList" + :key="item.name" + > + {{ item.name }} + </li> + </ul> + </view> + <view v-if="isAdvancedSearch" class="searchDialog"> + <h3 style="margin-bottom: 0.2rem">楂樼骇鎼滅储</h3> + <el-form + label-width="100px" + :model="formData" + ref="searchForm" + size="mini" + > + <el-row> + <el-col :span="8"> + <el-form-item label="濮撳悕/鍒悕锛�"> + <el-input v-model="formData.name"></el-input> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="娲诲姩鍦帮細"> + <div class="selectActivelyBox" @click="selectActively"> + <p v-if="formData.actively.length == 0">璇烽�夋嫨娲诲姩鍦�</p> + <el-tag + v-for="item in formData.actively" + :key="item.id" + size="small" + closable + >{{ item.name }}</el-tag + > + </div> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="浣滃搧锛�"> + <el-input v-model="formData.works"></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="8"> + <el-form-item label="浜虹墿鏍囩锛�"> + <el-select + multiple + style="width: 100%" + v-model="formData.personTags" + placeholder="璇烽�夋嫨浜虹墿鏍囩" + > + <el-option + v-for="item in personTag" + :key="item.id" + :label="item.name" + :value="item.id" + ></el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="绀句細韬唤锛�"> + <el-select + multiple + style="width: 100%" + v-model="formData.socialIdentity" + placeholder="璇烽�夋嫨绀句細韬唤" + > + <el-option + v-for="item in socialDistinction" + :key="item.id" + :label="item.name" + :value="item.id" + ></el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="鏃舵湡锛�"> + <el-select + multiple + style="width: 100%" + v-model="formData.period" + placeholder="璇烽�夋嫨鏃舵湡" + > + <el-option + v-for="item in dynastyData" + :key="item.dynastyId" + :label="item.name" + :value="item.dynastyId" + ></el-option> + </el-select> + </el-form-item> + </el-col> + </el-row> + <div style="text-align: right"> + <el-button type="primary" size="mini" @click="searchFun" + >鎼滅储</el-button + > + <el-button size="mini" @click="resetForm">閲嶇疆</el-button> + </div> + </el-form> + </view> + <div v-if="showPerson" class="personDialog"> + <i + class="el-icon-circle-close closeBtn" + @click=" + () => { + showPerson = false; + } + " + ></i> + <el-table :data="personList" style="width: 100%"> + <el-table-column prop="name" label="濮撳悕"> + <template slot-scope="scope"> + <span + style="color: #409eff; cursor: pointer" + @click=" + () => { + currentId = scope.row.id; + getData(); + } + " + >{{ scope.row.name }}</span + > + </template> + </el-table-column> + <el-table-column prop="age" label="鏃朵唬"> </el-table-column> + <el-table-column prop="nativePlace" label="绫嶈疮"> </el-table-column> + <el-table-column prop="alias" label="鍒悕"> </el-table-column> + <el-table-column prop="division" label="鍖诲鍒嗙"> </el-table-column> + </el-table> + </div> + </view> + + <!-- 鍏崇郴琛ㄥ湴鍥� --> + <div + id="relation" + style="margin-top: 0.1rem; flex: 1; width: 100%; position: relative" + > + <div + v-if="!loading && relationships.length == 0" + style=" + position: absolute; + top: 30%; + left: 0; + right: 0; + text-align: center; + font-size: 0.2rem; + color: #666; + " + > + 鏆傛棤鐩稿叧鏁版嵁 + </div> + <div + v-if="loading" + v-loading="loading" + style=" + position: absolute; + top: 30%; + left: 0; + right: 0; + text-align: center; + font-size: 0.2rem; + color: #666; + " + ></div> + </div> + <div id="customDialog" class="customDialog"> + <div class="title"> + <span>{{ detailData.name }}</span> + <span @click="closeDom">鍏抽棴</span> + </div> + <div class="content"> + <p>濮撳悕锛歿{ detailData.name }}</p> + <p>鍒悕锛歿{ detailData.alias }}</p> + <p>绫嶈疮锛歿{ detailData.nativePlace }}</p> + <p>鍖诲鍒嗙锛� {{ detailData.medicalBranch }}</p> + <p>灏忎紶锛歿{ detailData.biography }}</p> + </div> + <div class="btn" @click="spaceTimeArr(detailData.id)">鏌ョ湅鏇村>>></div> + </div> + <div id="schoolDialog" class="customDialog"> + <div class="title"> + <span>{{ detailData.name }}</span> + <span @click="closeDom">鍏抽棴</span> + </div> + <div class="content"> + <p>濮撳悕锛歿{ detailData.name }}</p> + <p>鍒悕锛歿{ detailData.alias }}</p> + <p>绫嶈疮锛歿{ detailData.nativePlace }}</p> + <p>鍖诲鍒嗙锛� {{ detailData.medicalBranch }}</p> + <p>灏忎紶锛歿{ detailData.biography }}</p> + </div> + <div class="btn" @click="spaceTimeArr(detailData.id)">鏌ョ湅鏇村>>></div> + </div> + + <el-drawer + title="鍦板潃鍒楄〃" + :visible.sync="drawer" + direction="rtl" + :before-close="handleClose" + > + <span>鎴戞潵鍟�!</span> + </el-drawer> + </view> +</template> + +<script> +import { + getPersonData, + getHotSearch, + getPDataStatistics, + academicSearch, + getPersonTag, + getSocialDistinction, + getDynastyAll +} from "@/api/index.js"; +import * as echarts from "echarts"; +export default { + data() { + return { + loading: true, + hotAciveIndex: "", + currentId: 21682, + // echarts鏁版嵁 + nodes: [], + // echarts涓よ�呯殑鍏崇郴 + relationships: [], + // 鐑棬鎼滅储 + hotKeyList: [], + searchKey: "", + // 鍒嗙被 + categories: [ + { + name: "浜插睘鍏崇郴" + }, + { + name: "甯堟壙鍏崇郴" + }, + { + name: "鏂囩尞浣滃搧" + }, + { + name: "绀句細鍏崇郴" + }, + { + name: "娲诲姩鍦�" + }, + { + name: "瀛︽湳娴佹淳" + } + ], + // 褰撳墠浜虹墿淇℃伅 + ownInfo: null, + detailData: { + name: "" + }, + isAdvancedSearch: false, + formData: { + name: "", + actively: [], + works: "", + personTags: "", + socialIdentity: "", + period: "" + }, + showPerson: false, + personList: [], + personPageInfo: { + totalCount: 0, + page: 1, + limit: 10 + }, + personTag: [], + socialDistinction: [], + dynastyData: [], + drawer: false, + infoOfPersons: [], + infoOfSchools: [], + nodeDatas: [], + links: [] + }; + }, + mounted() { + this.getData(); + this.hotSearch(); + // 鑾峰彇浜虹墿鏍囩銆佺ぞ浼氳韩浠� + this.getOptionInfo(); + // 鐩戝惉绐楀彛澶у皬鍙樺寲 + window.addEventListener("resize", this.relation); + }, + onLoad(options) { + this.searchKey = options.keyword; + }, + methods: { + getOptionInfo() { + getDynastyAll().then((res) => { + this.dynastyData = res.list; + }); + getPersonTag().then((res) => { + this.personTag = res.list; + }); + getSocialDistinction().then((res) => { + this.socialDistinction = res.list; + }); + }, + resetForm(formName) { + this.formData = { + name: "", + actively: [], + works: "", + personTags: "", + socialIdentity: "", + period: "" + }; + }, + searchFun() { + console.log(this.formData); + }, + selectActively() { + this.drawer = true; + }, + handleClose(done) { + done(); + }, + // 鑾峰彇浜虹墿鍏崇郴 + getPersonInfo(arr, str, newArr, order, type, parent) { + for (let i = 0; i < arr.length; i++) { + const ele = arr[i]; + const personInfo = this.infoOfPersons.find( + (item) => item.id == ele.personId + ); + if (personInfo?.id) { + const obj = { + personId: ele.personId, + parentId: parent.id, + relationTypeName: ele.relationTypeName, + parentName: parent?.NAME[0]?.content1 ?? parent.parentName, + name: personInfo?.NAME[0]?.content1, + category: type, + symbolSize: 15 + }; + if (order > 80) { + order = 80; + } + if (str == "literatureList") { + obj.relationTypeName = ele.literatureName; + } + if (str == "schoolList") { + const nameData = this.infoOfSchools?.find( + (i) => i.schoolId == ele.schoolId + ); + obj.relationTypeName = nameData?.name[0]; + } + if (str == "placeList") { + obj.relationTypeName = ele.ancientName ?? ele.currentName; + } + newArr.push(obj); + if (ele["kinList"] && ele["kinList"]?.length) { + order += 15; + this.getPersonInfo( + ele["kinList"], + "kinList", + newArr, + order, + 0, + personInfo + ); + } + if (ele["teacherStudentList"] && ele["teacherStudentList"]?.length) { + order += 15; + this.getPersonInfo( + ele["teacherStudentList"], + "teacherStudentList", + newArr, + order, + 1, + personInfo + ); + } + if (ele["literatureList"] && ele["literatureList"]?.length) { + const data = this.changeLiterature( + ele["literatureList"], + "literatureList" + ); + order += 15; + this.getPersonInfo( + data, + "literatureList", + newArr, + order, + 2, + personInfo + ); + } + + if (ele["socialList"] && ele["socialList"]?.length) { + const data = this.changeLiterature(ele["socialList"], "socialList"); + order += 15; + this.getPersonInfo( + data, + "socialList", + newArr, + order, + 3, + personInfo + ); + } + if (ele["placeList"] && ele["placeList"]?.length) { + const data = this.changeLiterature(ele["placeList"], "placeList"); + order += 15; + this.getPersonInfo(data, "placeList", newArr, order, 4, personInfo); + } + if (ele["schoolList"] && ele["schoolList"]?.length) { + const data = this.changeLiterature(ele["schoolList"], "schoolList"); + order += 15; + this.getPersonInfo( + data, + "schoolList", + newArr, + order, + 5, + personInfo + ); + } + } + } + }, + + // 澶勭悊鏁版嵁 + changeLiterature(arr, str) { + for (let i = 0; i < arr.length; i++) { + const ele = arr[i]; + if (!ele.personId && ele.personList?.length) { + ele.literatureList = []; + ele.personId = this.ownInfo.id; + if (ele["personList"] && ele["personList"]?.length) { + for (let j = 0; j < ele["personList"].length; j++) { + const item = ele["personList"][j]; + const data = item[str]?.map((e) => { + return { + ...e, + personId: item.personId + }; + }); + if (ele[str] && data?.length) { + ele[str].push(...data); + } + } + } + } + } + return arr; + }, + //鏁扮粍鍘婚噸 + deduplicateArray(arr, idKey) { + // 浣跨敤涓�涓緟鍔╁璞℃潵璺熻釜宸茬粡瑙佽繃鐨処D + const seen = {}; + // 浣跨敤filter鏂规硶杩囨护鏁扮粍 + const deduplicatedArray = arr.filter((item) => { + // 鑾峰彇褰撳墠瀵硅薄鐨処D + const id = item[idKey]; + // 濡傛灉ID鍦ㄨ緟鍔╁璞′腑涓嶅瓨鍦紝鍒欏皢鍏舵坊鍔犲埌瀵硅薄骞惰繑鍥瀟rue + if (!seen[id]) { + seen[id] = true; + return true; + } + // 濡傛灉ID宸茬粡瀛樺湪锛岃繑鍥瀎alse + return false; + }); + + return deduplicatedArray; + }, + + // 鏌ヨ璇︽儏 + getData() { + this.loading = true; + getPersonData(this.currentId).then((res) => { + console.log("1111111111111", res); + this.infoOfPersons = res.object.infoOfPersons; + this.infoOfSchools = res.object.infoOfSchools; + this.nodeDatas = []; + this.links = []; + this.handleData([res.object.personChain], null); + console.log("this.nodeDatas", this.nodeDatas); + console.log("this.links", this.links); + this.loading = false; + this.relation(); + // this.nodes = []; + // this.relationships = []; + // let kinData = []; + // let teacher = []; + // let literature = []; + // let social = []; + // let place = []; + // let school = []; + // if (res && res.success && res.object) { + // this.infoOfPersons = res.object?.infoOfPersons; + // this.infoOfSchools = res.object?.infoOfSchools; + + // if (res.object?.personChain) { + // this.ownInfo = this.infoOfPersons.find( + // (item) => item.id == res.object?.personChain.personId + // ); + // const obj = res.object?.personChain; + // if (obj.kinList?.length) { + // let newArr = []; + // this.categories.push({ name: "浜插睘鍏崇郴" }); + // this.getPersonInfo( + // obj.kinList, + // "kinList", + // newArr, + // 1, + // 0, + // this.ownInfo + // ); + // kinData = [...newArr]; + // } + // if (obj.teacherStudentList?.length) { + // this.categories.push({ name: "甯堟壙鍏崇郴" }); + // let newArr = []; + // this.getPersonInfo( + // obj.teacherStudentList, + // "teacherStudentList", + // newArr, + // 1, + // 1, + // this.ownInfo + // ); + // teacher = [...newArr]; + // } + // if (obj.literatureList?.length) { + // this.categories.push({ name: "鏂囩尞浣滃搧" }); + // let newArr = []; + // const data = this.changeLiterature( + // obj.literatureList, + // "literatureList" + // ); + // this.getPersonInfo( + // data, + // "literatureList", + // newArr, + // 1, + // 2, + // this.ownInfo + // ); + // literature = [...newArr]; + // // console.log(literature, "literature"); + // } + // if (obj.socialList?.length) { + // let newArr = []; + // this.categories.push({ name: "绀句細鍏崇郴" }); + // const data = this.changeLiterature(obj.socialList, "socialList"); + // this.getPersonInfo( + // data, + // "socialList", + // newArr, + // 1, + // 3, + // this.ownInfo + // ); + // social = [...newArr]; + // } + // if (obj.placeList?.length) { + // this.categories.push({ name: "娲诲姩鍦�" }); + // let newArr = []; + // const data = this.changeLiterature(obj.placeList, "placeList"); + // console.log(data, "place"); + // this.getPersonInfo(data, "placeList", newArr, 1, 4, this.ownInfo); + // place = [...newArr]; + // } + // if (obj.schoolList?.length) { + // this.categories.push({ name: "瀛︽湳娴佹淳" }); + // let newArr = []; + // const data = this.changeLiterature(obj.schoolList, "schoolList"); + // this.getPersonInfo( + // data, + // "schoolList", + // newArr, + // 1, + // 5, + // this.ownInfo + // ); + // school = [...newArr]; + // } + // } + // const personData = [ + // ...kinData, + // ...teacher, + // ...literature, + // ...social, + // ...place, + // ...school + // ]; + + // personData.forEach((item) => { + // this.nodes.push({ + // name: item.name, + // id: item.personId, + // ...item + // }); + // let obj = { + // source: item.parentName, + // target: item.name, + // relation: item.relationTypeName || "" // 濡傛灉瀛樺湪 relationName 瀛楁鍒欎娇鐢紝鍚﹀垯涓虹┖瀛楃涓� + // }; + // this.relationships.push(obj); + // }); + // } + }); + }, + // 閫掑綊澶勭悊鎵�鏈夊眰绾ф暟鎹� + handleData(data, parent) { + for (let i = 0; i < data.length; i++) { + const item = data[i]; + // 澶勭悊node/link + if (!parent) { + // 褰撳墠浜虹墿 + item.mainId = item.personId + "_p"; + const mainPerson = this.infoOfPersons.find( + (pItem) => pItem.id == item.personId + ); + this.nodeDatas.push({ + id: item.mainId, + name: mainPerson.NAME[0].content1, + itemStyle: { + color: "#244a7b" + } + }); + } else { + switch (parent.thisType) { + case 1: + item.mainId = item.personId + "_p"; + if ( + this.nodeDatas.findIndex((cItem) => cItem.id == item.mainId) == + -1 + ) { + const p = this.infoOfPersons.find( + (pItem) => pItem.id == item.personId + ); + if (p) { + this.nodeDatas.push({ + category: 0, + id: item.mainId, + name: p.NAME[0].content1 + }); + } + } + this.links.push({ + source: item.mainId, + target: parent.mainId, + label: { + show: true, + formatter: item.relationTypeName, + color: "#2C2C2C", + fontSize: 14, + backgroundColor: "rgba(255, 255, 255, 1)", + padding: [3, 8], + borderRadius: 30, + position: "middle", // 璁剧疆鏍囩鏂囨湰鍦ㄧ嚎鐨勪腑闂翠綅缃笂灞呬腑鏄剧ず + distance: -10 // 灏嗘爣绛炬斁缃湪杩炴帴绾夸笂 + } + }); + break; + case 2: + item.mainId = item.literatureId + "_l"; + if ( + this.nodeDatas.findIndex((cItem) => cItem.id == item.mainId) == + -1 + ) { + this.nodeDatas.push({ + category: 2, + id: item.mainId, + name: item.literatureName + }); + } + this.links.push({ + source: item.mainId, + target: parent.mainId + }); + break; + case 3: + item.mainId = item.ancientName + "_a"; + if ( + this.nodeDatas.findIndex((cItem) => cItem.id == item.mainId) == + -1 + ) { + this.nodeDatas.push({ + category: 4, + id: item.mainId, + name: item.ancientName + }); + } + this.links.push({ + source: item.mainId, + target: parent.mainId + }); + break; + case 4: + item.mainId = item.schoolId + "_s"; + if ( + this.nodeDatas.findIndex((cItem) => cItem.id == item.mainId) == + -1 + ) { + const s = this.infoOfSchools.find( + (sItem) => sItem.schoolId == item.schoolId + ); + if (s) { + this.nodeDatas.push({ + category: 5, + id: item.mainId, + name: s.name[0] + }); + } + } + this.links.push({ + source: item.mainId, + target: parent.mainId + }); + break; + case 5: + item.mainId = item.personId + "_p"; + if ( + this.nodeDatas.findIndex((cItem) => cItem.id == item.mainId) == + -1 + ) { + const p = this.infoOfPersons.find( + (pItem) => pItem.id == item.personId + ); + if (p) { + this.nodeDatas.push({ + category: 3, + id: item.mainId, + name: p.NAME[0].content1 + }); + } + } + this.links.push({ + source: item.mainId, + target: parent.mainId, + label: { + show: true, + formatter: item.relationTypeName, + color: "#2C2C2C", + fontSize: 14, + backgroundColor: "rgba(255, 255, 255, 1)", + padding: [3, 8], + borderRadius: 30, + position: "middle", // 璁剧疆鏍囩鏂囨湰鍦ㄧ嚎鐨勪腑闂翠綅缃笂灞呬腑鏄剧ず + distance: -10 // 灏嗘爣绛炬斁缃湪杩炴帴绾夸笂 + } + }); + break; + case 6: + item.mainId = item.personId + "_p"; + if ( + this.nodeDatas.findIndex((cItem) => cItem.id == item.mainId) == + -1 + ) { + const p = this.infoOfPersons.find( + (pItem) => pItem.id == item.personId + ); + if (p) { + this.nodeDatas.push({ + category: 1, + id: item.mainId, + name: p.NAME[0].content1 + }); + } + } + this.links.push({ + source: item.mainId, + target: parent.mainId, + label: { + show: true, + formatter: item.relationTypeName, + color: "#2C2C2C", + fontSize: 14, + backgroundColor: "rgba(255, 255, 255, 1)", + padding: [3, 8], + borderRadius: 30, + position: "middle", // 璁剧疆鏍囩鏂囨湰鍦ㄧ嚎鐨勪腑闂翠綅缃笂灞呬腑鏄剧ず + distance: -10 // 灏嗘爣绛炬斁缃湪杩炴帴绾夸笂 + } + }); + break; + } + } + + // 浜插睘鍏崇郴 + if (item.kinList && item.kinList.length) { + this.handleData(item.kinList, { ...item, thisType: 1 }); + } + // 鏂囩尞浣滃搧 + if (item.literatureList && item.literatureList.length) { + this.handleData(item.literatureList, { ...item, thisType: 2 }); + } + // 娲诲姩鍦� + if (item.placeList && item.placeList.length) { + this.handleData(item.placeList, { ...item, thisType: 3 }); + } + // 瀛︽湳娴佹淳 + if (item.schoolList && item.schoolList.length) { + this.handleData(item.schoolList, { ...item, thisType: 4 }); + } + // 绀句細鍏崇郴 + if (item.socialList && item.socialList.length) { + this.handleData(item.socialList, { ...item, thisType: 5 }); + } + // 甯堟壙鍏崇郴 + if (item.teacherStudentList && item.teacherStudentList.length) { + this.handleData(item.teacherStudentList, { ...item, thisType: 6 }); + } + } + }, + + // 鍏崇郴鍥捐氨 + relation() { + var chartDom = document.getElementById("relation"); + var myChart = echarts.init(chartDom); + // 鍋囪鎮ㄦ湁鑺傜偣鍚嶇О鍜屽畠浠箣闂寸殑鍏崇郴鏁版嵁 + this.nodeDatas = this.nodeDatas.map((item) => { + let size = 15; + for (let i = 0; i < this.links.length; i++) { + const linkItem = this.links[i]; + if (linkItem.source == item.id) { + size += 5; + } + if (linkItem.target == item.id) { + size += 5; + } + } + return { + ...item, + symbolSize: size > 80 ? 80 : size + }; + }); + + let FontSize = 12; // 瀛椾綋澶у皬 + let BorderWidth = 2; // 杈规澶у皬 + let SymbolSize = 80; // 灏哄璺濈 + let Distance = 10; + // 涓嶅悓灏哄涓嬩慨鏀筫charts鐨勫瓧浣� + if (window.innerWidth > 2560 && window.innerWidth <= 3840) { + FontSize = 20; + BorderWidth = 5; + SymbolSize = 90; + Distance = 33; + } else if (window.innerWidth > 1920 && window.innerWidth <= 2560) { + FontSize = 18; + BorderWidth = 4; + SymbolSize = 80; + Distance = 22; + } else if (window.innerWidth >= 1366 && window.innerWidth <= 1920) { + FontSize = 14; + BorderWidth = 4; + SymbolSize = 70; + Distance = 22; + } + var option; + option = { + legend: [ + { + left: 20, + top: 20, + orient: "vertical", + data: this.categories.map(function (a) { + return a.name; + }) + } + ], + series: [ + { + type: "graph", + legendHoverLink: false, + layout: "force", + symbolSize: 15, + data: this.nodeDatas, + links: this.links, + categories: this.categories, + roam: true, + label: { + show: true, + position: "right", + formatter: "{b}" + }, + scaleLimit: { + min: 0.4, + max: 2 + }, + lineStyle: { + color: "source", + curveness: 0.2 + }, + emphasis: { + focus: "adjacency", + lineStyle: { + width: 5 + } + }, + force: { + repulsion: 600, + edgeLength: 300 + } + } + ], + color: [ + "#5470c6", + "#3dae7b", + "#fac858", + "#ee6666", + "#ea7ccc", + "#9a60b4" + ] + }; + // 璁剧疆鐐瑰嚮浜嬩欢鐩戝惉 + myChart.off("click"); + myChart.on("click", (params) => { + if (params.dataType === "node") { + this.creatDom(params); + } + }); + myChart.setOption(option); + }, + creatDom(params) { + const id = params.data.id.split("_")[0]; + const type = params.data.id.split("_")[1]; + if (type == "p") { + // 浜� + const e = params.event; + const div = document.getElementById("customDialog"); + div.style.display = "block"; + div.style.left = e.offsetX + 50 + "px"; + div.style.top = e.offsetY - 50 + "px"; + const data = this.infoOfPersons?.find( + (i) => i.id == id + ); + const obj = { + id: id, + name: + data?.NAME?.map((e, i) => { + i += 1; + return e["content" + i]; + }).join("銆�") ?? "", + alias: + data?.ALIAS?.map((e, i) => { + i += 1; + return e["content" + i]; + }).join("銆�") ?? "", + nativePlace: + data?.NATIVE_PLACE?.map((e, i) => { + i += 1; + return e["content" + i]; + }).join("銆�") ?? "", + medicalBranch: + data?.MEDICAL_BRANCH?.map((e, i) => { + i += 1; + return e["content" + i]; + }).join("銆�") ?? "", + biography: data?.BIOGRAPHY ?? "" + }; + this.detailData = obj; + } + if (type == "s") { + // 瀛︽淳 + const e = params.event; + const div = document.getElementById("schoolDialog"); + div.style.display = "block"; + div.style.left = e.offsetX + 50 + "px"; + div.style.top = e.offsetY - 50 + "px"; + const data = this.infoOfPersons?.find( + (i) => i.id == id + ); + const obj = { + id: params.data.id, + name: + data?.NAME?.map((e, i) => { + i += 1; + return e["content" + i]; + }).join("銆�") ?? "", + alias: + data?.ALIAS?.map((e, i) => { + i += 1; + return e["content" + i]; + }).join("銆�") ?? "", + nativePlace: + data?.NATIVE_PLACE?.map((e, i) => { + i += 1; + return e["content" + i]; + }).join("銆�") ?? "", + medicalBranch: + data?.MEDICAL_BRANCH?.map((e, i) => { + i += 1; + return e["content" + i]; + }).join("銆�") ?? "", + biography: data?.BIOGRAPHY ?? "" + }; + this.detailData = obj; + } + }, + closeDom() { + const div = document.getElementById("customDialog"); + div.style.display = "none"; + }, + // 鍩虹鎼滅储 + onSearch(val, index) { + console.log(val); + if (index !== undefined) { + // 鐑棬鎼滅储鍏抽敭瀛楋紝鐩存帴鏌ヨ鏁版嵁 + this.searchKey = ""; + this.hotAciveIndex = index; + this.currentId = val.text.id; + this.getData(); + } else { + this.hotAciveIndex = ""; + // 鎼滅储鍏堟樉绀轰汉鐗╁垪琛� + this.personPageInfo.page = 1; + this.searchPerson(val.text); + } + }, + // 鏍规嵁鍏抽敭瀛楁绱汉鐗� + searchPerson(key) { + academicSearch({ + keyword: key, + page: this.personPageInfo.page, + pageSize: this.personPageInfo.limit + }).then((res) => { + this.personList = res.list.map((item) => { + return { + id: item.personId, + name: item.name, + age: + item.periodList && item.periodList.length + ? item.periodList[0].content2 + : "-", + nativePlace: + item.nativePlaceList && item.nativePlaceList.length + ? item.nativePlaceList[0].content1 + : "-", + alias: + item.aliasList && item.aliasList.length + ? item.aliasList[0].content2 + : "-", + division: + item.medicalBranchList && item.medicalBranchList.length + ? item.medicalBranchList[0].content1 + : "-" + }; + }); + this.showPerson = true; + }); + }, + // 鍏崇郴鍥� 鐐瑰嚮閲岄潰鐨勫厓绱� + spaceTimeArr(id) { + // 鍏崇郴鍥剧殑鏁版嵁 + uni.navigateTo({ + url: "/pages/character/detail?id=" + id + }); + }, + // 鑾峰彇鏈濅唬echarts鐨勬暟鎹� + echartsArr() { + getDataStatistics().then((res) => { + res.object.dynastyStatistic.details.map((item, index) => { + // this.dynasty.id = item.dynastyId + // this.dynasty.name = item.dynastyName + // this.dynasty.coord = item.count + this.dynasty[index].id = item.dynastyId; + this.dynasty[index].name = item.dynastyName; + this.dynasty[index].coord = item.count; + }); + }); + }, + // 鐑棬鎼滅储 + hotSearch() { + getHotSearch().then((res) => { + const indexList = Object.keys(res.object); + indexList.sort((a, b) => parseInt(b) - parseInt(a)); + this.hotKeyList = indexList.map((item) => { + return { + id: item, + name: res.object[item] + }; + }); + }); + }, + isAvancedClick() { + this.isAdvancedSearch = !this.isAdvancedSearch; + // this.$nextTick(() => { + // var box1Height = document.querySelector(".fbox").offsetHeight; + // // let box2Height= document.querySelector('.fbox1').style.height = box1Height + 'px'; + // let box2Height = document.querySelector(".fbox1").offsetHeight; + // if (box1Height <= box2Height) { + // document.querySelector(".fbox1").style.height = box1Height + "px"; + // } + // }); + } + } +}; +</script> + +<style> +#relation { + width: 100%; + height: 100%; + position: relative; + background-image: url("../../static/image/characterRelationBg.png"); + background-size: 100% 100%; + background-repeat: no-repeat; + background-position: center; +} + +.customDialog { + width: 300px; + min-height: 240px; + display: none; + position: fixed; + z-index: 99999999; + border-radius: 2px; + background: #fff; +} + +.customDialog .title { + width: 100%; + height: 35px; + display: flex; + justify-content: space-between; + align-items: center; + padding: 10px; + box-sizing: border-box; + background-color: rgb(221, 232, 246); + font-size: 14px; +} +.customDialog .title span:nth-child(1) { + font-size: 16px; + font-weight: 600; +} + +.customDialog .title span:nth-child(2) { + color: rgb(95, 127, 168); + cursor: pointer; +} + +.customDialog .content { + padding: 15px; + box-sizing: border-box; +} + +.customDialog .content p { + margin-bottom: 5px; + display: -webkit-box; /* 鏄剧ず澶氳鏂囨湰瀹瑰櫒 */ + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; /*鏄剧ず琛屾暟*/ + overflow: hidden; /*闅愯棌澶氬嚭閮ㄥ垎鏂囧瓧*/ + text-overflow: ellipsis; /*鐢ㄧ渷鐣ュ彿浠f浛澶氬嚭閮ㄥ垎鏂囧瓧*/ +} + +.customDialog .btn { + display: flex; + justify-content: center; + align-items: center; + color: rgb(95, 127, 168); + cursor: pointer; + font-size: 14px; + height: 35px; +} + +@media screen and (min-width: 2560px) and (max-width: 3840px) { +} + +@media screen and (min-width: 1366px) and (max-width: 1920px) { +} + +::v-deep .uni-input-placeholder { + line-height: 1; + font-size: 0.12rem; +} + +::v-deep .ffff { + border-radius: 0.5rem; +} + +::v-deep .widget_button { + border-radius: 0.5rem; + margin: 0.02rem; +} + +.hotSearch { + font-size: 0.12rem; + color: #2c2c2c; + + li { + color: #244a7b; + margin: 0 0.1rem; + color: #244a7b; + &.active { + color: #027edc; + font-weight: bold; + } + } +} + +.searchDialog { + position: absolute; + top: 0.68rem; + left: 0; + right: 0; + z-index: 999; + padding: 0.1rem 0.4rem; + background: #fff; + min-height: 2rem; +} + +.personDialog { + position: absolute; + top: 0.68rem; + z-index: 999; + padding: 0.1rem; + background: #fff; + border-radius: 6px; + box-shadow: 0 0 10px -3px #000; + .closeBtn { + position: absolute; + right: -10px; + top: -10px; + width: 24px; + height: 24px; + font-size: 24px; + background-color: #fff; + border-radius: 50%; + color: #f56c6c; + cursor: pointer; + } +} + +.selectActivelyBox { + cursor: pointer; + border: 1px solid #dcdfe6; + border-radius: 4px; + padding: 0 0.12rem; + font-size: 12px; + color: #c0c4cc; +} + +.el-drawer__wrapper { + top: 0.86rem; +} + +::v-deep .el-drawer__open .el-drawer.rtl { + width: 50% !important; +} +</style> diff --git a/src/pages/changePassword/changePassword.vue b/src/pages/changePassword/changePassword.vue index 5570fa5..8eaf491 100644 --- a/src/pages/changePassword/changePassword.vue +++ b/src/pages/changePassword/changePassword.vue @@ -16,7 +16,7 @@ font-family: cursive; font-weight: bold; " - >涓浗鍖诲浜虹墿鐭ヨ瘑搴�</text + >涓浗鍘嗕唬鍖诲浜虹墿鐭ヨ瘑搴�</text > </view> <view></view> @@ -233,25 +233,29 @@ // 涔︾睄鏁版嵁 listData: [ { - name: "涓尰浜虹墿鏁版嵁搴�", + name: "鍘嗕唬浜虹墿", id: 1 }, { - name: "涓栧尰鍖诲鏁版嵁搴�", + name: "瀹跺浼犳壙", id: 2 }, { - name: "涓尰瀛︽湳娴佹淳", + name: "瀛︽湳娴佹淳", + id: 6 + }, + { + name: "瀛︽湳鍥捐氨", id: 3 }, { - name: "涓尰鍦板煙鍖昏氨", + name: "鍦板煙鍥捐氨", id: 4 }, - { - name: "涓尰鍖讳簨鍒跺害", - id: 5 - } + // { + // name: "涓尰鍖讳簨鍒跺害", + // id: 5 + // } ] }; }, diff --git a/src/pages/character/detail.vue b/src/pages/character/detail.vue index 7b1881c..1ba522f 100644 --- a/src/pages/character/detail.vue +++ b/src/pages/character/detail.vue @@ -1,6 +1,6 @@ <template> <view class="relative"> - <headNav :idIndex="1 + ''" text="涓尰浜虹墿鏁版嵁搴�" /> + <headNav :idIndex="1 + ''" text="鍘嗕唬浜虹墿" /> <view class="Midde flex"> <el-button class="MiddeBack flex flex-center" @click="goBack" >杩斿洖</el-button @@ -239,7 +239,7 @@ class="box-card" style="min-height: 1.91rem; margin: 0.2rem 0" > - <el-tabs ref="tabs" v-model="activeName" @tab-click="handleClick"> + <el-tabs ref="tabs" v-model="activeName"> <el-tab-pane label="浠h〃钁椾綔" data-id="1" name="representative"> <Table1 :data="tableData1" @@ -534,13 +534,13 @@ // 鑾峰彇鏃剁┖鍦板浘 this.getMapInfo(); - this.$nextTick(() => { - // 鑾峰彇绗竴涓�夐」鍗$殑 DOM 鍏冪礌 - const firstTab = this.$refs.tabs.$el.querySelector( - ".el-tabs__active-bar" - ); - firstTab.style.transform = "translateX(" + "-.2rem" + ")"; - }); + // this.$nextTick(() => { + // // 鑾峰彇绗竴涓�夐」鍗$殑 DOM 鍏冪礌 + // const firstTab = this.$refs.tabs.$el.querySelector( + // ".el-tabs__active-bar" + // ); + // firstTab.style.transform = "translateX(" + "-.2rem" + ")"; + // }); // 鐩戝惉绐楀彛澶у皬鍙樺寲 window.addEventListener("resize", this.relation); @@ -992,30 +992,6 @@ .join("&"); window.open(`#/pages/fileDetail/index?${queryString}`); }, - handleClick(tab) { - let index = tab.$attrs["data-id"] - 1; - this.$nextTick(() => { - let firstTab = this.$refs.tabs.$el.querySelector( - ".el-tabs__active-bar" - ); - if (index == 0) { - firstTab.style.transform = "translateX(-" + 0.2 + "rem)"; - } else if (index == 1) { - firstTab.style.transform = "translateX(" + 0.85 * index + "rem)"; - } else if (index == 2) { - firstTab.style.transform = "translateX(" + 0.93 * index + "rem)"; - } else if (index == 3) { - firstTab.style.transform = "translateX(" + 0.95 * index + "rem)"; - } else if (index == 4) { - firstTab.style.transform = "translateX(" + 0.97 * index + "rem)"; - } else { - let firstTab = this.$refs.tabs.$el.querySelector( - ".el-tabs__active-bar" - ); - firstTab.style.transform = "translateX(" + "-.2" + "rem)"; - } - }); - }, // 鍏崇郴鍥捐氨 relation() { var chartDom = document.getElementById("relation"); @@ -1367,9 +1343,7 @@ width: 70%; } -::v-deep .el-tabs__content { - line-height: 1; -} + /* 涓汉灏忎紶 ------------------*/ ::v-deep .el-dialog__header { @@ -1496,10 +1470,12 @@ } ::v-deep .el-tabs__item { - width: 1rem; + width: 1.4rem; font-size: 0.14rem; line-height: 0.4rem; height: 0.4rem; + padding: 0 20px !important; + text-align: center; } ::v-deep .el-tabs__header { @@ -1507,12 +1483,8 @@ } ::v-deep .el-tabs__active-bar { - /* 璁剧疆婊氬姩鏉″搴� */ - width: 1rem !important; height: 0.03rem !important; background-color: #597aa5; - transform: translateX(-20px); - /* margin-top: .09rem; */ } ::v-deep .el-tabs__active-bar { diff --git a/src/pages/character/index.vue b/src/pages/character/index.vue index b7688d7..676fcff 100644 --- a/src/pages/character/index.vue +++ b/src/pages/character/index.vue @@ -2,9 +2,9 @@ <view style="width: 100%; height: 100%; display: flex; flex-direction: column" > - <headNav idIndex="1" text="涓尰浜虹墿鏁版嵁搴�" /> + <headNav idIndex="1" text="鍘嗕唬浜虹墿" /> <!-- 楂樼骇鎼滅储 --> - <view style="margin: 0.35rem 0 0.16rem 0"> + <view style="margin-top: 0.1rem"> <advancedSearch @onSearch="onSearch" @onSubmit="onSubmit" @@ -32,7 +32,7 @@ <!-- 鍏崇郴琛ㄥ湴鍥� --> <view id="relation" - style="margin-top: 0.2rem; flex: 1; width: 100%; position: relative" + style="margin-top: 0.1rem; flex: 1; width: 100%; position: relative" > <div v-if="!loading && relationships.length == 0" @@ -348,17 +348,17 @@ let Distance = 10; // 涓嶅悓灏哄涓嬩慨鏀筫charts鐨勫瓧浣� if (window.innerWidth > 2560 && window.innerWidth <= 3840) { - FontSize = 28; + FontSize = 20; BorderWidth = 5; - SymbolSize = 100; + SymbolSize = 90; Distance = 33; } else if (window.innerWidth > 1920 && window.innerWidth <= 2560) { - FontSize = 28; + FontSize = 18; BorderWidth = 4; - SymbolSize = 90; + SymbolSize = 80; Distance = 22; } else if (window.innerWidth >= 1366 && window.innerWidth <= 1920) { - FontSize = 18; + FontSize = 14; BorderWidth = 4; SymbolSize = 70; Distance = 22; @@ -411,7 +411,6 @@ } }; }); - var option; option = { title: { diff --git a/src/pages/characterMap/characterMap.vue b/src/pages/characterMap/characterMap.vue index 5532d72..a4f33a5 100644 --- a/src/pages/characterMap/characterMap.vue +++ b/src/pages/characterMap/characterMap.vue @@ -2,7 +2,7 @@ <view style="width: 100%; height: 100%; display: flex; flex-direction: column" > - <headNav :idIndex="1 + ''" text="涓尰浜虹墿鏁版嵁搴�" /> + <headNav :idIndex="1 + ''" text="鍘嗕唬浜虹墿" /> <el-button class="getBack" @click="goBack">杩斿洖</el-button> <view style="flex: 1; overflow: hidden"> <!-- 鍦板浘 --> diff --git a/src/pages/fileDetail/index.vue b/src/pages/fileDetail/index.vue index 0f51bc1..6275b57 100644 --- a/src/pages/fileDetail/index.vue +++ b/src/pages/fileDetail/index.vue @@ -1,6 +1,6 @@ <template> <view class="pageBox"> - <headNav :idIndex="1 + ''" text="涓尰浜虹墿鏁版嵁搴�" /> + <headNav :idIndex="1 + ''" text="鍘嗕唬浜虹墿" /> <div class="contentBox"> <pre v-if="options.outputType == 'XML' || options.outputType == 'JSON'"> <code> diff --git a/src/pages/forgetPass/forgetPass.vue b/src/pages/forgetPass/forgetPass.vue index c4b1853..f9a3fff 100644 --- a/src/pages/forgetPass/forgetPass.vue +++ b/src/pages/forgetPass/forgetPass.vue @@ -16,7 +16,7 @@ font-family: cursive; font-weight: bold; " - >涓浗鍖诲浜虹墿鐭ヨ瘑搴�</text + >涓浗鍘嗕唬鍖诲浜虹墿鐭ヨ瘑搴�</text > </view> <view></view> diff --git a/src/pages/index/index.vue b/src/pages/index/index.vue index e8d6e6d..63770e5 100644 --- a/src/pages/index/index.vue +++ b/src/pages/index/index.vue @@ -3,13 +3,13 @@ <view class="repository relative"> <view class="flex Ttop flex-column" style="width: 100%"> <view class="flex" style="width: 100%"> - <view style="padding-left: 4rem"></view> + <view style="padding-left: 4rem"></view> <view class="flex flex-center flex-wrap" style="width: 100%; flex-direction: column" > - <view ></view> - <view ref="Rtop"> + <view></view> + <view ref="Rtop"> <text class="login"></text> <text style=" @@ -19,7 +19,7 @@ font-family: cursive; font-weight: bold; " - >涓浗鍖诲浜虹墿鐭ヨ瘑搴�</text + >涓浗鍘嗕唬鍖诲浜虹墿鐭ヨ瘑搴�</text > </view> </view> @@ -42,7 +42,7 @@ @confirm="toggleSearch" type="text" style=" - margin-left: 0.05rem; + margin-left: 0.16rem; color: #2c2c2c; flex: 1; background-color: #fff; @@ -55,11 +55,7 @@ <view class="search-logo" @click="toggleSearch" - style=" - background-color: #244a7b; - border-radius: 50%; - margin-top: -4rpx; - " + style="background-color: #244a7b; border-radius: 50%" ></view> </view> <el-dropdown @@ -121,7 +117,7 @@ >{{ item.name }}</span > <view - class="flex flex-content" + class="detailBtn flex flex-content" style=" width: 0.5rem; height: 0.5rem; @@ -154,7 +150,7 @@ import Footer1 from "@/components/footer/footer.vue"; export default { components: { - Footer1 + Footer1, }, data() { return { @@ -173,60 +169,63 @@ pass: "", checkPass: "", cellphoneORmailbox: "", - verifyCode: "" + verifyCode: "", }, // 鐧诲綍鐢ㄦ埛璐﹀彿 loginData: { // 璐﹀彿 loginID: "", - pass: "" + pass: "", }, // 閲嶇疆瀵嗙爜 resetDataPass: { cellphoneORmailbox: "", verifyCode: "", newPass: "", - checkPass: "" + checkPass: "", }, // 淇敼瀵嗙爜 amendDataPass: { loginID: "", originalPass: "", newPass: "", - checkPass: "" + checkPass: "", }, // 涔︾睄鏁版嵁 listData: [ { - name: "涓尰浜虹墿鏁版嵁搴�", - id: 1 + name: "鍘嗕唬浜虹墿", + id: 1, }, { - name: "涓栧尰鍖诲鏁版嵁搴�", - id: 2 + name: "瀹跺浼犳壙", + id: 2, }, { - name: "涓尰瀛︽湳娴佹淳", - id: 3 + name: "瀛︽湳娴佹淳", + id: 6, }, { - name: "涓尰鍦板煙鍖昏氨", - id: 4 + name: "瀛︽湳鍥捐氨", + id: 3, }, { - name: "涓尰鍖讳簨鍒跺害", - id: 5 - } - ] + name: "鍦板煙鍥捐氨", + id: 4, + }, + // { + // name: "涓尰鍖讳簨鍒跺害", + // id: 5 + // } + ], }; }, onLoad() { - uni.getSystemInfo({ success: function (info) { // console.log('灞忓箷鐨勫搴︼細' + info.windowWidth); // console.log('灞忓箷鐨勯珮搴︼細' + info.windowHeight); - } + }, }); }, mounted() { @@ -237,7 +236,7 @@ // 鎼滅储 onSearch(val) { uni.navigateTo({ - url: "/pages/knowledgeBase/knowledgeBase?keyword=" + val.text + url: "/pages/knowledgeBase/knowledgeBase?keyword=" + val.text, }); }, // 鎼滅储 @@ -248,7 +247,7 @@ if (this.searchInput.trim() !== "") { uni.navigateTo({ url: - "/pages/knowledgeBase/knowledgeBase?keyword=" + this.searchInput + "/pages/knowledgeBase/knowledgeBase?keyword=" + this.searchInput, }); } this.searchInput = ""; @@ -261,26 +260,30 @@ if (item.id == 1) { uni.navigateTo({ // url: '/pages/character/detail?id=' + item.id - url: "/pages/character/index?id=" + item.id + url: "/pages/character/index?id=" + item.id, }); } else if (item.id == 2) { uni.navigateTo({ - url: "/pages/inherit/index?id=" + item.id + url: "/pages/inherit/index?id=" + item.id, }); // uni.navigateTo({ // url: '/pages/shiyiHome/shiyiHome' // }) } else if (item.id == 3) { uni.navigateTo({ - url: "/pages/academicGenres/index?id=" + item.id + url: "/pages/academicGenres/index?id=" + item.id, }); } else if (item.id == 4) { uni.navigateTo({ - url: "/pages/territory/territory?id=" + item.id + url: "/pages/territory/territory?id=" + item.id, }); } else if (item.id == 5) { uni.navigateTo({ - url: "/pages/TcmSystem/TcmSystem?id=" + item.id + url: "/pages/TcmSystem/TcmSystem?id=" + item.id, + }); + } else if (item.id == 6) { + uni.navigateTo({ + url: "/pages/academicSchools/index", }); } }, @@ -312,7 +315,7 @@ // token 涓嶅瓨鍦� this.isCommand = false; uni.navigateTo({ - url: "/pages/Login/Login" + url: "/pages/Login/Login", }); } } else if (index == 3) { @@ -323,7 +326,7 @@ handleCommand(int) { if (int == 1) { uni.navigateTo({ - url: "/pages/changePassword/changePassword" + url: "/pages/changePassword/changePassword", }); } else if (int == 2) { uni.showModal({ @@ -340,15 +343,15 @@ //閫�鍑烘垚鍔燂紒骞惰烦杞埌鍏朵粬椤甸潰 this.$message.success("閫�鍑烘垚鍔�"); uni.reLaunch({ - url: "/pages/Login/Login" + url: "/pages/Login/Login", }); }); } - } + }, }); } - } - } + }, + }, }; </script> @@ -568,6 +571,14 @@ height: 80% !important; } + .Search ::v-deep .ffff { + opacity: 0.8; + } + + .Search ::v-deep .ffff:focus-within { + opacity: 1; + } + ::v-deep .searchBg { width: 0.35rem; height: 0.35rem; @@ -742,7 +753,14 @@ } } -::v-deep .cleanupBtn{ +::v-deep .cleanupBtn { right: 52px !important; } + +.secretary li .detailBtn { + transition: translate 0.3s; +} +.secretary li .detailBtn:hover { + translate: 0 -5px; +} </style> diff --git a/src/pages/inherit/index.vue b/src/pages/inherit/index.vue index 370cf29..ead04a9 100644 --- a/src/pages/inherit/index.vue +++ b/src/pages/inherit/index.vue @@ -3,7 +3,7 @@ <headNav idIndex="2" :searchBg="false" - text="涓尰涓栧尰浼犳壙鏁版嵁搴�" + text="瀹跺浼犳壙" bg="/static/image/topBg1.png" bg1="/static/image/line1.png" /> @@ -42,8 +42,17 @@ >鉁�</span > <button @click="search">鎼滅储</button> + <span + class="openSearch" + @click=" + () => { + openSearch = !openSearch; + } + " + >楂樼骇鎼滅储{{ openSearch ? "鈭�" : "鈭�" }}</span + > </div> - <div class="dynasty"> + <div class="dynasty" v-if="openSearch"> <div style="font-weight: 700; line-height: 0.25rem">绛涢�夋湞浠�</div> <div class="filterList"> <div @@ -62,7 +71,7 @@ </div> </div> </div> - <div class="condition"> + <div class="condition" v-if="openSearch"> <div style="font-weight: 700; line-height: 0.25rem">鏉′欢閫夋嫨</div> <div class="filterList"> <div class="conditionItem" @click="changeCondition(3)"> @@ -95,7 +104,7 @@ </div> </div> </div> - <div style="padding-left: 0.5rem; margin-top: 20px"> + <div style="padding-left: 0.5rem; margin-top: 0.1rem"> 鍏� {{ totalCount }}涓笘鍖� </div> </div> @@ -122,7 +131,13 @@ :style="{ top: toolTop, left: toolLeft }" > <div class="toolItem" @click="gotoDetail(1)">涓汉淇℃伅</div> - <div class="toolItem" @click="gotoDetail(2)">涓栧尰鏂囧寲</div> + <div + class="toolItem" + style="position: relative; top: -40px" + @click="gotoDetail(2)" + > + 涓栧尰鏂囧寲 + </div> <div class="toolItem" @click="gotoDetail(3)">涓栧尰浼犳壙</div> </div> </div> @@ -151,7 +166,8 @@ toolTop: 0, toolLeft: 0, toolInfo: {}, - totalCount: 0 + totalCount: 0, + openSearch: false }; }, onLoad(options) { @@ -288,29 +304,59 @@ friction: 0.1, repulsion: 500, edgeLength: 6 + }, + selectedMode: "single", + select: { + itemStyle: { + color: "#e8f3ff", + borderColor: "#284e74", + borderWidth: "3" + } } } ] }; + let selectData = []; //杩涜娓叉煋 myChart.setOption(option); - myChart.getZr().on("click", (params) => { - if (!params.target) { + // myChart.getZr().on("click", (params) => { + // console.log(params); + // console.log(selectData); + // if (!params.target) { + // this.showTool = false; + // } + // }); + myChart.on("click", (params) => { + if (selectData.length > 0) { + let x = params.event.target.transform[4]; + let y = params.event.target.transform[5]; + if (params.componentType === "series") { + this.showTool = true; + this.toolTop = y - 70 + "px"; + this.toolLeft = x - 163 + "px"; + this.toolInfo = { + id: params.data.identifier, + name: encodeURIComponent(params.data.name) + }; + } else { + this.showTool = false; + } + } + }); + myChart.on("selectchanged", (params) => { + if (params.fromAction == "select") { + selectData = params.selected[0].dataIndex; + } else { + selectData = []; this.showTool = false; } }); - myChart.on("click", (params) => { - if (params.componentType === "series") { - this.showTool = true; - this.toolTop = params.event.offsetY + "px"; - this.toolLeft = params.event.offsetX + "px"; - this.toolInfo = { - id: params.data.identifier, - name: encodeURIComponent(params.data.name) - }; - } else { - this.showTool = false; - } + myChart.on("graphroam", (params) => { + this.showTool = false; + myChart.dispatchAction({ + type: "unselect", + dataIndex: selectData + }); }); }, gotoDetail(type) { @@ -421,6 +467,7 @@ font-size: 0.12rem; cursor: pointer; background-color: #fff; + display: inline-block; } .toolItem:hover { background-color: #efefef; @@ -460,16 +507,24 @@ border-radius: 50px; margin-right: 10rpx; } + +.searchBox .openSearch { + position: absolute; + right: -100px; + font-size: 14px; + cursor: pointer; +} + .dynasty { display: flex; margin-top: 0.2rem; width: 100%; - padding: 0.1rem 0.5rem; + padding: 0 0.5rem; } .condition { display: flex; width: 100%; - padding: 0.1rem 0.5rem; + padding: 0 0.5rem; } .filterList { flex: 1; @@ -482,7 +537,6 @@ box-shadow: 1px 1px 5px #888888; align-items: center; justify-content: center; - width: 1.4rem; height: 0.3rem; margin-left: 0.2rem; border-radius: 0.13rem; @@ -490,13 +544,14 @@ margin-top: 0.02rem; margin-bottom: 0.1rem; cursor: pointer; + padding: 0 0.1rem; } .conditionItem { display: flex; box-shadow: 1px 1px 5px #888888; align-items: center; justify-content: center; - width: 1.6rem; + padding: 0 0.1rem; height: 0.3rem; float: left; margin-left: 0.2rem; @@ -517,7 +572,7 @@ } .filterText { margin-left: 10px; - font-size: 0.16rem; + font-size: 0.14rem; } .fontColor { color: #827e44 !important; diff --git a/src/pages/inherit/list.vue b/src/pages/inherit/list.vue index 081a6b1..109c6f9 100644 --- a/src/pages/inherit/list.vue +++ b/src/pages/inherit/list.vue @@ -3,7 +3,7 @@ <headNav idIndex="2" :searchBg="false" - text="涓尰涓栧尰浼犳壙鏁版嵁搴�" + text="瀹跺浼犳壙" bg="/static/image/topBg1.png" bg1="/static/image/line1.png" /> @@ -52,6 +52,33 @@ <view class="icon" style="background: #244a7b"></view> <view>绀句細鍏崇郴</view> </view> + <view class="viewChangeBtn"> + <p>{{viewType == 1 ? "妯増瑙嗗浘" : "绔栫増瑙嗗浘"}}</p> + <view class="imgBox"> + <img + v-if="viewType == 1" + src="@/static/image/inherit/1-a.png" + alt="" + /> + <img + v-else + src="@/static/image/inherit/1.png" + @click="viewChange(1)" + /> + </view> + <view class="imgBox"> + <img + v-if="viewType == 2" + src="@/static/image/inherit/2-a.png" + alt="" + /> + <img + v-else + src="@/static/image/inherit/2.png" + @click="viewChange(2)" + /> + </view> + </view> </view> <!-- echarts鍥� --> <div v-if="showType == 1" class="barChart" id="barChart"></div> @@ -98,7 +125,7 @@ import { inheritMedicalCultureList, - inheritMedicalRelationList, + inheritMedicalRelationList } from "@/api/index.js"; export default { @@ -115,6 +142,7 @@ culture1: null, culture2: null, culture3: null, + viewType: 1 }; }, onLoad(options) { @@ -126,13 +154,13 @@ if (this.type) { this.changeType(this.type); } - this.getData(); + this.getData(this.socialMapping); }, methods: { - getData() { + getData(socialFlag) { inheritMedicalRelationList({ identifier: this.idIndex, - socialFlag: true, + socialFlag: socialFlag }).then((res) => { this.dataList = res.object; // 澶勭悊鑺傜偣棰滆壊 @@ -204,12 +232,17 @@ // 涓栧尰鏂囧寲 inheritMedicalCultureList({ - identifier: this.idIndex, + identifier: this.idIndex }).then((res) => { this.culture1 = res.list.find((item) => item.typeName == "瀹堕"); this.culture2 = res.list.find((item) => item.typeName == "鍖诲痉"); this.culture3 = res.list.find((item) => item.typeName == "瀹惰"); }); + }, + viewChange(data) { + this.viewType = data; + document.getElementById("barChart").innerHTML = ""; + this.initG6Chart(); }, showSocialMapping() { this.socialMapping = !this.socialMapping; @@ -217,9 +250,10 @@ this.socialRelationsData(this.dataList.children); console.log(this.dataList, "dataList"); document.getElementById("barChart").innerHTML = ""; - this.initG6Chart(); + // this.initG6Chart(); + this.getData(this.socialMapping); } else { - this.getData(); + this.getData(this.socialMapping); } // this.initBarChart(newDataList, newLinks); }, @@ -260,8 +294,7 @@ : "", relationType: f?.relationInfo?.relationType == "绀句細鍏崇郴" ? true : false, - children: - f.children.length > 0 ? this.getChartData(f.children) : [], + children: f.children.length > 0 ? this.getChartData(f.children) : [] }; }); return G6Data; @@ -277,12 +310,12 @@ id: this.dataList.name, name:this.dataList.name, style: { - fill: "red", + fill: "red" }, children: this.dataList?.children.length > 0 ? this.getChartData(this.dataList.children) - : [], + : [] }; const width = barChart.scrollWidth; const height = barChart.scrollHeight || 500; @@ -294,15 +327,18 @@ modes: { default: [ "drag-canvas", - "zoom-canvas", - ], + "zoom-canvas" + ] }, defaultNode: { - size: 30, + size: 30 + }, + defaultEdge: { + type: this.viewType == 1 ? "cubic-horizontal" : "cubic-vertical" }, layout: { type: "compactBox", - direction: "LR", + direction: this.viewType == 1 ? "LR" : "TB", getId: function getId(d) { return d.id; }, @@ -312,24 +348,25 @@ getWidth: function getWidth() { return 16; }, - getVGap: function getVGap() { - return 30; + getVGap: () => { + console.log(this.viewType); + return this.viewType == 1 ? 20 : 110; }, - getHGap: function getHGap() { - return 100; - }, - }, + getHGap: () => { + return this.viewType == 1 ? 100 : 50; + } + } }); this.graph.node(function (node) { return { size: 38, anchorPoints: [ [0, 0.5], - [1, 0.5], + [1, 0.5] ], style: { fill: node.relationType ? "#EDF4FF" : "#FCEFE3", - stroke: node.relationType ? "#5E7AA7" : "#D3791E", + stroke: node.relationType ? "#5E7AA7" : "#D3791E" }, label: node.name, labelCfg: { @@ -337,16 +374,16 @@ offset: 5, style: { fill: "#000", - fontSize: 12, - }, - }, + fontSize: 12 + } + } }; }); this.graph.edge(function (node) { return { type: "cubic-horizontal", color: "#A3B1BF", - label: node.target._cfg?.model.relationInfo, + label: node.target._cfg?.model.relationInfo }; }); this.graph.on("node:click", (e) => { @@ -354,11 +391,11 @@ console.log("鍗曞嚮", nodeItem); if (nodeItem?.personId) { uni.navigateTo({ - url: "/pages/character/detail?id=" + nodeItem?.personId, + url: "/pages/character/detail?id=" + nodeItem?.personId }); } else { uni.navigateTo({ - url: "/pages/character/detail?id=" + this.idIndex, + url: "/pages/character/detail?id=" + this.idIndex }); } }); @@ -400,7 +437,7 @@ image: "./static/image/WMBg.png", repeat: "repeat-x", // 鏄惁骞抽摵锛屽彲浠ユ槸 'repeat-x', 'repeat-y', 'no-repeat' size: "100% 100%", // 鑳屾櫙鍥剧墖鐨勫昂瀵革紝鍙互鏄櫨鍒嗘瘮鎴栬�呭儚绱� - position: "center center", // 鑳屾櫙鍥剧墖鐨勪綅缃紝鍙互鏄� top, bottom, middle 鎴栬�呯櫨鍒嗘瘮 + position: "center center" // 鑳屾櫙鍥剧墖鐨勪綅缃紝鍙互鏄� top, bottom, middle 鎴栬�呯櫨鍒嗘瘮 }, tooltip: {}, animationEasingUpdate: "quinticInOut", @@ -413,7 +450,7 @@ label: { show: true, color: "black", // 璁剧疆鑺傜偣鏂囧瓧棰滆壊涓洪粦鑹� - fontSize: FontSize, // 璁剧疆鏂囧瓧澶у皬 + fontSize: FontSize // 璁剧疆鏂囧瓧澶у皬 }, edgeSymbol: ["circle", "arrow"], edgeSymbolSize: [4, 10], @@ -421,17 +458,17 @@ lineStyle: { opacity: 0.9, width: 2, - curveness: 0.3, + curveness: 0.3 }, force: { initLayout: null, // gravity: 0 repulsion: 600, - edgeLength: 400, + edgeLength: 400 }, - expandAndCollapse: false, - }, - ], + expandAndCollapse: false + } + ] }; //杩涜娓叉煋 myChart.setOption(option); @@ -439,8 +476,8 @@ // 杩斿洖鎸夐挳 goBack() { this.$router.go(-1); - }, - }, + } + } }; </script> <style scoped> @@ -503,6 +540,29 @@ margin-right: 0.06rem; } +.viewChangeBtn { + position: absolute; + right: 1.2rem; + top: 0.17rem; + display: flex; +} + +.viewChangeBtn p{ + line-height: 0.36rem; + margin-right: 0.2rem; +} + +.viewChangeBtn .imgBox { + width: 0.36rem; + height: 0.36rem; +} + +.viewChangeBtn img { + width: 100%; + height: 100%; + cursor: pointer; +} + .legend { display: flex; align-items: center; diff --git a/src/pages/knowledgeBase/knowledgeBase.vue b/src/pages/knowledgeBase/knowledgeBase.vue index c5520e8..2c40043 100644 --- a/src/pages/knowledgeBase/knowledgeBase.vue +++ b/src/pages/knowledgeBase/knowledgeBase.vue @@ -1,7 +1,7 @@ <template> <view> <!-- 椤堕儴 --> - <headNav idIndex="0" text="涓浗鍖诲浜虹墿鐭ヨ瘑搴�" /> + <headNav idIndex="0" text="涓浗鍘嗕唬鍖诲浜虹墿鐭ヨ瘑搴�" /> <!-- 鎼滅储 --> <view class="flex flex-center Search"> <!-- <luanqing-search class="search_bar" @onSearch="onSearch"></luanqing-search> --> @@ -309,12 +309,12 @@ } ] }, - { - type: "input", - label: "鑱屽畼", - name: "official", - value: "" - }, + // { + // type: "input", + // label: "鑱屽畼", + // name: "official", + // value: "" + // }, { type: "select", label: "鎬у埆", @@ -341,12 +341,12 @@ name: "dynasty", value: "" }, - { - type: "select", - label: "鏈烘瀯", - name: "institution", - options: [] - } + // { + // type: "select", + // label: "鏈烘瀯", + // name: "institution", + // options: [] + // } ] }, @@ -744,21 +744,21 @@ CurrentChange(val) { if (this.CurrentPage != val) { this.CurrentPage = val; - this.onSearch(""); + this.onSearch({ text: this.keywords }); } }, // 涓婁竴椤� PrevClick(val) { if (this.CurrentPage != val) { this.CurrentPage = val; - this.onSearch(""); + this.onSearch({ text: this.keywords }); } }, // 涓嬩竴椤� NextClick(val) { if (this.CurrentPage != val) { this.CurrentPage = val; - this.onSearch(""); + this.onSearch({ text: this.keywords }); } } } diff --git a/src/pages/repository/repository.vue b/src/pages/repository/repository.vue index b06cd85..3b8471f 100644 --- a/src/pages/repository/repository.vue +++ b/src/pages/repository/repository.vue @@ -1,6 +1,6 @@ <template> <view class="relative"> - <headNav :idIndex="idIndex" text="涓尰浜虹墿鏁版嵁搴�" /> + <headNav :idIndex="idIndex" text="鍘嗕唬浜虹墿" /> <view class="Midde flex"> <el-button class="MiddeBack flex flex-center" @click="goBack">杩斿洖</el-button> <view style="width: 70%;" class="flex flex-center flex-column"> diff --git a/src/pages/shiyiHome/shiyiHome.vue b/src/pages/shiyiHome/shiyiHome.vue index 2a12b6c..7d7aff6 100644 --- a/src/pages/shiyiHome/shiyiHome.vue +++ b/src/pages/shiyiHome/shiyiHome.vue @@ -1,6 +1,6 @@ <template> <view> - <headNav :idIndex="idIndex" :searchBg="false" text="涓尰涓栧尰浼犳壙鏁版嵁搴�" bg="/static/image/topBg1.png" + <headNav :idIndex="idIndex" :searchBg="false" text="瀹跺浼犳壙" bg="/static/image/topBg1.png" bg1="/static/image/line1.png" /> </view> </template> diff --git a/src/pages/territory/territory.vue b/src/pages/territory/territory.vue index 43ff9e8..d7a2790 100644 --- a/src/pages/territory/territory.vue +++ b/src/pages/territory/territory.vue @@ -1,7 +1,7 @@ <template> <view class="pageBox"> <!-- 椤堕儴瀵艰埅 --> - <headNav :idIndex="idIndex" text="涓尰鍦板煙鍖昏氨" style="z-index: 999" /> + <headNav :idIndex="idIndex" text="鍦板煙鍥捐氨" style="z-index: 999" /> <view class="flex flex-center" style="width: 100%; margin: 20px 0 34px; justify-content: flex-start" @@ -13,7 +13,7 @@ :isAvancedTrue="false" :keyword="keyword" /> - <ul class="flex"> + <!-- <ul class="flex"> <li v-for="(item, index) in dynasty" :key="item.id"> <view @click="SchoolClick(item.id)" @@ -46,7 +46,7 @@ }}</view> </view> </li> - </ul> + </ul> --> </view> <!-- 鎼滅储鍚庣殑寮规 --> <el-card @@ -75,7 +75,7 @@ >鍏抽棴</el-button > </div> - <view style="overflow: auto; height: 2.5rem"> + <view style="overflow: auto; height: 2.5rem" v-loading="loading"> <div v-if="!loading && SearchArr.length == 0" style=" @@ -94,6 +94,7 @@ class="information" v-for="(item, index) in SearchArr" :key="index" + style="cursor: pointer" @click="showCard(item)" > <li style="font-size: 0.18rem; font-weight: 700"> @@ -116,12 +117,102 @@ <div class="mapBox" id="mapBox" v-loading="mapLoading"> <div id="map"></div> - <el-card - class="box-card echartsTrue" - v-show="isEchTrue" + <div + class="markerDataListBox" + v-if="isEchTrue" style="overflow: inherit; width: 3rem; position: absolute; z-index: 999" :style="{ top: isTop, left: isLeft }" > + <div class="markerDataList"> + <div class="markerDataContentBox"> + <div v-if="currentMark.length == 1"> + <ul class="information"> + <li> + 濮撳悕: + {{ currentMark[0].name ? currentMark[0].name : "-" }} + </li> + <li> + 鍒悕: + {{ currentMark[0].nikeName ? currentMark[0].nikeName : "-" }} + </li> + <li> + 绫嶈疮: + {{ + currentMark[0].nativePlace + ? currentMark[0].nativePlace + : "-" + }} + </li> + <li> + 鍖诲鍒嗙: + {{ currentMark[0].barnch ? currentMark[0].barnch : "-" }} + </li> + <li + class="medicalLi" + :title="currentMark[0].medical ? currentMark[0].medical : '-'" + > + 灏忎紶: + {{ currentMark[0].medical ? currentMark[0].medical : "-" }} + </li> + </ul> + <el-button + class="flex" + @click="viewMoreClick(currentMark[0])" + style=" + width: 100%; + padding: 3px 0; + font-size: 0.12rem; + color: #597aa5; + " + type="text" + >鏌ョ湅鏇村>></el-button + > + </div> + <el-collapse v-else> + <el-collapse-item + v-for="(item, index) in currentMark" + :name="index" + :key="index" + > + <template slot="title"> + <div class="titleImg"> + <i class="el-icon-user"></i> + </div> + <span>{{ item.name }}</span> + </template> + <ul class="information"> + <li> + 濮撳悕: + {{ item.name ? item.name : "-" }} + </li> + <li>鍒悕: {{ item.nikeName ? item.nikeName : "-" }}</li> + <li>绫嶈疮: {{ item.nativePlace ? item.nativePlace : "-" }}</li> + <li>鍖诲鍒嗙: {{ item.barnch ? item.barnch : "-" }}</li> + <li + class="medicalLi" + :title="item.medical ? item.medical : '-'" + > + 灏忎紶: {{ item.medical ? item.medical : "-" }} + </li> + </ul> + <el-button + class="flex" + @click="viewMoreClick(item)" + style=" + width: 100%; + padding: 3px 0; + font-size: 0.12rem; + color: #597aa5; + " + type="text" + >鏌ョ湅鏇村>></el-button + > + </el-collapse-item> + </el-collapse> + </div> + </div> + </div> + <!-- <el-card class="box-card echartsTrue" v-show="isEchTrue"> <div slot="header" class="clearfix"> <span v-if="currentMark">{{ currentMark.name ? currentMark.name : "-" @@ -167,7 +258,7 @@ type="text" >鏌ョ湅鏇村>></el-button > - </el-card> + </el-card> --> </div> <!-- 鏈濅唬 --> @@ -232,6 +323,7 @@ getPreCount, getDynastyData, } from "@/api/index.js"; + export default { data() { return { @@ -407,6 +499,10 @@ source: "鍥藉浘瑙勮寖妗o紝CBDB锛屼笂鍥惧彜绫嶆暟鎹簱 绫嶈疮锛氭箹鍖�", }, ], + zoomLevel: 5, + oldMarkList: [], + aggregatedData: [], + openData: null, }; }, onLoad(options) { @@ -431,26 +527,9 @@ }, showCard(info) { const item = this.markerList.find((f) => f.id == info.id); - console.log(item, "item"); + this.openData = item; var latlng = L.latLng(item.yCoord, item.xCoord); - this.map.setView(latlng, 10); - setTimeout(() => { - this.isEchTrue = true; - this.currentMark = { - name: item?.NAME[0]?.content1, - nikeName: item?.ALIAS[0]?.content2, - nativePlace: item?.content1, - barnch: item?.MEDICAL_BRANCH[0]?.content1, - medical: item?.BIOGRAPHY, - id: item.id, - }; - this.$nextTick(() => { - this.isTop = - document.getElementById("mapBox").offsetHeight / 2 - 295 + "px"; - this.isLeft = - document.getElementById("mapBox").offsetWidth / 2 - 171 + "px"; - }); - }, 300); + this.map.setView(latlng, 12); }, getDataList() { this.SearchArr = []; @@ -477,68 +556,11 @@ markerList = [...markerList, ...curData]; } if (i == 1) { - this.loading = false; this.mapLoading = false; this.markerList = markerList; - this.initMap(markerList); + this.initMap(); } else { - if (curData && curData.length) { - for (let j = 0; j < curData.length; j++) { - const ele = curData[j]; - let currentClassName = "map-circle-name"; - if (ele.dynastyInfo) { - switch (ele.dynastyInfo.dynastyChs) { - case "澶�": - currentClassName = "map-circle-xia"; - break; - case "鍟�": - currentClassName = "map-circle-shang"; - break; - case "瑗垮懆": - currentClassName = "map-circle-zhou"; - break; - case "绉�": - currentClassName = "map-circle-qin"; - break; - case "姹�": - currentClassName = "map-circle-han"; - break; - case "闅�": - currentClassName = "map-circle-sui"; - break; - case "鍞�": - currentClassName = "map-circle-tang"; - break; - case "鏄�": - currentClassName = "map-circle-ming"; - break; - } - } - let icon = L.divIcon({ - html: `<div class='${currentClassName} ripple'></div>`, - iconSize: [80, 80], - className: "map-circle", - }); - const temp_mark = L.marker([ele.yCoord, ele.xCoord], { - icon: icon, - }).addTo(this.map); - temp_mark.on("click", (e) => { - setTimeout(() => { - this.isEchTrue = true; - this.currentMark = { - name: ele?.NAME[0]?.content1, - nikeName: ele?.ALIAS[0]?.content2, - nativePlace: ele?.content1, - barnch: ele?.MEDICAL_BRANCH[0]?.content1, - medical: ele?.BIOGRAPHY, - id: ele.id, - }; - this.isTop = e.containerPoint.y - 295 + "px"; - this.isLeft = e.containerPoint.x - 171 + "px"; - }, 300); - }); - } - } + this.handleMapIcon(this.markerList); } if (i == times) { @@ -553,58 +575,12 @@ nativPlace: item?.NATIVE_PLACE[0].content1, id: item.id, })); + this.loading = false; this.markerList = markerList; - // this.initMap(markerList); + this.handleMapIcon(this.markerList); } } }); - - // 闂锛� - // 鎼滅储缁撴灉涓嶅 - // 鐐瑰嚮鍦板浘鏍囩偣鍑虹幇寮规锛屾嫋鍔ㄥ湴鍥炬椂搴斿叧闂脊妗� - - // getRetrieval({ - // keyword: this.keyword, - // dynasty: this.dynasty1Color, - // page: 1, - // pageSize: 200, - // }).then((res) => { - // this.loading = false; - // if (res.object) { - // let markerList = []; - // const listData = res.object.personList; - // for (let i = 0; i < listData.length; i++) { - // const item = listData[i]; - // if (item.NATIVE_PLACE?.length > 0) { - // item.NATIVE_PLACE.forEach((citem) => { - // if (citem.xCoord && citem.yCoord) { - // const currentDynasty = this.dynasty1.find( - // (f) => f.id == item.PERIOD[0].content1 - // ); - // if (currentDynasty) { - // item.dynastyInfo = currentDynasty; - // } - // markerList.push({ ...citem, ...item }); - // } - // }); - // } - // } - // this.initMap(markerList); - // this.SearchArr = markerList.map((item) => ({ - // birthAndDeath: item?.BIRTH_YEAR[0]?.content1 - // ? item?.BIRTH_YEAR[0]?.content1 + - // "-" + - // item?.DEATH_YEAR[0]?.content1 - // : "-", - // name: item?.NAME[0]?.content1, - // source: "-", - // id: item.id, - // })); - // this.markerList = markerList; - // } else { - // this.initMap([]); - // } - // }); }, async getDataPageInfo(count) { @@ -641,11 +617,14 @@ }, onMapMoveEnd() { console.log("鍦板浘鎷栧姩浜�"); - this.isEchTrue = false; + if (this.openData) { + this.handleMapIcon(this.markerList); + } else { + this.isEchTrue = false; + } }, //鍒濆鍖栧湴鍥� - initMap(markerList) { - console.log(markerList, "markerList"); + initMap() { this.isEchTrue = false; if (this.map) { this.map.remove(); @@ -653,12 +632,14 @@ var map = L.map("map", { preferCanvas: true, attributionControl: false, - }).setView([34.3227, 108.5525], 5); + }).setView([34.3227, 108.5525], this.zoomLevel); map.on("moveend", this.onMapMoveEnd); - map.on("zoomend", function () { + map.on("zoomend", () => { var zoomLevel = map.getZoom(); // 鑾峰彇褰撳墠鍦板浘鐨勭缉鏀剧骇鍒� console.log("褰撳墠鍦板浘缂╂斁绾у埆涓�:", zoomLevel); + this.zoomLevel = zoomLevel; this.isEchTrue = false; + this.handleMapIcon(this.markerList); }); L.tileLayer .chinaProvider("TianDiTu.Normal.Map", { @@ -674,76 +655,166 @@ minZoom: 3, }) .addTo(map); - let DefaultIcon1 = L.icon({ - iconUrl: this.icoName, - iconSize: [24, 41], // 鍥炬爣鐨勫ぇ灏� 銆愬��1锛屽��2銆� 涓哄叿浣撲綘鑷畾涔夊浘鏍囩殑灏哄锛屾瘮濡傛垜鍥炬爣灏哄鏄�32脳52锛岃〃绀鸿鍥炬爣锛氬搴�32鍍忕礌锛岄珮搴︼細52鍍忕礌锛岄偅涔堝��1:灏辨槸32锛屽��2锛氬氨鏄�52 - iconAnchor: [24, 41], // 鍥炬爣灏嗗搴旀爣璁扮偣鐨勪綅缃� 杩欎釜鏄噸鐐癸紝 銆愬��1锛屽��2銆戯紝鍊�1锛氫负鍥炬爣鍧愭爣绗竴涓��(鍗�32)鐨勪竴鍗婏紝鍊�2锛氫负鍥炬爣鍧愭爣绗簩涓��(鍗�52) - popupAnchor: [1, -24], // 璇ョ偣鏄浉瀵逛簬iconAnchor寮瑰嚭淇℃伅鐨勪綅缃� 杩欎釜鏄垜鎵嬪姩璋冨嚭鏉ョ殑锛屾枃妗i粯璁ゅ師濮嬪�兼槸[-1锛�-76]锛屾垜鏄幓涓�鍗婂�硷紝鍙栦竴鍗婂�艰皟鍑烘潵鐨� - }); - - let icon = L.divIcon({ - html: "<div class='map-circle-name '></div>", - iconSize: [80, 80], - className: "map-circle", - }); this.map = map; - if (this.markerList.length) { - for (let i = 0; i < this.markerList.length; i++) { - const item = this.markerList[i]; - let currentClassName = "map-circle-name"; - if (item.dynastyInfo) { - switch (item.dynastyInfo.dynastyChs) { - case "澶�": - currentClassName = "map-circle-xia"; - break; - case "鍟�": - currentClassName = "map-circle-shang"; - break; - case "瑗垮懆": - currentClassName = "map-circle-zhou"; - break; - case "绉�": - currentClassName = "map-circle-qin"; - break; - case "姹�": - currentClassName = "map-circle-han"; - break; - case "闅�": - currentClassName = "map-circle-sui"; - break; - case "鍞�": - currentClassName = "map-circle-tang"; - break; - case "鏄�": - currentClassName = "map-circle-ming"; - break; - } - } + this.handleMapIcon(this.markerList); + }, - let icon = L.divIcon({ - html: `<div class='${currentClassName} ripple'></div>`, - iconSize: [80, 80], - className: "map-circle", - }); - const temp_mark = L.marker([item.yCoord, item.xCoord], { + handleMapIcon(data) { + if (this.oldMarkList.length) { + for (let j = 0; j < this.oldMarkList.length; j++) { + const oldMark = this.oldMarkList[j]; + oldMark.remove(); + } + this.oldMarkList = []; + } + // 鎸夊眰绾у鐞嗘暟鎹悎骞跺拰icon鐨勬覆鏌� + // 鑾峰彇澶╁湴鍥炬瘮渚嬪昂(鍦板浘1cm:瀹為檯cm) + const scale = { + 1: 295829355.45456564, + 2: 147914677.72728282, + 3: 73957338.863641411, + 4: 36978669.431820706, + 5: 18489334.715910353, + 6: 9244667.3579551764, + 7: 4622333.6789775882, + 8: 2311166.8394887941, + 9: 1155583.419744397, + 10: 577791.70987219852, + 11: 288895.85493609926, + 12: 144447.92746804963, + 13: 72223.963734024815, + 14: 36111.981867012408, + 15: 18055.990933506204, + 16: 9027.9954667531019, + 17: 4513.997733376551, + 18: 2256.9988666882755, + 19: 1128.4994333441377, + 20: 564.24971667206887, + }; + // 鏍规嵁姣斾緥灏鸿绠楀綋鍓嶅湴鍥�1鍘樼背鐨勭粡绾害宸�� + const cmData = scale[this.zoomLevel] / 100; // 灏嗗帢绫宠浆鎹负绫� + const longitudeToM = 92064.1; // 1缁忓害瀵瑰簲绫� + const latitudeToM = 111195.1; // 1绾害瀵瑰簲绫� + const longitudeRange = cmData / longitudeToM; // 鍦板浘1cm鐨勭粡搴﹀樊 + const latitudeRange = cmData / latitudeToM; // 鍦板浘1cm鐨勭含搴﹀樊 + console.log("longitudeRange", longitudeRange); + console.log("latitudeRange", latitudeRange); + // 鏍规嵁缁忕含搴﹀樊鍊煎皢鍦板浘涓�鍘樼背鍐呮墍鏈夌偣鍚堝苟骞惰褰曟暟閲� + const aggregatedData = []; + for (let i = 0; i < data.length; i++) { + const item = data[i]; + // 鍒ゆ柇褰撳墠鐐规槸鍚﹀瓨鍦ㄥ湪1cm鍐呯殑鐩稿叧鏁版嵁 + const mateData = aggregatedData.find( + (aItem) => + Math.abs(aItem.mainX - item.xCoord) < longitudeRange && + Math.abs(aItem.mainY - item.yCoord) < latitudeRange + ); + if (!mateData) { + // 鏃犲尮閰嶆暟鎹椂锛屽皢褰撳墠鐐瑰潗鏍囪涓轰腑蹇冪偣鍧愭爣锛岃櫣鍚稿悎骞跺懆鍥�1cm鍐呯殑鐐� + const obj = { + mainX: item.xCoord, + mainY: item.yCoord, + contentX: "", + contentY: "", + xList: [], + yList: [], + data: [], + }; + obj.xList.push(item.xCoord); + obj.yList.push(item.yCoord); + obj.data.push(item); + aggregatedData.push(obj); + } else { + // 鏈夊尮閰嶆暟鎹椂锛屽皢褰撳墠鐐硅繘琛屽悎骞� + mateData.xList.push(item.xCoord); + mateData.yList.push(item.yCoord); + mateData.data.push(item); + } + } + // 鏍规嵁鑱氬悎缁忓害鍜岀含搴﹀垪琛ㄧ殑鏈�澶ф渶灏忓�硷紝鍙栦腑蹇冪偣鍧愭爣 + for (let j = 0; j < aggregatedData.length; j++) { + const aggregatedItem = aggregatedData[j]; + const maxX = Math.max(...aggregatedItem.xList); + const minX = Math.min(...aggregatedItem.xList); + const maxY = Math.max(...aggregatedItem.yList); + const minY = Math.min(...aggregatedItem.yList); + aggregatedItem.contentX = (maxX - minX) / 2 + minX; + aggregatedItem.contentY = (maxY - minY) / 2 + minY; + + // 娣诲姞鏍囪 + let icon = L.divIcon({ + html: `<div class='ripple' style='box-shadow: 0 0 20px ${ + aggregatedItem.data.length > 30 ? 30 : aggregatedItem.data.length + }px #cc2edf78;'>${ + aggregatedItem.data.length < 100 + ? aggregatedItem.data.length + : "99+" + }</div>`, + iconSize: [30, 30], + className: "map-circle", + }); + const temp_mark = L.marker( + [aggregatedItem.contentY, aggregatedItem.contentX], + { icon: icon, - }).addTo(map); - temp_mark.on("click", (e) => { - setTimeout(() => { - this.isEchTrue = true; - this.currentMark = { - name: item?.WEAK_NAME[0]?.content1, + } + ); + this.oldMarkList.push(temp_mark); + temp_mark.addTo(this.map); + temp_mark.on("click", (e) => { + setTimeout(() => { + this.isEchTrue = true; + this.currentMark = aggregatedItem.data.map((item) => { + return { + name: item?.NAME[0]?.content1, nikeName: item?.ALIAS[0]?.content2, nativePlace: item?.content1, barnch: item?.MEDICAL_BRANCH[0]?.content1, medical: item?.BIOGRAPHY, id: item.id, }; - this.isTop = e.containerPoint.y - 295 + "px"; - this.isLeft = e.containerPoint.x - 171 + "px"; - }, 300); - }); - } + }); + this.isTop = e.containerPoint.y - 435 + "px"; + this.isLeft = e.containerPoint.x - 180 + "px"; + }, 300); + }); + } + console.log("aggregatedData", aggregatedData); + this.aggregatedData = aggregatedData; + if (this.openData) { + setTimeout(() => { + if (this.openData) { + let aggregated = null; + for (let i = 0; i < this.aggregatedData.length; i++) { + const aggregatedItem = this.aggregatedData[i]; + const d = aggregatedItem.data.find( + (f) => f.id == this.openData.id + ); + if (d) { + aggregated = aggregatedItem; + } + } + this.currentMark = aggregated.data.map((item) => { + return { + name: item?.NAME[0]?.content1, + nikeName: item?.ALIAS[0]?.content2, + nativePlace: item?.content1, + barnch: item?.MEDICAL_BRANCH[0]?.content1, + medical: item?.BIOGRAPHY, + id: item.id, + }; + }); + this.isEchTrue = true; + this.$nextTick(() => { + this.isTop = + document.getElementById("mapBox").offsetHeight / 2 - 435 + "px"; + this.isLeft = + document.getElementById("mapBox").offsetWidth / 2 - 180 + "px"; + }); + } + + this.openData = null; + }, 300); } }, @@ -762,9 +833,9 @@ // 鐐瑰嚮涓婇潰鐨勬湞浠f寜閽� SchoolClick(id) {}, // 鏌ョ湅鏇村>> - viewMoreClick() { + viewMoreClick(data) { uni.navigateTo({ - url: "/pages/character/detail?id=" + this.currentMark.id, + url: "/pages/character/detail?id=" + data.id, }); }, }, @@ -772,61 +843,6 @@ </script> <style> -::v-deep .map-circle-name { - width: 20px; - height: 20px; - border-radius: 50%; - background-color: rgb(144, 187, 216); -} -::v-deep .map-circle-xia { - width: 20px; - height: 20px; - border-radius: 50%; - background-color: rgb(144, 187, 216); -} -::v-deep .map-circle-shang { - width: 20px; - height: 20px; - border-radius: 50%; - background-color: rgb(237, 210, 139); -} -::v-deep .map-circle-zhou { - width: 20px; - height: 20px; - border-radius: 50%; - background-color: rgb(207, 116, 109); -} -::v-deep .map-circle-qin { - width: 20px; - height: 20px; - border-radius: 50%; - background-color: rgb(156, 194, 122); -} -::v-deep .map-circle-han { - width: 20px; - height: 20px; - border-radius: 50%; - background-color: rgb(91, 108, 185); -} -::v-deep .map-circle-sui { - width: 20px; - height: 20px; - border-radius: 50%; - background-color: rgb(136, 96, 168); -} -::v-deep .map-circle-tang { - width: 20px; - height: 20px; - border-radius: 50%; - background-color: rgb(136, 96, 168); -} -::v-deep .map-circle-ming { - width: 20px; - height: 20px; - border-radius: 50%; - background-color: rgb(222, 142, 102); -} - .pageBox { width: 100%; height: 100%; @@ -834,21 +850,69 @@ flex-direction: column; } -.echartsTrue::before { +.markerDataListBox { + width: 360px !important; + height: 400px; +} + +.markerDataListBox::before { content: ""; width: 0; height: 0; position: absolute; - bottom: -0.18rem; - left: 1.2rem; + bottom: -18px; + left: 160px; /* background-color: red; */ - border-left: 0.2rem solid transparent; + border-left: 20px solid transparent; /* 宸﹁竟閫忔槑 */ - border-right: 0.2rem solid transparent; + border-right: 20px solid transparent; /* 鍙宠竟閫忔槑 */ - border-top: 0.2rem solid #fff; + border-top: 20px solid #fff; /* 椤堕儴绾㈣壊 */ z-index: 999; +} + +.markerDataList { + width: 100%; + height: 100%; + background: #fff; + border-radius: 8px; + overflow: hidden; + box-shadow: 0 0 10px 0 #000; +} + +.markerDataList ::v-deep .el-collapse-item { + border-left: 1px solid #ebeef5; + border-right: 1px solid #ebeef5; +} + +::v-deep .el-collapse-item__header.is-active { + border-bottom-color: #ebeef5; +} + +::v-deep .el-collapse-item__header { + padding-left: 10px; + font-size: 16px; +} + +.markerDataContentBox { + width: 100%; + height: 100%; + overflow: auto !important; + padding: 6px; + box-sizing: border-box; +} + +.titleImg { + display: inline-block; + width: 24px; + height: 24px; + border-radius: 50%; + background-color: #4c48fb; + color: #fff; + margin-right: 10px; + text-align: center; + line-height: 24px; } ::v-deep .el-card__header { @@ -858,6 +922,14 @@ padding: 0.08rem 0.13rem; font-size: 0.14rem; font-weight: 600; +} + +::v-deep .el-collapse-item__content { + padding-bottom: 10px; +} + +.markerDataContentBox .information { + padding: 20px; } .information li { @@ -962,22 +1034,13 @@ } ::v-deep .ripple { + width: 100%; + height: 100%; border-radius: 50%; - position: relative; - overflow: hidden; -} - -::v-deep .ripple::before { - content: ""; - position: absolute; - top: 50%; - left: 50%; - width: 150%; /* Ensure it covers the entire parent */ - height: 150%; - background: rgba(255, 255, 255, 0.5); - border-radius: 50%; - transform: translate(-50%, -50%) scale(1); - animation: ripple-animation 1s infinite linear; + background: #4c48fb; + color: #fff; + text-align: center; + line-height: 30px; } /* @keyframes ripple-animation { diff --git a/src/pages/userAgreement/userAgreement.vue b/src/pages/userAgreement/userAgreement.vue index 5e8ed0f..08bd409 100644 --- a/src/pages/userAgreement/userAgreement.vue +++ b/src/pages/userAgreement/userAgreement.vue @@ -1,159 +1,171 @@ <template> - <view class="flex" style="flex-direction: column; padding: 0 2rem;" > - <h3 class="flex" > - 涓尰浜虹墿鐭ヨ瘑搴撶敤鎴锋湇鍔″崗璁� - </h3> + <view> + <view style="padding: 50px 200px;" v-if="type == 1"> + <h3 style="line-height: 4; text-align: center; width: 100%;"> + 涓尰浜虹墿鐭ヨ瘑搴撶敤鎴锋湇鍔″崗璁� + </h3> - 璇锋偍鍔″繀浠旂粏闃呰骞堕伒瀹堟湰銆婄敤鎴锋湇鍔″崗璁�嬶紙浠ヤ笅绠�绉帮細鍗忚锛変腑鐨勫叏閮ㄥ唴瀹癸紝鐗瑰埆鏄秹鍙婂厤闄ゆ垨璐d换闄愬埗鐨勬潯娆俱�傞櫎闈炴偍宸查槄璇诲苟鎺ュ彈鏈崗璁墍鏈夋潯娆撅紝鍚﹀垯鎮ㄥ皢涓嶈兘娉ㄥ唽鏈煡璇嗗簱璐﹀彿鎴栦娇鐢ㄦ湰鐭ヨ瘑搴撶殑鏈嶅姟锛屽鏋滄偍涓嶅悓鎰忔湰鍗忚鐨勪换鎰忓唴瀹癸紝璇峰嬁娉ㄥ唽鎴栦娇鐢ㄦ湰鐭ヨ瘑搴撶殑鏈嶅姟锛屽苟搴旂珛鍗冲仠姝㈡敞鍐岀▼搴忋�傚鏋滄偍瀵规湰鍗忚鐨勫唴瀹癸紙鐗瑰埆鏄秹鍙婂厤闄ゆ垨璐d换闄愬埗鐨勬潯娆撅級鏈変换浣曠枒涔夛紝鍙殢鏃舵寜鐓ф湰鍗忚涓垪鏄庣殑鑱旂郴鏂瑰紡涓庢垜浠仈绯伙紝鎴戜滑灏嗘牴鎹偍鐨勮姹備负鎮ㄨ繘涓�姝ヨВ閲婂拰璇存槑鐩稿叧鍐呭銆傚鏋滄偍閫氳繃娉ㄥ唽绋嬪簭鎴栧叾浠栦换浣曟柟寮忎娇鐢ㄦ垨鎺ュ彈鏈煡璇嗗簱鐨勪换浣曟湇鍔★紝鍗宠涓烘偍宸茬粡闃呰骞跺悓鎰忔湰鍗忚鐨勬墍鏈夋潯娆撅紝鑷効鎺ュ彈鏈崗璁殑鎵�鏈夊唴瀹圭殑绾︽潫銆傝鎮ㄥ湪鍐冲畾娉ㄥ唽鎴栦娇鐢ㄦ湇鍔″墠鍐嶆纭鎮ㄥ凡缁忕煡鎮夊苟瀹屽叏鐞嗚В鏈崗璁殑鎵�鏈夊唴瀹广�傛湰鍗忚鏄偍涓庝腑鍥戒腑鍖荤瀛﹂櫌涓尰鑽俊鎭爺绌舵墍灏辨敞鍐屼腑鍖讳汉鐗╃煡璇嗗簱鐢ㄦ埛璐﹀彿鍙婁娇鐢ㄦ湰鐭ヨ瘑搴撳悇椤规湇鍔$瓑鐩稿叧浜嬪疁鎵�璁㈢珛鐨勫崗璁�� - 涓�銆佹湇鍔″唴瀹� - 1銆佷腑鍖讳汉鐗╃煡璇嗗簱鏄竴涓叏闈㈠睍鐜颁腑鍖讳汉鐗╃煡璇嗗簱骞冲彴锛屽钩鍙板唴涓ョ涓�鍒囬潪娉曘�佹秹榛勪俊鎭紝杩濆弽绀惧尯杩愯惀瑙勮寖鑰咃紝涓�寰嬪皝鍙峰鐞嗐�� - 2銆佹湰鐭ヨ瘑搴撶殑鍏蜂綋鍐呭鐢卞埗浣滆�呮牴鎹疄闄呮儏鍐垫彁渚涖�� - 3銆侀櫎闈炴湰娉ㄥ唽鍙婃湇鍔″崗璁彟鏈夊叾瀹冩槑绀鸿瀹氾紝鏈煡璇嗗簱鎵�鎺ㄥ嚭鐨勬柊浜у搧銆佹柊鍔熻兘銆佹柊鏈嶅姟锛屽潎鍙楀埌鏈崗璁鑼冦�� - 浜屻�佺敤鎴峰笎鍙锋敞鍐� - 1銆佹湭婊�18鍛ㄥ瞾鐨勬湭鎴愬勾浜烘敞鍐岃处鎴凤紝搴旂敱鐩戞姢浜洪櫔鍚屼粩缁嗛槄璇绘湰鍗忚锛屽苟鍙栧緱浠�/浠栦滑鐨勫悓鎰忋�� - 2銆佹偍鎵胯娉ㄥ唽绗﹀悎涓嬪垪瑕佹眰锛� - 锛�1锛夎鍕夸互鍏氬拰鍥藉棰嗗浜烘垨鍏朵粬绀句細鍚嶄汉鐨勭湡瀹炲鍚嶃�佸瓧鍙枫�佽壓鍚嶃�佺瑪鍚嶆敞鍐岋紱 - 锛�2锛夎鍕夸互鍥藉鏈烘瀯鎴栧叾浠栨満鏋勭殑鍚嶇О娉ㄥ唽锛� - 锛�3锛夎鍕挎敞鍐屼笉鏂囨槑銆佷笉鍋ュ悍鍚嶅瓧锛屾垨鍖呭惈姝ц銆佷井杈便�佺尌浜电被璇嶈鐨勫笎鍙凤紱 - 锛�4锛夎鍕挎敞鍐屾槗浜х敓姝т箟銆佸紩璧蜂粬浜鸿瑙f垨鍏跺畠涓嶇鍚堟硶寰嬭瀹氱殑甯愬彿銆� - 3銆佹偍搴斿綋浣跨敤鎵嬫満鍙风爜鎴栫數瀛愰偖绠辫繘琛屾敞鍐屻�傛偍涓�鏃︽敞鍐屾垚鍔熸垚涓虹敤鎴凤紝鎮ㄩ渶瑕佸鑷繁鍦ㄨ处鍙蜂腑鐨勬墍鏈夋椿鍔ㄥ拰浜嬩欢璐熷叏璐c�傚鏋滅敱浜庢偍鐨勮繃澶卞鑷存偍鐨勮处鍙峰拰瀵嗙爜鑴辩鎮ㄧ殑鎺у埗锛屽垯鐢辨瀵艰嚧鐨勯拡瀵规偍銆佹湰鐭ヨ瘑搴撳钩鍙版垨浠讳綍绗笁鏂归�犳垚鐨勬崯瀹筹紝鎮ㄥ皢鎵挎媴鍏ㄩ儴璐d换銆� - 涓夈�佺敤鎴蜂娇鐢ㄨ鍒� - 1銆佹偍鎮夌煡骞舵壙璇猴紝鍦ㄤ娇鐢ㄦ湰鐭ヨ瘑搴撴墍鎻愪緵鐨勬湇鍔¤繃绋嬩腑涓ユ牸閬靛畧鍥藉娉曞緥銆佹硶瑙勪互鍙婇亾寰疯鑼冿紝涓嶅緱浣跨敤鏈煡璇嗗簱浠庝簨浠讳綍杩濇硶娲诲姩銆� - 2銆佺敤鎴蜂笉寰楀湪鏈煡璇嗗簱涓婂彂甯冦�佷紶鎾惈鏈変笅鍒楀唴瀹圭殑淇℃伅锛� - 锛�1锛夊嵄瀹冲浗瀹跺畨鍏紝娉勯湶鍥藉绉樺瘑锛岄瑕嗗浗瀹舵斂鏉冿紝鐮村潖鍥藉缁熶竴鐨勶紱 - 锛�2锛夋崯瀹冲浗瀹惰崳瑾夊拰鍒╃泭鐨勶紱 - 锛�3锛夌吔鍔ㄦ皯鏃忎粐鎭ㄣ�佹皯鏃忔瑙嗐�佺牬鍧忔皯鏃忓洟缁撶殑锛� - 锛�4锛夌牬鍧忓浗瀹跺畻鏁欐斂绛栵紝瀹f壃閭暀鍜屽皝寤鸿糠淇$殑锛� - 锛�5锛夋暎甯冭埃瑷�銆佹帆绉姐�佽壊鎯呫�佽祵鍗氥�佹毚鍔涖�佸嚩鏉�銆佹亹鎬栨垨鑰呮暀鍞嗙姱缃殑锛� - 锛�6锛変井杈便�佽璋や粬浜猴紝鎴栦镜瀹充粬浜哄悎娉曟潈鍒╃殑锛� - 锛�7锛夌吔鍔ㄩ潪娉曢泦浼氥�佺粨绀俱�佹父琛屻�佺ず濞併�佽仛浼楁壈涔辩ぞ浼氱З搴忕殑锛� - 锛�8锛夊叾浠栬繚鍙嶆硶寰嬨�佹硶瑙勩�佽绔犮�佹潯渚嬩互鍙婄ぞ浼氶亾寰疯鑼冩墍闄愬埗鎴栫姝㈢殑鍐呭鐨勩�� - 3銆佺敤鎴锋湁涔夊姟淇濊瘉瀵嗙爜鍜屽笎鍙风殑瀹夊叏锛岀敤鎴峰埄鐢ㄨ瀵嗙爜鍜屽笎鍙锋墍杩涜鐨勪竴鍒囨椿鍔ㄥ紩璧风殑浠讳綍鎹熷け鎴栨崯瀹筹紝鐢辩敤鎴疯嚜琛屾壙鎷呭叏閮ㄨ矗浠伙紝鏈煡璇嗗簱涓嶆壙鎷呬换浣曡矗浠汇�傚鐢ㄦ埛鍙戠幇甯愬彿閬埌鏈巿鏉冪殑浣跨敤鎴栧彂鐢熷叾浠栦换浣曞畨鍏ㄩ棶棰橈紝搴旂珛鍗充慨鏀瑰笎鍙峰瘑鐮佸苟濡ュ杽淇濈锛屽鏈夊繀瑕侊紝璇峰弽棣堥�氱煡鏈煡璇嗗簱绠$悊浜哄憳銆傚洜榛戝琛屼负鎴栫敤鎴风殑淇濈鐤忓拷瀵艰嚧甯愬彿闈炴硶浣跨敤锛屾湰鐭ヨ瘑搴撲笉鎵挎媴浠讳綍璐d换銆� - 4銆佸綋绗笁鏂硅涓虹敤鎴峰彂琛ㄦ垨鑰呬笂浼犱簬鏈煡璇嗗簱鐨勪俊鎭镜鐘叾鏉冨埄锛屽苟鏍规嵁銆婁俊鎭綉缁滀紶鎾潈淇濇姢鏉′緥銆嬫垨鑰呯浉鍏虫硶寰嬭瀹氬悜鏈煡璇嗗簱鍙戦�佹潈鍒╅�氱煡涔︽椂锛岀敤鎴峰悓鎰忔湰鐭ヨ瘑搴撳彲浠ヨ嚜琛屽垽鏂喅瀹氬垹闄ゆ秹瀚屼镜鏉冧俊鎭紝闄ら潪鐢ㄦ埛鎻愪氦涔﹂潰璇佹嵁鏉愭枡鎺掗櫎渚垫潈鐨勫彲鑳芥�э紝鏈煡璇嗗簱灏嗕笉浼氳嚜鍔ㄦ仮澶嶄笂杩板垹闄ょ殑淇℃伅銆傜敤鎴峰繀椤婚伒瀹堬細 - 锛�1锛変笉寰椾负浠讳綍闈炴硶鐩殑鑰屼娇鐢ㄧ綉缁滄湇鍔$郴缁燂紱 - 锛�2锛夐伒瀹堟墍鏈変笌缃戠粶鏈嶅姟鏈夊叧鐨勭綉缁滃崗璁�佽瀹氬拰绋嬪簭锛� - 锛�3锛変笉寰楀埄鐢ㄦ湰鐭ヨ瘑搴撶殑鏈嶅姟杩涜浠讳綍鍙兘瀵逛簰鑱旂綉鐨勬甯歌繍杞�犳垚涓嶅埄褰卞搷鐨勮涓猴紱 - 锛�4锛変笉寰楀埄鐢ㄦ湰鐭ヨ瘑搴撴湇鍔¤繘琛屼换浣曚笉鍒╀簬鏈煡璇嗗簱鐨勮涓恒�� - 5銆佸鐢ㄦ埛鍦ㄤ娇鐢ㄧ綉缁滄湇鍔℃椂杩濆弽涓婅堪浠讳綍瑙勫畾锛屾湰鐭ヨ瘑搴撴湁鏉冭姹傜敤鎴锋敼姝f垨鐩存帴閲囧彇涓�鍒囧繀瑕佺殑鎺柦(鍖呮嫭浣嗕笉闄愪簬鍒犻櫎鐢ㄦ埛涓婁紶鐨勫唴瀹广�佹殏鍋滄垨缁堟鐢ㄦ埛浣跨敤缃戠粶鏈嶅姟鐨勬潈鍒�)浠ュ噺杞荤敤鎴蜂笉褰撹涓鸿�岄�犳垚鐨勫奖鍝嶃�� - 鍥涖�佽矗浠诲0鏄� - 1銆佷换浣曠綉绔欍�佸崟浣嶆垨鑰呬釜浜哄璁や负鏈煡璇嗗簱鎴栬�呮湰鐭ヨ瘑搴撴彁渚涚殑鐩稿叧鍐呭娑夊珜渚电姱鍏跺悎娉曟潈鐩婏紝搴斿強鏃跺悜鏈煡璇嗗簱鎻愪緵涔﹂潰鏉冨埄閫氱煡锛屽苟鎻愪緵韬唤璇佹槑銆佹潈灞炶瘉鏄庡強璇︾粏渚垫潈鎯呭喌璇佹槑銆傛湰鐭ヨ瘑搴撳湪鏀跺埌涓婅堪娉曞緥鏂囦欢鍚庯紝灏嗕細灏藉揩鍒囨柇鐩稿叧鍐呭浠ヤ繚璇佺浉鍏崇綉绔欍�佸崟浣嶆垨鑰呬釜浜虹殑鍚堟硶鏉冪泭寰楀埌淇濋殰銆� - 2銆佺敤鎴锋槑纭悓鎰忓叾浣跨敤鏈煡璇嗗簱缃戠粶鏈嶅姟鎵�瀛樺湪鐨勯闄╁強涓�鍒囧悗鏋滃皢瀹屽叏鐢辩敤鎴锋湰浜烘壙鎷咃紝鏈簲鐢ㄥ姝や笉鎵挎媴浠讳綍璐d换銆� - 3銆佹湰鐭ヨ瘑搴撴棤娉曚繚璇佺綉缁滄湇鍔′竴瀹氳兘婊¤冻鐢ㄦ埛鐨勮姹傦紝涔熶笉淇濊瘉缃戠粶鏈嶅姟鐨勫強鏃舵�с�佸畨鍏ㄦ�с�佸噯纭�с�� - 4銆佹湰鐭ヨ瘑搴撲笉淇濊瘉涓烘柟渚跨敤鎴疯�岃缃殑澶栭儴閾炬帴鐨勫噯纭�у拰瀹屾暣鎬э紝鍚屾椂锛屽浜庤绛夊閮ㄩ摼鎺ユ寚鍚戠殑涓嶇敱鏈煡璇嗗簱瀹為檯鎺у埗鐨勪换浣曠綉椤典笂鐨勫唴瀹癸紝鏈煡璇嗗簱涓嶆壙鎷呬换浣曡矗浠汇�� - 浜斻�佺煡璇嗕骇鏉� - 1銆佹湰鐭ヨ瘑搴撶綉绔欏悕绉般�佸鎴风銆乴ogo銆佽棰戙�佸浘鐗囥�佽繍钀ョ淮鎶よ繃绋嬩腑鎵�浜х敓鐨勬墍鏈夋暟鎹拰淇℃伅鐨勭煡璇嗕骇鏉冨潎涓烘湰鐭ヨ瘑搴撴墍鏈夈�傛湭缁忔湰鐭ヨ瘑搴撴墍鏈変汉鍚屾剰锛岀姝㈠皢浠ヤ笂淇℃伅涓庣礌鏉愪互浠讳綍鏂瑰紡灞曠ず銆佷娇鐢ㄦ垨鍋氬叾浠栧鐞嗐�� - 2銆佹偍搴斿綋閬靛畧鐩稿叧娉曞緥娉曡锛屼笉寰椾镜鐘湰鐭ヨ瘑搴撱�佺煡璇嗗簱鐢ㄦ埛鍙婂叾浠栫涓夋柟鐨勭煡璇嗕骇鏉冦�傛湰鐭ヨ瘑搴撴湁鏉冨垽鏂敤鎴风殑琛屼负銆佹墍鍙戝竷淇℃伅鏄惁绗﹀悎娉曞緥銆佹硶瑙勩�佸浗瀹舵斂绛栧強鏈湇鍔℃潯娆句箣瑙勫畾锛屽苟瀵规秹瀚岃繚瑙勫唴瀹硅嚜琛屽垹闄よ�屾棤椤婚�氱煡璇ョ敤鎴枫�� - 3銆佽嫢鎮ㄨ涓烘湰鐭ヨ瘑搴撶殑鐩稿叧鍐呭渚电姱浜嗘偍鐨勭煡璇嗕骇鏉冿紝鎮ㄥ彲浠ヤ緷鎹浉鍏虫硶寰嬭瀹氾紝涔﹂潰閫氱煡鏈煡璇嗗簱锛屽苟鎻愪緵鐩稿叧鏉冨埄渚靛璇佹嵁銆傚鍥犳偍鐨勯�氱煡瀵艰嚧浠栦汉鐨勫悎娉曟潈鍒╁彈鍒版崯瀹筹紝鎮ㄥ簲渚濇硶鎵挎媴璧斿伩璐d换锛屾湰鐭ヨ瘑搴撳姝や笉鎵挎媴璐d换銆� - 4銆佹湰鐭ヨ瘑搴撴墍鏈夌敤鎴蜂笂浼犱俊鎭粎浠h〃鐢ㄦ埛鑷繁鐨勭珛鍦哄拰瑙傜偣锛屼笌鏈煡璇嗗簱鏃犲叧锛岀敱鐢ㄦ埛鏈汉鎵挎媴涓�鍒囨硶寰嬭矗浠汇�� - 鍏�侀殣绉佷繚鎶� - 1銆佹湰鐭ヨ瘑搴撲笉瀵瑰鍏紑鎴栧悜绗笁鏂规彁渚涘崟涓敤鎴风殑娉ㄥ唽璧勬枡鍙婄敤鎴峰湪浣跨敤缃戠粶鏈嶅姟鏃跺瓨鍌ㄥ湪鏈煡璇嗗簱鐨勯潪鍏紑鍐呭锛屼絾涓嬪垪鎯呭喌闄ゅ锛� - 锛�1锛変簨鍏堣幏寰楃敤鎴风殑鏄庣‘鎺堟潈锛� - 锛�2锛夋牴鎹湁鍏崇殑娉曞緥娉曡瑕佹眰锛� - 锛�3锛夋寜鐓х浉鍏虫斂搴滀富绠¢儴闂ㄧ殑瑕佹眰锛� - 锛�4锛変负缁存姢绀句細鍏紬鐨勫埄鐩娿�� - 2銆佸湪涓嶉�忛湶鍗曚釜鐢ㄦ埛闅愮璧勬枡鐨勫墠鎻愪笅锛屾湰鐭ヨ瘑搴撴湁鏉冨鏁翠釜鐢ㄦ埛鏁版嵁搴撹繘琛屽垎鏋愬苟瀵圭敤鎴锋暟鎹簱杩涜鍟嗕笟涓婄殑鍒╃敤銆� - 涓冦�佸崗璁粓姝㈡儏褰� - 濡傚彂鐢熶笅鍒椾换浣曚竴绉嶆儏褰紝鏈煡璇嗗簱鏈夋潈缁堟鍚戠敤鎴锋彁渚涚殑鍏嶈垂鏈嶅姟鎴栨敹璐规湇鍔★紝鑰屾棤椤诲鐢ㄦ埛鎴栦换浣曠涓夋柟鎵挎媴璐d换锛� - 锛�1锛夌敤鎴锋彁渚涗釜浜鸿祫鏂欎笉鐪熷疄锛屾垨涓庢敞鍐屾椂淇℃伅涓嶄竴鑷村張鏈兘鎻愪緵鏈夋晥璇佹槑锛� - 锛�2锛夌敤鎴疯繚鍙嶇浉鍏虫硶寰嬫硶瑙勮瀹氭垨鏈崗璁殑瑙勫畾锛� - 锛�3锛夋寜鐓ф硶寰嬭瀹氭垨鏈夋潈琛屾斂鏈哄叧鐨勮姹傦紱 - 锛�4锛夊嚭浜庡畨鍏ㄥ師鍥犳垨鍏朵粬蹇呰鎯呭舰銆� - 鍏�佹硶寰嬮�傜敤銆佺杈� - 1.鏈崗璁殑璁㈢珛銆佹墽琛屽拰瑙i噴鍙婁簤璁潎閫傜敤涓浗涓崕浜烘皯鍏卞拰鍥芥硶寰嬨�� - 2.濡傚弻鏂瑰氨鍗忚鍐呭鎴栧叾鎵ц鍙戠敓浠讳綍浜夎锛屽弻鏂瑰簲灏介噺鍙嬪ソ鍗忓晢瑙e喅锛屽崗鍟嗕笉鎴愭椂锛岀敤鎴峰拰鏈煡璇嗗簱涓�鑷村悓鎰忔彁浜ゆ湰鐭ヨ瘑搴撹繍钀ュ晢鎵�鍦ㄥ湴鏈夌杈栨潈鐨勬硶闄㈢杈栥�� - 涔濄�佽仈绯绘柟寮� - 鑱旂郴鐢佃瘽锛�010-64089611 - 鐢靛瓙閭锛歵cmtczy@mail.cintcm.ac.cn + <p> + 璇锋偍鍔″繀浠旂粏闃呰骞堕伒瀹堟湰銆婄敤鎴锋湇鍔″崗璁�嬶紙浠ヤ笅绠�绉帮細鍗忚锛変腑鐨勫叏閮ㄥ唴瀹癸紝鐗瑰埆鏄秹鍙婂厤闄ゆ垨璐d换闄愬埗鐨勬潯娆俱�傞櫎闈炴偍宸查槄璇诲苟鎺ュ彈鏈崗璁墍鏈夋潯娆撅紝鍚﹀垯鎮ㄥ皢涓嶈兘娉ㄥ唽鏈煡璇嗗簱璐﹀彿鎴栦娇鐢ㄦ湰鐭ヨ瘑搴撶殑鏈嶅姟锛屽鏋滄偍涓嶅悓鎰忔湰鍗忚鐨勪换鎰忓唴瀹癸紝璇峰嬁娉ㄥ唽鎴栦娇鐢ㄦ湰鐭ヨ瘑搴撶殑鏈嶅姟锛屽苟搴旂珛鍗冲仠姝㈡敞鍐岀▼搴忋�傚鏋滄偍瀵规湰鍗忚鐨勫唴瀹癸紙鐗瑰埆鏄秹鍙婂厤闄ゆ垨璐d换闄愬埗鐨勬潯娆撅級鏈変换浣曠枒涔夛紝鍙殢鏃舵寜鐓ф湰鍗忚涓垪鏄庣殑鑱旂郴鏂瑰紡涓庢垜浠仈绯伙紝鎴戜滑灏嗘牴鎹偍鐨勮姹備负鎮ㄨ繘涓�姝ヨВ閲婂拰璇存槑鐩稿叧鍐呭銆傚鏋滄偍閫氳繃娉ㄥ唽绋嬪簭鎴栧叾浠栦换浣曟柟寮忎娇鐢ㄦ垨鎺ュ彈鏈煡璇嗗簱鐨勪换浣曟湇鍔★紝鍗宠涓烘偍宸茬粡闃呰骞跺悓鎰忔湰鍗忚鐨勬墍鏈夋潯娆撅紝鑷効鎺ュ彈鏈崗璁殑鎵�鏈夊唴瀹圭殑绾︽潫銆傝鎮ㄥ湪鍐冲畾娉ㄥ唽鎴栦娇鐢ㄦ湇鍔″墠鍐嶆纭鎮ㄥ凡缁忕煡鎮夊苟瀹屽叏鐞嗚В鏈崗璁殑鎵�鏈夊唴瀹广�傛湰鍗忚鏄偍涓庝腑鍥戒腑鍖荤瀛﹂櫌涓尰鑽俊鎭爺绌舵墍灏辨敞鍐屼腑鍖讳汉鐗╃煡璇嗗簱鐢ㄦ埛璐﹀彿鍙婁娇鐢ㄦ湰鐭ヨ瘑搴撳悇椤规湇鍔$瓑鐩稿叧浜嬪疁鎵�璁㈢珛鐨勫崗璁�� + </p> + <h4>涓�銆佹湇鍔″唴瀹�</h4> + <p>1銆佷腑鍖讳汉鐗╃煡璇嗗簱鏄竴涓叏闈㈠睍鐜颁腑鍖讳汉鐗╃煡璇嗗簱骞冲彴锛屽钩鍙板唴涓ョ涓�鍒囬潪娉曘�佹秹榛勪俊鎭紝杩濆弽绀惧尯杩愯惀瑙勮寖鑰咃紝涓�寰嬪皝鍙峰鐞嗐��</p> + <p>2銆佹湰鐭ヨ瘑搴撶殑鍏蜂綋鍐呭鐢卞埗浣滆�呮牴鎹疄闄呮儏鍐垫彁渚涖��</p> + <p>3銆侀櫎闈炴湰娉ㄥ唽鍙婃湇鍔″崗璁彟鏈夊叾瀹冩槑绀鸿瀹氾紝鏈煡璇嗗簱鎵�鎺ㄥ嚭鐨勬柊浜у搧銆佹柊鍔熻兘銆佹柊鏈嶅姟锛屽潎鍙楀埌鏈崗璁鑼冦��</p> + <h4>浜屻�佺敤鎴峰笎鍙锋敞鍐�</h4> + <p>1銆佹湭婊�18鍛ㄥ瞾鐨勬湭鎴愬勾浜烘敞鍐岃处鎴凤紝搴旂敱鐩戞姢浜洪櫔鍚屼粩缁嗛槄璇绘湰鍗忚锛屽苟鍙栧緱浠�/浠栦滑鐨勫悓鎰忋��</p> + <p>2銆佹偍鎵胯娉ㄥ唽绗﹀悎涓嬪垪瑕佹眰锛�</p> + <p>锛�1锛夎鍕夸互鍏氬拰鍥藉棰嗗浜烘垨鍏朵粬绀句細鍚嶄汉鐨勭湡瀹炲鍚嶃�佸瓧鍙枫�佽壓鍚嶃�佺瑪鍚嶆敞鍐岋紱</p> + <p>锛�2锛夎鍕夸互鍥藉鏈烘瀯鎴栧叾浠栨満鏋勭殑鍚嶇О娉ㄥ唽锛�</p> + <p>锛�3锛夎鍕挎敞鍐屼笉鏂囨槑銆佷笉鍋ュ悍鍚嶅瓧锛屾垨鍖呭惈姝ц銆佷井杈便�佺尌浜电被璇嶈鐨勫笎鍙凤紱</p> + <p>锛�4锛夎鍕挎敞鍐屾槗浜х敓姝т箟銆佸紩璧蜂粬浜鸿瑙f垨鍏跺畠涓嶇鍚堟硶寰嬭瀹氱殑甯愬彿銆�</p> + </p> + 3銆佹偍搴斿綋浣跨敤鎵嬫満鍙风爜鎴栫數瀛愰偖绠辫繘琛屾敞鍐屻�傛偍涓�鏃︽敞鍐屾垚鍔熸垚涓虹敤鎴凤紝鎮ㄩ渶瑕佸鑷繁鍦ㄨ处鍙蜂腑鐨勬墍鏈夋椿鍔ㄥ拰浜嬩欢璐熷叏璐c�傚鏋滅敱浜庢偍鐨勮繃澶卞鑷存偍鐨勮处鍙峰拰瀵嗙爜鑴辩鎮ㄧ殑鎺у埗锛屽垯鐢辨瀵艰嚧鐨勯拡瀵规偍銆佹湰鐭ヨ瘑搴撳钩鍙版垨浠讳綍绗笁鏂归�犳垚鐨勬崯瀹筹紝鎮ㄥ皢鎵挎媴鍏ㄩ儴璐d换銆� + </p> + <h4>涓夈�佺敤鎴蜂娇鐢ㄨ鍒�</h4> + <p>1銆佹偍鎮夌煡骞舵壙璇猴紝鍦ㄤ娇鐢ㄦ湰鐭ヨ瘑搴撴墍鎻愪緵鐨勬湇鍔¤繃绋嬩腑涓ユ牸閬靛畧鍥藉娉曞緥銆佹硶瑙勪互鍙婇亾寰疯鑼冿紝涓嶅緱浣跨敤鏈煡璇嗗簱浠庝簨浠讳綍杩濇硶娲诲姩銆�</p> + <p>2銆佺敤鎴蜂笉寰楀湪鏈煡璇嗗簱涓婂彂甯冦�佷紶鎾惈鏈変笅鍒楀唴瀹圭殑淇℃伅锛�</p> + <p>锛�1锛夊嵄瀹冲浗瀹跺畨鍏紝娉勯湶鍥藉绉樺瘑锛岄瑕嗗浗瀹舵斂鏉冿紝鐮村潖鍥藉缁熶竴鐨勶紱</p> + <p>锛�2锛夋崯瀹冲浗瀹惰崳瑾夊拰鍒╃泭鐨勶紱</p> + <p>锛�3锛夌吔鍔ㄦ皯鏃忎粐鎭ㄣ�佹皯鏃忔瑙嗐�佺牬鍧忔皯鏃忓洟缁撶殑锛�</p> + <p>锛�4锛夌牬鍧忓浗瀹跺畻鏁欐斂绛栵紝瀹f壃閭暀鍜屽皝寤鸿糠淇$殑锛�</p> + <p>锛�5锛夋暎甯冭埃瑷�銆佹帆绉姐�佽壊鎯呫�佽祵鍗氥�佹毚鍔涖�佸嚩鏉�銆佹亹鎬栨垨鑰呮暀鍞嗙姱缃殑锛�</p> + <p>锛�6锛変井杈便�佽璋や粬浜猴紝鎴栦镜瀹充粬浜哄悎娉曟潈鍒╃殑锛�</p> + <p>锛�7锛夌吔鍔ㄩ潪娉曢泦浼氥�佺粨绀俱�佹父琛屻�佺ず濞併�佽仛浼楁壈涔辩ぞ浼氱З搴忕殑锛�</p> + <p>锛�8锛夊叾浠栬繚鍙嶆硶寰嬨�佹硶瑙勩�佽绔犮�佹潯渚嬩互鍙婄ぞ浼氶亾寰疯鑼冩墍闄愬埗鎴栫姝㈢殑鍐呭鐨勩��</p> + <p> + 3銆佺敤鎴锋湁涔夊姟淇濊瘉瀵嗙爜鍜屽笎鍙风殑瀹夊叏锛岀敤鎴峰埄鐢ㄨ瀵嗙爜鍜屽笎鍙锋墍杩涜鐨勪竴鍒囨椿鍔ㄥ紩璧风殑浠讳綍鎹熷け鎴栨崯瀹筹紝鐢辩敤鎴疯嚜琛屾壙鎷呭叏閮ㄨ矗浠伙紝鏈煡璇嗗簱涓嶆壙鎷呬换浣曡矗浠汇�傚鐢ㄦ埛鍙戠幇甯愬彿閬埌鏈巿鏉冪殑浣跨敤鎴栧彂鐢熷叾浠栦换浣曞畨鍏ㄩ棶棰橈紝搴旂珛鍗充慨鏀瑰笎鍙峰瘑鐮佸苟濡ュ杽淇濈锛屽鏈夊繀瑕侊紝璇峰弽棣堥�氱煡鏈煡璇嗗簱绠$悊浜哄憳銆傚洜榛戝琛屼负鎴栫敤鎴风殑淇濈鐤忓拷瀵艰嚧甯愬彿闈炴硶浣跨敤锛屾湰鐭ヨ瘑搴撲笉鎵挎媴浠讳綍璐d换銆� + </p> + <p> + 4銆佸綋绗笁鏂硅涓虹敤鎴峰彂琛ㄦ垨鑰呬笂浼犱簬鏈煡璇嗗簱鐨勪俊鎭镜鐘叾鏉冨埄锛屽苟鏍规嵁銆婁俊鎭綉缁滀紶鎾潈淇濇姢鏉′緥銆嬫垨鑰呯浉鍏虫硶寰嬭瀹氬悜鏈煡璇嗗簱鍙戦�佹潈鍒╅�氱煡涔︽椂锛岀敤鎴峰悓鎰忔湰鐭ヨ瘑搴撳彲浠ヨ嚜琛屽垽鏂喅瀹氬垹闄ゆ秹瀚屼镜鏉冧俊鎭紝闄ら潪鐢ㄦ埛鎻愪氦涔﹂潰璇佹嵁鏉愭枡鎺掗櫎渚垫潈鐨勫彲鑳芥�э紝鏈煡璇嗗簱灏嗕笉浼氳嚜鍔ㄦ仮澶嶄笂杩板垹闄ょ殑淇℃伅銆傜敤鎴峰繀椤婚伒瀹堬細 + </p> + <p>锛�1锛変笉寰椾负浠讳綍闈炴硶鐩殑鑰屼娇鐢ㄧ綉缁滄湇鍔$郴缁燂紱</p> + <p>锛�2锛夐伒瀹堟墍鏈変笌缃戠粶鏈嶅姟鏈夊叧鐨勭綉缁滃崗璁�佽瀹氬拰绋嬪簭锛�</p> + <p>锛�3锛変笉寰楀埄鐢ㄦ湰鐭ヨ瘑搴撶殑鏈嶅姟杩涜浠讳綍鍙兘瀵逛簰鑱旂綉鐨勬甯歌繍杞�犳垚涓嶅埄褰卞搷鐨勮涓猴紱</p> + <p>锛�4锛変笉寰楀埄鐢ㄦ湰鐭ヨ瘑搴撴湇鍔¤繘琛屼换浣曚笉鍒╀簬鏈煡璇嗗簱鐨勮涓恒��</p> + <p>5銆佸鐢ㄦ埛鍦ㄤ娇鐢ㄧ綉缁滄湇鍔℃椂杩濆弽涓婅堪浠讳綍瑙勫畾锛屾湰鐭ヨ瘑搴撴湁鏉冭姹傜敤鎴锋敼姝f垨鐩存帴閲囧彇涓�鍒囧繀瑕佺殑鎺柦(鍖呮嫭浣嗕笉闄愪簬鍒犻櫎鐢ㄦ埛涓婁紶鐨勫唴瀹广�佹殏鍋滄垨缁堟鐢ㄦ埛浣跨敤缃戠粶鏈嶅姟鐨勬潈鍒�)浠ュ噺杞荤敤鎴蜂笉褰撹涓鸿�岄�犳垚鐨勫奖鍝嶃��</p> + <h4>鍥涖�佽矗浠诲0鏄�</h4> + <p> + 1銆佷换浣曠綉绔欍�佸崟浣嶆垨鑰呬釜浜哄璁や负鏈煡璇嗗簱鎴栬�呮湰鐭ヨ瘑搴撴彁渚涚殑鐩稿叧鍐呭娑夊珜渚电姱鍏跺悎娉曟潈鐩婏紝搴斿強鏃跺悜鏈煡璇嗗簱鎻愪緵涔﹂潰鏉冨埄閫氱煡锛屽苟鎻愪緵韬唤璇佹槑銆佹潈灞炶瘉鏄庡強璇︾粏渚垫潈鎯呭喌璇佹槑銆傛湰鐭ヨ瘑搴撳湪鏀跺埌涓婅堪娉曞緥鏂囦欢鍚庯紝灏嗕細灏藉揩鍒囨柇鐩稿叧鍐呭浠ヤ繚璇佺浉鍏崇綉绔欍�佸崟浣嶆垨鑰呬釜浜虹殑鍚堟硶鏉冪泭寰楀埌淇濋殰銆� + </p> + <p>2銆佺敤鎴锋槑纭悓鎰忓叾浣跨敤鏈煡璇嗗簱缃戠粶鏈嶅姟鎵�瀛樺湪鐨勯闄╁強涓�鍒囧悗鏋滃皢瀹屽叏鐢辩敤鎴锋湰浜烘壙鎷咃紝鏈簲鐢ㄥ姝や笉鎵挎媴浠讳綍璐d换銆�</p> + <p>3銆佹湰鐭ヨ瘑搴撴棤娉曚繚璇佺綉缁滄湇鍔′竴瀹氳兘婊¤冻鐢ㄦ埛鐨勮姹傦紝涔熶笉淇濊瘉缃戠粶鏈嶅姟鐨勫強鏃舵�с�佸畨鍏ㄦ�с�佸噯纭�с��</p> + <p>4銆佹湰鐭ヨ瘑搴撲笉淇濊瘉涓烘柟渚跨敤鎴疯�岃缃殑澶栭儴閾炬帴鐨勫噯纭�у拰瀹屾暣鎬э紝鍚屾椂锛屽浜庤绛夊閮ㄩ摼鎺ユ寚鍚戠殑涓嶇敱鏈煡璇嗗簱瀹為檯鎺у埗鐨勪换浣曠綉椤典笂鐨勫唴瀹癸紝鏈煡璇嗗簱涓嶆壙鎷呬换浣曡矗浠汇��</p> + <h4>浜斻�佺煡璇嗕骇鏉�</h4> + <p>1銆佹湰鐭ヨ瘑搴撶綉绔欏悕绉般�佸鎴风銆乴ogo銆佽棰戙�佸浘鐗囥�佽繍钀ョ淮鎶よ繃绋嬩腑鎵�浜х敓鐨勬墍鏈夋暟鎹拰淇℃伅鐨勭煡璇嗕骇鏉冨潎涓烘湰鐭ヨ瘑搴撴墍鏈夈�傛湭缁忔湰鐭ヨ瘑搴撴墍鏈変汉鍚屾剰锛岀姝㈠皢浠ヤ笂淇℃伅涓庣礌鏉愪互浠讳綍鏂瑰紡灞曠ず銆佷娇鐢ㄦ垨鍋氬叾浠栧鐞嗐��</p> + <p>2銆佹偍搴斿綋閬靛畧鐩稿叧娉曞緥娉曡锛屼笉寰椾镜鐘湰鐭ヨ瘑搴撱�佺煡璇嗗簱鐢ㄦ埛鍙婂叾浠栫涓夋柟鐨勭煡璇嗕骇鏉冦�傛湰鐭ヨ瘑搴撴湁鏉冨垽鏂敤鎴风殑琛屼负銆佹墍鍙戝竷淇℃伅鏄惁绗﹀悎娉曞緥銆佹硶瑙勩�佸浗瀹舵斂绛栧強鏈湇鍔℃潯娆句箣瑙勫畾锛屽苟瀵规秹瀚岃繚瑙勫唴瀹硅嚜琛屽垹闄よ�屾棤椤婚�氱煡璇ョ敤鎴枫��</p> + <p>3銆佽嫢鎮ㄨ涓烘湰鐭ヨ瘑搴撶殑鐩稿叧鍐呭渚电姱浜嗘偍鐨勭煡璇嗕骇鏉冿紝鎮ㄥ彲浠ヤ緷鎹浉鍏虫硶寰嬭瀹氾紝涔﹂潰閫氱煡鏈煡璇嗗簱锛屽苟鎻愪緵鐩稿叧鏉冨埄渚靛璇佹嵁銆傚鍥犳偍鐨勯�氱煡瀵艰嚧浠栦汉鐨勫悎娉曟潈鍒╁彈鍒版崯瀹筹紝鎮ㄥ簲渚濇硶鎵挎媴璧斿伩璐d换锛屾湰鐭ヨ瘑搴撳姝や笉鎵挎媴璐d换銆�</p> + <p>4銆佹湰鐭ヨ瘑搴撴墍鏈夌敤鎴蜂笂浼犱俊鎭粎浠h〃鐢ㄦ埛鑷繁鐨勭珛鍦哄拰瑙傜偣锛屼笌鏈煡璇嗗簱鏃犲叧锛岀敱鐢ㄦ埛鏈汉鎵挎媴涓�鍒囨硶寰嬭矗浠汇��</p> + <h4>鍏�侀殣绉佷繚鎶�</h4> + <p>1銆佹湰鐭ヨ瘑搴撲笉瀵瑰鍏紑鎴栧悜绗笁鏂规彁渚涘崟涓敤鎴风殑娉ㄥ唽璧勬枡鍙婄敤鎴峰湪浣跨敤缃戠粶鏈嶅姟鏃跺瓨鍌ㄥ湪鏈煡璇嗗簱鐨勯潪鍏紑鍐呭锛屼絾涓嬪垪鎯呭喌闄ゅ锛�</p> + <p>锛�1锛変簨鍏堣幏寰楃敤鎴风殑鏄庣‘鎺堟潈锛�</p> + <p>锛�2锛夋牴鎹湁鍏崇殑娉曞緥娉曡瑕佹眰锛�</p> + <p>锛�3锛夋寜鐓х浉鍏虫斂搴滀富绠¢儴闂ㄧ殑瑕佹眰锛�</p> + <p>锛�4锛変负缁存姢绀句細鍏紬鐨勫埄鐩娿��</p> + <p>2銆佸湪涓嶉�忛湶鍗曚釜鐢ㄦ埛闅愮璧勬枡鐨勫墠鎻愪笅锛屾湰鐭ヨ瘑搴撴湁鏉冨鏁翠釜鐢ㄦ埛鏁版嵁搴撹繘琛屽垎鏋愬苟瀵圭敤鎴锋暟鎹簱杩涜鍟嗕笟涓婄殑鍒╃敤銆�</p> + <h4>涓冦�佸崗璁粓姝㈡儏褰�</h4> + <p>濡傚彂鐢熶笅鍒椾换浣曚竴绉嶆儏褰紝鏈煡璇嗗簱鏈夋潈缁堟鍚戠敤鎴锋彁渚涚殑鍏嶈垂鏈嶅姟鎴栨敹璐规湇鍔★紝鑰屾棤椤诲鐢ㄦ埛鎴栦换浣曠涓夋柟鎵挎媴璐d换锛�</p> + <p>锛�1锛夌敤鎴锋彁渚涗釜浜鸿祫鏂欎笉鐪熷疄锛屾垨涓庢敞鍐屾椂淇℃伅涓嶄竴鑷村張鏈兘鎻愪緵鏈夋晥璇佹槑锛�</p> + <p>锛�2锛夌敤鎴疯繚鍙嶇浉鍏虫硶寰嬫硶瑙勮瀹氭垨鏈崗璁殑瑙勫畾锛�</p> + <p>锛�3锛夋寜鐓ф硶寰嬭瀹氭垨鏈夋潈琛屾斂鏈哄叧鐨勮姹傦紱</p> + <p>锛�4锛夊嚭浜庡畨鍏ㄥ師鍥犳垨鍏朵粬蹇呰鎯呭舰銆�</p> + <h4>鍏�佹硶寰嬮�傜敤銆佺杈�</h4> + <p>1.鏈崗璁殑璁㈢珛銆佹墽琛屽拰瑙i噴鍙婁簤璁潎閫傜敤涓浗涓崕浜烘皯鍏卞拰鍥芥硶寰嬨��</p> + <p>2.濡傚弻鏂瑰氨鍗忚鍐呭鎴栧叾鎵ц鍙戠敓浠讳綍浜夎锛屽弻鏂瑰簲灏介噺鍙嬪ソ鍗忓晢瑙e喅锛屽崗鍟嗕笉鎴愭椂锛岀敤鎴峰拰鏈煡璇嗗簱涓�鑷村悓鎰忔彁浜ゆ湰鐭ヨ瘑搴撹繍钀ュ晢鎵�鍦ㄥ湴鏈夌杈栨潈鐨勬硶闄㈢杈栥��</p> + <h4>涔濄�佽仈绯绘柟寮�</h4> + <p>鑱旂郴鐢佃瘽锛�010-64089611</p> + <p>鐢靛瓙閭锛歵cmtczy@mail.cintcm.ac.cn</p> + </view> + <view style="padding: 50px 200px;" v-if="type == 2"> + <h3 style="line-height: 4; text-align: center; width: 100%;"> + 闅愮鏀跨瓥 + </h3> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 闅愮鏀跨瓥 - 寮曡█ - 涓浗涓尰绉戝闄腑鍖昏嵂淇℃伅鐮旂┒鎵�锛堜互涓嬬畝绉帮細鎴戜滑锛夊皧閲嶅苟淇濇姢鎵�鏈変娇鐢ㄤ腑鍖讳汉鐗╃煡璇嗗簱鏈嶅姟鐨勭敤鎴凤紙浠ヤ笅绠�绉帮細鎮級涓汉闅愮涓庝俊鎭畨鍏ㄣ�傞壌浜庢锛屾垜浠埗瀹氭湰銆婇殣绉佹姢鏀跨瓥銆嬶紙浠ヤ笅绠�绉帮細鏀跨瓥锛変笌鎮ㄧ‘璁ゅ叧浜庢偍鍦ㄤ娇鐢ㄦ湇鍔℃湡闂达紝鎴戜滑灏嗘敹闆嗐�佸瓨鍌ㄣ�佷娇鐢ㄣ�佸叡浜拰淇濇姢鎮ㄧ殑涓汉淇℃伅鐨勭浉鍏充簨瀹溿�傛湰鏀跨瓥灏嗗府鍔╂偍浜嗚В浠ヤ笅鍐呭锛� - 1銆佹垜浠浣曟敹闆嗗拰浣跨敤鎮ㄧ殑涓汉淇℃伅 - 2銆佹垜浠浣曞叡浜�佽浆璁┿�佸叕寮�鎶湶銆佸瓨鍌ㄦ偍鐨勪釜浜轰俊鎭� - 3銆佹垜浠浣曚繚鎶ゆ偍鐨勪釜浜轰俊鎭� - 4銆佹偍鍙互濡備綍绠$悊鎮ㄧ殑涓汉淇℃伅 - 5銆佸叧浜庢湭鎴愬勾浜虹殑涓汉淇℃伅 - 6銆佹湰闅愮鏀跨瓥濡備綍鏇存柊 - 7銆佸浣曡仈绯绘垜浠� - 璇锋偍鍦ㄤ娇鐢ㄦ湇鍔″墠锛屽畬鏁撮槄璇诲苟閫忓交鐞嗚В鏈斂绛栵紝鍦ㄦ偍鍏呭垎鐞嗚В骞跺悓鎰忓悗浣跨敤鏈嶅姟銆傚鏋滄偍涓嶅悓鎰忔湰鏀跨瓥鐨勪换浣曞唴瀹癸紝鎮ㄥ簲绔嬪嵆鍋滄浣跨敤鏈煡璇嗗簱銆傚綋鎮ㄤ娇鐢ㄦ湰鐭ヨ瘑搴撴椂锛屽垯琛ㄧず鎮ㄥ悓鎰忎笖瀹屽叏鐞嗚В鏈斂绛栫殑鍏ㄩ儴鍐呭銆� - 闇�瑕佺壒鍒鏄庣殑鏄紝鏈斂绛栦粎閽堝浜庢湰鐭ヨ瘑搴撶殑琛屼负锛屾垜浠笉鎵挎媴绗笁鏂圭郴缁熺殑浠讳綍琛屼负瀵艰嚧鐨勪换浣曡矗浠汇�� - 涓�銆佹垜浠浣曟敹闆嗘偍鐨勪釜浜轰俊鎭� - 鎮ㄧ殑涓汉淇℃伅鏉ユ簮浜庢偍鍚戞湰鐭ヨ瘑搴撴彁渚涚殑淇℃伅鍙婃垜浠�氳繃鎮ㄤ娇鐢ㄧ郴缁熸湇鍔℃墍鏀堕泦鍒扮殑淇℃伅銆� - 1銆佹偍鍚戞垜浠彁渚涚殑淇℃伅 - a)鎮ㄦ敞鍐岃处鍙烽』鑷冲皯鍚戞垜浠彁渚涙墜鏈哄彿锛屽苟璁剧疆瀵嗙爜锛� - 2銆佹垜浠�氳繃鎮ㄤ娇鐢ㄦ湇鍔℃墍鏀堕泦鍒扮殑淇℃伅 - 鎮ㄥ湪浣跨敤鏈嶅姟鏃讹紙濡傚彂甯冧俊鎭瓑锛夛紝涓烘弧瓒冲悜鎮ㄦ彁渚涙湇鍔′箣鐩殑锛屾洿涓�у寲鐨勪负鎮ㄦ帹鑽愮浉鍏冲唴瀹癸紝闄ゆ偍鍦ㄦ敞鍐屾垨寮�閫氭湇鍔℃椂鎻愪緵鐨勪釜浜轰俊鎭锛屾垜浠繕鍙兘浼氳褰曟偍鍦ㄤ娇鐢ㄦ垜浠殑鏈嶅姟鏃舵彁渚涖�佸舰鎴愭垨鐣欏瓨鐨勪俊鎭紝鍖呮嫭浣嗕笉闄愪簬璁惧淇℃伅銆佹棩蹇椾俊鎭�佷綅缃俊鎭�佸敮涓�搴旂敤绋嬪簭缂栧彿銆佺綉缁滃拰杩炴帴淇℃伅銆丆ookie鏁版嵁绛夈�� - 浜屻�佹垜浠浣曚娇鐢ㄣ�佸叡浜�� 鎶湶鎮ㄧ殑涓汉淇℃伅 - 1銆佷负婊¤冻鍚戞偍鎻愪緵鏈嶅姟鐨勯渶瑕� - 鎮ㄧ殑涓汉淇℃伅灏嗚鐢ㄤ簬韬唤楠岃瘉銆佸鎴锋湇鍔°�佸畨鍏ㄩ槻鑼冦�佽瘓楠楁娴嬨�佸瓨妗e拰澶囦唤绛夊悎鐞嗙敤閫旓紝纭繚鎴戜滑鍚戞偍鏈夋晥鐨勬彁渚涗骇鍝佸拰鏈嶅姟浠ュ強淇濋殰鏈嶅姟鐨勫畨鍏ㄦ�э紱 - 2銆佹彁渚涗釜鎬у寲鐨勬湇鍔� - a)涓烘偍鎻愪緵涓�у寲鐨勬帹鑽愶細鏍规嵁绔欏唴鍚勭琛屼负锛堝紩鐢ㄣ�佹悳绱㈢瓑锛夛紝鍚戞偍涓�у寲鎺ㄨ崘閫傚悎鎮ㄧ殑鍐呭锛� - b)涓烘偍鎻愪緵涓�у寲鐨勬湇鍔★細鏍规嵁绔欏唴鍚勭琛屼负锛堝紩鐢ㄣ�佹悳绱㈢瓑锛夛紝鍚戞偍瀹氬悜鎶曟斁鐭ヨ瘑鎺ㄨ崘銆佸脊绐椼�佺劍鐐瑰浘銆佹帹閫佺瓑銆� - 3銆佹彁渚涘拰鏀硅繘浜у搧鍜屾湇鍔� - 涓轰簡杩涗竴姝ュ畬鍠勪骇鍝佹垨鏈嶅姟锛屾彁渚涙洿浼樿川鐨勭敤鎴蜂綋楠岋紝鎴戜滑灏嗕娇鐢ㄦ偍鎻愪緵鐨勬垨鎴戜滑鏀堕泦鐨勪俊鎭嚜琛屾垨鎻愪緵鏁版嵁鏈嶅姟鍟嗚繘琛屾暟鎹粺璁°�佸垎鏋愶紝浠ヨ瘎浼般�佺淮鎶ゅ拰鏀硅繘鎴戜滑鏈嶅姟鐨勬�ц兘锛岃繘琛屽繀瑕佺殑涓氬姟杩愯惀锛屽弬涓庢湁鍏崇郴缁熷拰鏈嶅姟鐨勫競鍦鸿皟鐮旀椿鍔紝寮�鍙戞柊鐨勭郴缁熴�佷骇鍝佹垨鏈嶅姟锛屾彁渚涘鎴锋敮鎸佺瓑銆傝繖浜涗俊鎭湪浣跨敤鍓嶄細缁忚繃鍖垮悕鍖栧鐞嗙殑锛屽皢涓嶄細鍖呭惈鎮ㄧ殑浠讳綍韬唤璇嗗埆淇℃伅銆� - 4銆佷俊鎭叡浜笌鎶湶 - a)鏁版嵁鍏变韩 - 鎮ㄥ悓鎰忥紝涓哄紑灞曠郴缁熶笟鍔¢渶瑕侊紝鎴戜滑灏嗗悜鍏跺叧鑱斿叕鍙搞�佸晢涓氬悎浣滀紮浼达紙濡傚箍鍛婂晢鎴栫増鏉冩柟锛夈�佺涓夋柟鏈嶅姟鎻愪緵鍟嗭紙濡傛彁渚涙暟鎹鐞嗐�佸瓨鍌ㄦ湇鍔$殑鍏徃銆佹彁渚涘競鍦鸿惀閿�鏈嶅姟鐨勫叕鍙搞�佹彁渚涙妧鏈敮鎸佺殑鍏徃绛夛級鍏变韩鎮ㄧ殑涓汉淇℃伅銆傝鐭ユ倝锛屾垜浠彁渚涚粰鍟嗕笟鍚堜綔浼欎即鎴栧叾浠栫涓夋柟鐨勪俊鎭槸缁忚繃鍖垮悕鍖栧鐞嗙殑锛屽皢涓嶄細鍖呭惈鎮ㄧ殑浠讳綍韬唤璇嗗埆淇℃伅銆傛澶栵紝鑻ユ垜浠垨绯荤粺鍙戠敓閲嶇粍銆佸悎骞躲�佸垎绔嬨�佹竻绠楁垨璧勪骇鍑哄敭鏃讹紝鎮ㄧ殑淇℃伅灏嗕綔涓轰氦鏄撴爣鐨勮浆绉诲埌鏂扮殑涓讳綋锛屽湪鏈斂绛栧彉鏇村墠锛屾偍鐨勪釜浜轰俊鎭粛鐒跺彈鍒版湰涓汉淇℃伅淇濇姢鏀跨瓥鐨勪繚鎶ゃ�� - b)鏁版嵁鎶湶 - 鍩轰簬鍥藉銆佸叕鍏卞埄鐩婂強瀹夊叏锛屼緷鐓ф硶寰嬪強鍚堟硶绋嬪簭锛屾垜浠皢鍚戞湁鏉冪殑鍙告硶鏈哄叧銆佽鏀挎満鍏虫垨鏈夊叧涓汉鎶湶鎮ㄧ殑涓汉淇℃伅锛屾垨渚濈収娉曢櫌瑁佸喅銆佸垽鍐虫垨鏀垮簻鏈哄叧鐨勫己鍒惰姹傛墽琛岀浉鍏宠涓恒�傝鎮ㄧ煡鎮夛紝涓婅堪鍥藉鍖呮嫭浣嗕笉闄愪簬涓崕浜烘皯鍏卞拰鍥芥垨鍏朵粬鎴戜滑寮�灞曚笟鍔$殑鍥藉鍙婄浉鍏虫硶寰嬫硶瑙勩�備负缁存姢绗笁浜虹殑鍚堟硶鍒╃泭锛屾垨璋冩煡銆侀闃叉垨澶勭悊杩濇硶銆佽繚瑙勩�佷镜鏉冦�佸畨鍏ㄦ垨鎶�鏈柟闈㈢殑闂鎴栧鏈爺绌剁瓑鍚堢悊涔嬬洰鐨勭瓑鎯呭舰涓嬭�屼娇鐢ㄣ�佸叡浜�佹姭闇叉偍鐨勪釜浜轰俊鎭�� - 涓夈�佹偍濡備綍绠$悊鎴栧垹闄ゆ偍鐨勪釜浜轰俊鎭� - 鎮ㄥ彲浠ュ湪鎴戜滑绯荤粺涓煡闃呮垨鍒犻櫎鎮ㄧ殑鐩稿叧淇℃伅锛涙偍涔熷彲浠ラ�氳繃瑙i櫎缁戝畾銆佷慨鏀逛釜浜鸿缃�佸垹闄ょ浉鍏充俊鎭瓑鏂瑰紡鎾ゅ洖閮ㄥ垎鎺堟潈锛屼篃鍙互閫氳繃娉ㄩ攢璐﹀彿鐨勬柟寮忔挙閿�鎵�鏈夋巿鏉冩垨鏈嶅姟锛涜鐭ユ倝锛屽綋鎮ㄦ挙鍥炲悓鎰忔垨鎺堟潈鍚庯紝鍙兘灏嗗鑷存垜浠棤娉曠户缁负鎮ㄦ彁渚涙湇鍔°�� - 鍥涖�佸叧浜庢湭鎴愬勾浜虹殑涓汉淇℃伅 - 鎴戜滑闈炲父閲嶈瀵规湭鎴愬勾浜轰俊鎭殑淇濇姢銆傝嫢鎮ㄦ槸18鍛ㄥ瞾浠ヤ笅鐨勬湭鎴愬勾浜猴紝璇锋偍鍙婃偍鐨勭洃鎶や汉浠旂粏闃呰鏈斂绛栵紝骞跺湪寰佸緱鎮ㄧ殑鐩戞姢浜哄悓鎰忕殑鍓嶆彁涓嬩娇鐢ㄦ湇鍔℃垨鍚戞垜浠彁渚涗俊鎭�� - 浜斻�佹偍鐨勪釜浜轰俊鎭瓨鍌� - 璇锋偍鐭ユ倝锛屾垜浠湪鍏ㄧ悆杩愯惀绯荤粺鍙婃湇鍔℃椂灏辨敹闆嗗埌鐨勪俊鎭皢缁熶竴榛樿瀛樺偍鍦ㄤ腑鍗庝汉姘戝叡鍜屽浗澧冨唴鐨勬湇鍔″櫒鍐呫�� - 鍏�佹垜浠彁渚涚殑涓汉淇℃伅淇濋殰鎺柦 - 鎴戜滑灏嗛噰鍙栫鍚堜笟鐣屾爣鍑嗐�佸悎鐞嗗彲琛岀殑瀹夊叏闃叉姢鎺柦淇濇姢鎮ㄦ彁渚涚殑涓汉淇℃伅瀹夊叏锛岄槻姝㈡偍鐨勪釜浜轰俊鎭伃鍒版湭缁忔巿鏉冭闂�佸叕寮�鎶湶銆佷娇鐢ㄣ�佷慨鏀广�佹崯鍧忔垨涓㈠け銆傛垜浠細浠ラ珮搴︾殑鍕ゅ媺涔夊姟瀵瑰緟鎮ㄧ殑淇℃伅锛屾湭缁忔偍鍚屾剰锛屾垜浠笉浼氬悜浠讳綍绗笁鏂瑰叡浜偍鐨勪俊鎭�備篃璇锋偍浣跨敤澶嶆潅瀵嗙爜骞跺Ε鍠勪繚绠℃偍鐨勮处鎴峰強瀵嗙爜锛屽苟璋ㄦ厧鍚戠涓夋柟鎻愪緵鎮ㄧ殑涓汉淇℃伅銆傚鎮ㄥ彂鐜拌嚜宸辩殑涓汉淇℃伅娉勫瘑锛屽挨鍏舵槸浣犵殑璐︽埛鍙婂瘑鐮佸彂鐢熸硠闇诧紝璇锋偍绔嬪嵆鑱旂粶鎴戞柟绠$悊鍛橈紝浠ヤ究鎴戞柟閲囧彇鐩稿簲鎺柦銆� - 涓冦�佷釜浜轰俊鎭繚鎶ゆ斂绛栫殑淇 - 鎴戜滑鍙兘瀵规湰鏀跨瓥杩涜涓嶅畾鏈熶慨鏀癸紝鍗忚淇敼鍚庯紝鎴戜滑灏嗗湪鐩稿叧椤甸潰鎴栦互鍏朵粬鍚堥�傜殑鏂瑰紡鍏竷淇敼鐨勫唴瀹广�傚鏋滄偍涓嶅悓鎰忔湰鍗忚鐨勪慨鏀癸紝璇风珛鍗冲仠姝娇鐢ㄧ郴缁熸垨鍙栨秷宸茬粡鑾峰緱鐨勬湇鍔★紱濡傛灉鎮ㄩ�夋嫨鍦ㄦ湰鏀跨瓥淇敼鍚庣户缁闂垨浣跨敤绯荤粺鎴栨湇鍔$殑锛屽垯瑙嗕负鎮ㄥ凡鎺ュ彈鏈斂绛栫殑淇敼銆� - 鎮ㄤ笌鎴戜滑绛剧讲鐨勬湰鏀跨瓥鎵�鍒楁槑鐨勬潯娆撅紝骞朵笉鑳藉畬鍏ㄦ兜鐩栨偍涓庢垜浠墍鏈夌殑鍏充簬涓汉淇℃伅鐨勬潈鍒╁拰涔夊姟銆傚洜姝わ紝鎴戜滑鍏竷鍏朵粬澹版槑銆佽鍒欑瓑鍧囪涓烘湰鏀跨瓥涔嬭ˉ鍏呮潯娆撅紝涓烘湰鏀跨瓥涓嶅彲鍒嗗壊鐨勭粍鎴愰儴鍒嗭紝涓庢湰鍗忚鍏锋湁鍚岀瓑娉曞緥鏁堝姏銆� - 鍏�佸浣曡仈绯绘垜浠� - 濡傛偍瀵规湰鏀跨瓥鏈変换浣曠枒闂�佸缓璁垨鎰忚鐨勶紝鎴栨偍鍙戠幇鎮ㄧ殑涓汉淇℃伅鍙兘琚硠闇茬殑锛屾偍鍙�氳繃鑱旂郴鐢佃瘽鎴栫數瀛愰偖绠辫仈绯绘垜浠�� - 鑱旂郴鐢佃瘽锛�010-64089611 - 鐢靛瓙閭锛歵cmtczy@mail.cintcm.ac.cn - 鏈斂绛栫殑鐢熸晥銆佸饱琛屻�佽В閲婂強浜夎鐨勮В鍐筹紝鎮ㄥ洜浣跨敤鎴戜滑鐨勬湇鍔¤�屼骇鐢熸垨涓庢湰鏀跨瓥鐩稿叧鐨勪竴鍒囦簤璁�佹潈鍒╀富寮犳垨鍏朵粬浜嬮」锛屽潎閫傜敤涓崕浜烘皯鍏卞拰鍥芥硶寰嬶紙娓境鍙� - 鍦板尯闄ゅ锛夈�傛偍涓庢垜浠彂鐢熺殑涓�鍒囦簤璁紝搴斿弸濂藉崗鍟嗭紝濡傚崗鍟嗕笉鎴愮殑锛屽簲鎻愪氦鎵�鍦ㄥ湴浜烘皯娉曢櫌绠¤緰銆� - 璇锋偍鍐嶆纭鎮ㄥ凡鍏ㄩ儴闃呰骞跺厖鍒嗙悊瑙d笂杩版潯娆俱�� - + <h4>寮曡█</h4> + <p> + 涓浗涓尰绉戝闄腑鍖昏嵂淇℃伅鐮旂┒鎵�锛堜互涓嬬畝绉帮細鎴戜滑锛夊皧閲嶅苟淇濇姢鎵�鏈変娇鐢ㄤ腑鍖讳汉鐗╃煡璇嗗簱鏈嶅姟鐨勭敤鎴凤紙浠ヤ笅绠�绉帮細鎮級涓汉闅愮涓庝俊鎭畨鍏ㄣ�傞壌浜庢锛屾垜浠埗瀹氭湰銆婇殣绉佹姢鏀跨瓥銆嬶紙浠ヤ笅绠�绉帮細鏀跨瓥锛変笌鎮ㄧ‘璁ゅ叧浜庢偍鍦ㄤ娇鐢ㄦ湇鍔℃湡闂达紝鎴戜滑灏嗘敹闆嗐�佸瓨鍌ㄣ�佷娇鐢ㄣ�佸叡浜拰淇濇姢鎮ㄧ殑涓汉淇℃伅鐨勭浉鍏充簨瀹溿�傛湰鏀跨瓥灏嗗府鍔╂偍浜嗚В浠ヤ笅鍐呭锛� + </p> + <p>1銆佹垜浠浣曟敹闆嗗拰浣跨敤鎮ㄧ殑涓汉淇℃伅</p> + <p>2銆佹垜浠浣曞叡浜�佽浆璁┿�佸叕寮�鎶湶銆佸瓨鍌ㄦ偍鐨勪釜浜轰俊鎭�</p> + <p>3銆佹垜浠浣曚繚鎶ゆ偍鐨勪釜浜轰俊鎭�</p> + <p>4銆佹偍鍙互濡備綍绠$悊鎮ㄧ殑涓汉淇℃伅</p> + <p>5銆佸叧浜庢湭鎴愬勾浜虹殑涓汉淇℃伅</p> + <p>6銆佹湰闅愮鏀跨瓥濡備綍鏇存柊</p> + <p>7銆佸浣曡仈绯绘垜浠�</p> + <p>璇锋偍鍦ㄤ娇鐢ㄦ湇鍔″墠锛屽畬鏁撮槄璇诲苟閫忓交鐞嗚В鏈斂绛栵紝鍦ㄦ偍鍏呭垎鐞嗚В骞跺悓鎰忓悗浣跨敤鏈嶅姟銆傚鏋滄偍涓嶅悓鎰忔湰鏀跨瓥鐨勪换浣曞唴瀹癸紝鎮ㄥ簲绔嬪嵆鍋滄浣跨敤鏈煡璇嗗簱銆傚綋鎮ㄤ娇鐢ㄦ湰鐭ヨ瘑搴撴椂锛屽垯琛ㄧず鎮ㄥ悓鎰忎笖瀹屽叏鐞嗚В鏈斂绛栫殑鍏ㄩ儴鍐呭銆�</p> + <p>闇�瑕佺壒鍒鏄庣殑鏄紝鏈斂绛栦粎閽堝浜庢湰鐭ヨ瘑搴撶殑琛屼负锛屾垜浠笉鎵挎媴绗笁鏂圭郴缁熺殑浠讳綍琛屼负瀵艰嚧鐨勪换浣曡矗浠汇��</p> + <h4>涓�銆佹垜浠浣曟敹闆嗘偍鐨勪釜浜轰俊鎭�</h4> + <p>鎮ㄧ殑涓汉淇℃伅鏉ユ簮浜庢偍鍚戞湰鐭ヨ瘑搴撴彁渚涚殑淇℃伅鍙婃垜浠�氳繃鎮ㄤ娇鐢ㄧ郴缁熸湇鍔℃墍鏀堕泦鍒扮殑淇℃伅銆� + <p>1銆佹偍鍚戞垜浠彁渚涚殑淇℃伅</p> + <p>a)鎮ㄦ敞鍐岃处鍙烽』鑷冲皯鍚戞垜浠彁渚涙墜鏈哄彿锛屽苟璁剧疆瀵嗙爜锛�</p> + </p> + <p>2銆佹垜浠�氳繃鎮ㄤ娇鐢ㄦ湇鍔℃墍鏀堕泦鍒扮殑淇℃伅</p> + <p> + 鎮ㄥ湪浣跨敤鏈嶅姟鏃讹紙濡傚彂甯冧俊鎭瓑锛夛紝涓烘弧瓒冲悜鎮ㄦ彁渚涙湇鍔′箣鐩殑锛屾洿涓�у寲鐨勪负鎮ㄦ帹鑽愮浉鍏冲唴瀹癸紝闄ゆ偍鍦ㄦ敞鍐屾垨寮�閫氭湇鍔℃椂鎻愪緵鐨勪釜浜轰俊鎭锛屾垜浠繕鍙兘浼氳褰曟偍鍦ㄤ娇鐢ㄦ垜浠殑鏈嶅姟鏃舵彁渚涖�佸舰鎴愭垨鐣欏瓨鐨勪俊鎭紝鍖呮嫭浣嗕笉闄愪簬璁惧淇℃伅銆佹棩蹇椾俊鎭�佷綅缃俊鎭�佸敮涓�搴旂敤绋嬪簭缂栧彿銆佺綉缁滃拰杩炴帴淇℃伅銆丆ookie鏁版嵁绛夈�� + </p> + <h4>浜屻�佹垜浠浣曚娇鐢ㄣ�佸叡浜�� 鎶湶鎮ㄧ殑涓汉淇℃伅</h4> + <p>1銆佷负婊¤冻鍚戞偍鎻愪緵鏈嶅姟鐨勯渶瑕� + <p> + <p>鎮ㄧ殑涓汉淇℃伅灏嗚鐢ㄤ簬韬唤楠岃瘉銆佸鎴锋湇鍔°�佸畨鍏ㄩ槻鑼冦�佽瘓楠楁娴嬨�佸瓨妗e拰澶囦唤绛夊悎鐞嗙敤閫旓紝纭繚鎴戜滑鍚戞偍鏈夋晥鐨勬彁渚涗骇鍝佸拰鏈嶅姟浠ュ強淇濋殰鏈嶅姟鐨勫畨鍏ㄦ�э紱 + <p> + <p>2銆佹彁渚涗釜鎬у寲鐨勬湇鍔� + <p> + <p>a)涓烘偍鎻愪緵涓�у寲鐨勬帹鑽愶細鏍规嵁绔欏唴鍚勭琛屼负锛堝紩鐢ㄣ�佹悳绱㈢瓑锛夛紝鍚戞偍涓�у寲鎺ㄨ崘閫傚悎鎮ㄧ殑鍐呭锛� + <p> + <p>b)涓烘偍鎻愪緵涓�у寲鐨勬湇鍔★細鏍规嵁绔欏唴鍚勭琛屼负锛堝紩鐢ㄣ�佹悳绱㈢瓑锛夛紝鍚戞偍瀹氬悜鎶曟斁鐭ヨ瘑鎺ㄨ崘銆佸脊绐椼�佺劍鐐瑰浘銆佹帹閫佺瓑銆� + <p> + <p>3銆佹彁渚涘拰鏀硅繘浜у搧鍜屾湇鍔� + <p> + <p> + 涓轰簡杩涗竴姝ュ畬鍠勪骇鍝佹垨鏈嶅姟锛屾彁渚涙洿浼樿川鐨勭敤鎴蜂綋楠岋紝鎴戜滑灏嗕娇鐢ㄦ偍鎻愪緵鐨勬垨鎴戜滑鏀堕泦鐨勪俊鎭嚜琛屾垨鎻愪緵鏁版嵁鏈嶅姟鍟嗚繘琛屾暟鎹粺璁°�佸垎鏋愶紝浠ヨ瘎浼般�佺淮鎶ゅ拰鏀硅繘鎴戜滑鏈嶅姟鐨勬�ц兘锛岃繘琛屽繀瑕佺殑涓氬姟杩愯惀锛屽弬涓庢湁鍏崇郴缁熷拰鏈嶅姟鐨勫競鍦鸿皟鐮旀椿鍔紝寮�鍙戞柊鐨勭郴缁熴�佷骇鍝佹垨鏈嶅姟锛屾彁渚涘鎴锋敮鎸佺瓑銆傝繖浜涗俊鎭湪浣跨敤鍓嶄細缁忚繃鍖垮悕鍖栧鐞嗙殑锛屽皢涓嶄細鍖呭惈鎮ㄧ殑浠讳綍韬唤璇嗗埆淇℃伅銆� + <p> + <p>4銆佷俊鎭叡浜笌鎶湶</p> + <p>a)鏁版嵁鍏变韩</p> + <p> + 鎮ㄥ悓鎰忥紝涓哄紑灞曠郴缁熶笟鍔¢渶瑕侊紝鎴戜滑灏嗗悜鍏跺叧鑱斿叕鍙搞�佸晢涓氬悎浣滀紮浼达紙濡傚箍鍛婂晢鎴栫増鏉冩柟锛夈�佺涓夋柟鏈嶅姟鎻愪緵鍟嗭紙濡傛彁渚涙暟鎹鐞嗐�佸瓨鍌ㄦ湇鍔$殑鍏徃銆佹彁渚涘競鍦鸿惀閿�鏈嶅姟鐨勫叕鍙搞�佹彁渚涙妧鏈敮鎸佺殑鍏徃绛夛級鍏变韩鎮ㄧ殑涓汉淇℃伅銆傝鐭ユ倝锛屾垜浠彁渚涚粰鍟嗕笟鍚堜綔浼欎即鎴栧叾浠栫涓夋柟鐨勪俊鎭槸缁忚繃鍖垮悕鍖栧鐞嗙殑锛屽皢涓嶄細鍖呭惈鎮ㄧ殑浠讳綍韬唤璇嗗埆淇℃伅銆傛澶栵紝鑻ユ垜浠垨绯荤粺鍙戠敓閲嶇粍銆佸悎骞躲�佸垎绔嬨�佹竻绠楁垨璧勪骇鍑哄敭鏃讹紝鎮ㄧ殑淇℃伅灏嗕綔涓轰氦鏄撴爣鐨勮浆绉诲埌鏂扮殑涓讳綋锛屽湪鏈斂绛栧彉鏇村墠锛屾偍鐨勪釜浜轰俊鎭粛鐒跺彈鍒版湰涓汉淇℃伅淇濇姢鏀跨瓥鐨勪繚鎶ゃ�� + </p> + <p>b)鏁版嵁鎶湶</p> + <p> + 鍩轰簬鍥藉銆佸叕鍏卞埄鐩婂強瀹夊叏锛屼緷鐓ф硶寰嬪強鍚堟硶绋嬪簭锛屾垜浠皢鍚戞湁鏉冪殑鍙告硶鏈哄叧銆佽鏀挎満鍏虫垨鏈夊叧涓汉鎶湶鎮ㄧ殑涓汉淇℃伅锛屾垨渚濈収娉曢櫌瑁佸喅銆佸垽鍐虫垨鏀垮簻鏈哄叧鐨勫己鍒惰姹傛墽琛岀浉鍏宠涓恒�傝鎮ㄧ煡鎮夛紝涓婅堪鍥藉鍖呮嫭浣嗕笉闄愪簬涓崕浜烘皯鍏卞拰鍥芥垨鍏朵粬鎴戜滑寮�灞曚笟鍔$殑鍥藉鍙婄浉鍏虫硶寰嬫硶瑙勩�備负缁存姢绗笁浜虹殑鍚堟硶鍒╃泭锛屾垨璋冩煡銆侀闃叉垨澶勭悊杩濇硶銆佽繚瑙勩�佷镜鏉冦�佸畨鍏ㄦ垨鎶�鏈柟闈㈢殑闂鎴栧鏈爺绌剁瓑鍚堢悊涔嬬洰鐨勭瓑鎯呭舰涓嬭�屼娇鐢ㄣ�佸叡浜�佹姭闇叉偍鐨勪釜浜轰俊鎭�� + </p> + <h4>涓夈�佹偍濡備綍绠$悊鎴栧垹闄ゆ偍鐨勪釜浜轰俊鎭�</h4> + <p>鎮ㄥ彲浠ュ湪鎴戜滑绯荤粺涓煡闃呮垨鍒犻櫎鎮ㄧ殑鐩稿叧淇℃伅锛涙偍涔熷彲浠ラ�氳繃瑙i櫎缁戝畾銆佷慨鏀逛釜浜鸿缃�佸垹闄ょ浉鍏充俊鎭瓑鏂瑰紡鎾ゅ洖閮ㄥ垎鎺堟潈锛屼篃鍙互閫氳繃娉ㄩ攢璐﹀彿鐨勬柟寮忔挙閿�鎵�鏈夋巿鏉冩垨鏈嶅姟锛涜鐭ユ倝锛屽綋鎮ㄦ挙鍥炲悓鎰忔垨鎺堟潈鍚庯紝鍙兘灏嗗鑷存垜浠棤娉曠户缁负鎮ㄦ彁渚涙湇鍔°�� + </p> + <h4>鍥涖�佸叧浜庢湭鎴愬勾浜虹殑涓汉淇℃伅</h4> + <p>鎴戜滑闈炲父閲嶈瀵规湭鎴愬勾浜轰俊鎭殑淇濇姢銆傝嫢鎮ㄦ槸18鍛ㄥ瞾浠ヤ笅鐨勬湭鎴愬勾浜猴紝璇锋偍鍙婃偍鐨勭洃鎶や汉浠旂粏闃呰鏈斂绛栵紝骞跺湪寰佸緱鎮ㄧ殑鐩戞姢浜哄悓鎰忕殑鍓嶆彁涓嬩娇鐢ㄦ湇鍔℃垨鍚戞垜浠彁渚涗俊鎭��</p> + <h4>浜斻�佹偍鐨勪釜浜轰俊鎭瓨鍌�</h4> + <p>璇锋偍鐭ユ倝锛屾垜浠湪鍏ㄧ悆杩愯惀绯荤粺鍙婃湇鍔℃椂灏辨敹闆嗗埌鐨勪俊鎭皢缁熶竴榛樿瀛樺偍鍦ㄤ腑鍗庝汉姘戝叡鍜屽浗澧冨唴鐨勬湇鍔″櫒鍐呫��</p> + <h4>鍏�佹垜浠彁渚涚殑涓汉淇℃伅淇濋殰鎺柦</h4> + <p> + 鎴戜滑灏嗛噰鍙栫鍚堜笟鐣屾爣鍑嗐�佸悎鐞嗗彲琛岀殑瀹夊叏闃叉姢鎺柦淇濇姢鎮ㄦ彁渚涚殑涓汉淇℃伅瀹夊叏锛岄槻姝㈡偍鐨勪釜浜轰俊鎭伃鍒版湭缁忔巿鏉冭闂�佸叕寮�鎶湶銆佷娇鐢ㄣ�佷慨鏀广�佹崯鍧忔垨涓㈠け銆傛垜浠細浠ラ珮搴︾殑鍕ゅ媺涔夊姟瀵瑰緟鎮ㄧ殑淇℃伅锛屾湭缁忔偍鍚屾剰锛屾垜浠笉浼氬悜浠讳綍绗笁鏂瑰叡浜偍鐨勪俊鎭�備篃璇锋偍浣跨敤澶嶆潅瀵嗙爜骞跺Ε鍠勪繚绠℃偍鐨勮处鎴峰強瀵嗙爜锛屽苟璋ㄦ厧鍚戠涓夋柟鎻愪緵鎮ㄧ殑涓汉淇℃伅銆傚鎮ㄥ彂鐜拌嚜宸辩殑涓汉淇℃伅娉勫瘑锛屽挨鍏舵槸浣犵殑璐︽埛鍙婂瘑鐮佸彂鐢熸硠闇诧紝璇锋偍绔嬪嵆鑱旂粶鎴戞柟绠$悊鍛橈紝浠ヤ究鎴戞柟閲囧彇鐩稿簲鎺柦銆� + </p> + <h4>涓冦�佷釜浜轰俊鎭繚鎶ゆ斂绛栫殑淇</h4> + <p> + 鎴戜滑鍙兘瀵规湰鏀跨瓥杩涜涓嶅畾鏈熶慨鏀癸紝鍗忚淇敼鍚庯紝鎴戜滑灏嗗湪鐩稿叧椤甸潰鎴栦互鍏朵粬鍚堥�傜殑鏂瑰紡鍏竷淇敼鐨勫唴瀹广�傚鏋滄偍涓嶅悓鎰忔湰鍗忚鐨勪慨鏀癸紝璇风珛鍗冲仠姝娇鐢ㄧ郴缁熸垨鍙栨秷宸茬粡鑾峰緱鐨勬湇鍔★紱濡傛灉鎮ㄩ�夋嫨鍦ㄦ湰鏀跨瓥淇敼鍚庣户缁闂垨浣跨敤绯荤粺鎴栨湇鍔$殑锛屽垯瑙嗕负鎮ㄥ凡鎺ュ彈鏈斂绛栫殑淇敼銆� + </p> + <p>鎮ㄤ笌鎴戜滑绛剧讲鐨勬湰鏀跨瓥鎵�鍒楁槑鐨勬潯娆撅紝骞朵笉鑳藉畬鍏ㄦ兜鐩栨偍涓庢垜浠墍鏈夌殑鍏充簬涓汉淇℃伅鐨勬潈鍒╁拰涔夊姟銆傚洜姝わ紝鎴戜滑鍏竷鍏朵粬澹版槑銆佽鍒欑瓑鍧囪涓烘湰鏀跨瓥涔嬭ˉ鍏呮潯娆撅紝涓烘湰鏀跨瓥涓嶅彲鍒嗗壊鐨勭粍鎴愰儴鍒嗭紝涓庢湰鍗忚鍏锋湁鍚岀瓑娉曞緥鏁堝姏銆�</p> + <h4>鍏�佸浣曡仈绯绘垜浠�</h4> + <p>濡傛偍瀵规湰鏀跨瓥鏈変换浣曠枒闂�佸缓璁垨鎰忚鐨勶紝鎴栨偍鍙戠幇鎮ㄧ殑涓汉淇℃伅鍙兘琚硠闇茬殑锛屾偍鍙�氳繃鑱旂郴鐢佃瘽鎴栫數瀛愰偖绠辫仈绯绘垜浠��</p> + <p>鑱旂郴鐢佃瘽锛�010-64089611</p> + <p>鐢靛瓙閭锛歵cmtczy@mail.cintcm.ac.cn</p> + <p>鏈斂绛栫殑鐢熸晥銆佸饱琛屻�佽В閲婂強浜夎鐨勮В鍐筹紝鎮ㄥ洜浣跨敤鎴戜滑鐨勬湇鍔¤�屼骇鐢熸垨涓庢湰鏀跨瓥鐩稿叧鐨勪竴鍒囦簤璁�佹潈鍒╀富寮犳垨鍏朵粬浜嬮」锛屽潎閫傜敤涓崕浜烘皯鍏卞拰鍥芥硶寰嬶紙娓境鍙� + 鍦板尯闄ゅ锛夈�傛偍涓庢垜浠彂鐢熺殑涓�鍒囦簤璁紝搴斿弸濂藉崗鍟嗭紝濡傚崗鍟嗕笉鎴愮殑锛屽簲鎻愪氦鎵�鍦ㄥ湴浜烘皯娉曢櫌绠¤緰銆�</p> + <p>璇锋偍鍐嶆纭鎮ㄥ凡鍏ㄩ儴闃呰骞跺厖鍒嗙悊瑙d笂杩版潯娆俱��</p> + </view> </view> + + </template> <script> export default { data() { return { - + type: 1 } + }, + onLoad(options) { + this.type = options.type; }, methods: { @@ -162,5 +174,7 @@ </script> <style> - + p { + text-indent: 2em; + } </style> \ No newline at end of file diff --git a/src/pages/zhongyi/zhongyi.vue b/src/pages/zhongyi/zhongyi.vue index 2d907e9..1e62745 100644 --- a/src/pages/zhongyi/zhongyi.vue +++ b/src/pages/zhongyi/zhongyi.vue @@ -1,6 +1,6 @@ <template> <view > - <headNav :idIndex="idIndex" :searchBg="false" text="涓尰涓栧尰浼犳壙鏁版嵁搴�" bg="/static/image/topBg1.png" + <headNav :idIndex="idIndex" :searchBg="false" text="瀹跺浼犳壙" bg="/static/image/topBg1.png" bg1="/static/image/line1.png" /> <view class="flex" style="padding: .24rem 1.21rem ;background-color: #f0f0f0;"> diff --git a/src/static/image/inherit/1-a.png b/src/static/image/inherit/1-a.png new file mode 100644 index 0000000..419b2dc --- /dev/null +++ b/src/static/image/inherit/1-a.png Binary files differ diff --git a/src/static/image/inherit/1.png b/src/static/image/inherit/1.png new file mode 100644 index 0000000..fb7ae5a --- /dev/null +++ b/src/static/image/inherit/1.png Binary files differ diff --git a/src/static/image/inherit/2-a.png b/src/static/image/inherit/2-a.png new file mode 100644 index 0000000..f83610f --- /dev/null +++ b/src/static/image/inherit/2-a.png Binary files differ diff --git a/src/static/image/inherit/2.png b/src/static/image/inherit/2.png new file mode 100644 index 0000000..75d496b --- /dev/null +++ b/src/static/image/inherit/2.png Binary files differ -- Gitblit v1.9.1