4 天以前 | 杨磊 | ![]() |
4 天以前 | 杨磊 | ![]() |
4 天以前 | zhongshujie | ![]() |
4 天以前 | zhongshujie | ![]() |
src/assets/css/common.css | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/achievements/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/chronology/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/directory/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/assets/css/common.css
@@ -173,4 +173,8 @@ .errorBack { color: #fff !important; background: #f56c6c !important; } ::v-deep .el-loading-spinner { color: #937950 !important; } src/views/achievements/index.vue
@@ -1,253 +1,180 @@ <template> <div class="page"> <div class="page-header"> <p>王永炎院士学术成果</p> <p> <span>王永炎院士学术成果</span> </p> </div> <div class="page-main-father"> <div class="page-main"> <!-- 搜索框 --> <ul class="page-input"> <li class="input-main"> <SearchBox /> </li> <li class="input-txt" @click="isDisplay = !isDisplay"> 高级检索 <img :src="[isDisplay ? topIcon : bottomIcon]" alt="" /> </li> </ul> <!-- 高级搜索 --> <div v-if="isDisplay" class="page-search"> <MyForm class="myfrom" @submit=" <div class="page-main"> <!-- 搜索框 --> <ul class="page-input"> <li class="input-main"> <SearchBox /> </li> <li class="input-txt" @click="isDisplay = !isDisplay"> 高级检索 <img :src="[isDisplay ? topIcon : bottomIcon]" alt="" /> </li> </ul> <!-- 高级搜索 --> <div v-if="isDisplay" class="page-search"> <MyForm class="myfrom" @submit=" (data) => { CurrentPage = 1; onSubmit(data); } " @reset="resetForm" :from="from" /> </div> <!-- 搜索结果 --> <div class="page-content"> <div class="content-left"> <!-- 类型 --> <ul> <li class="left-title"> <span>{{ category.title }}</span> <p @click="category.isDisplay = !category.isDisplay"> <img :src="[category.isDisplay ? topIcon : bottomIcon]" alt="" /> </p> </li> <li class="left-main" v-if="category.isDisplay"> <div class="category-main" v-for="(item, index) in category.list" :key="index" > <el-checkbox class="el-checkbox" v-model="item.checked" :title="item.name" >{{ item.name }}</el-checkbox > <span class="">{{ item.num }}</span> </div> </li> </ul> <!-- 年度 --> <ul> <li class="left-title"> <div> <span>{{ annual.title }}</span> <span> 时间 <img class="sort-Icon" :src="[isDisplay ? sortTop : sortBottom]" alt="" /> </span> <span >文献量 <img class="sort-Icon" :src="[isDisplay ? sortBottom : sortTop]" alt="" /> </span> </div> <p @click="annual.isDisplay = !annual.isDisplay"> <img :src="[annual.isDisplay ? topIcon : bottomIcon]" alt="" /> </p> </li> <li class="left-main" v-if="annual.isDisplay"> <div class="annual-main" :style="{ display: index + 1 > professionIndex ? 'none' : '', }" v-for="(item, index) in annual.list" :key="index" > <el-checkbox class="el-checkbox" v-model="item.checked" :title="item.years" >{{ item.years }}</el-checkbox > <span class="">{{ item.num }}</span> </div> <p class="annual-footer" v-if="annual.list && annual.list.length > 5" @click="shrinkClick('a', '年度')" > {{ activeBox !== "a" ? "更多 ∨" : "收起 ∧" }} </p> </li> </ul> <!-- 文献来源 --> <ul> <li class="left-title"> <div> <span>{{ sources.title }}</span> <span> 文献量 <img class="sort-Icon" :src="[isDisplay ? sortBottom : sortTop]" alt="" /> </span> </div> <p @click="sources.isDisplay = !sources.isDisplay"> <img :src="[sources.isDisplay ? topIcon : bottomIcon]" alt="" /> </p> </li> <li class="left-main" v-if="sources.isDisplay"> <div class="sources-main" v-for="(item, index) in sources.list" :key="index" :style="{ display: index + 1 > dynastyIndex ? 'none' : '', }" > <el-checkbox class="el-checkbox" :title="item.name" v-model="item.checked" >{{ item.name }}</el-checkbox > <span class="">{{ item.num }}</span> </div> <p class="sources-footer" v-if="sources.list && sources.list.length > 5" @click="shrinkClick('b', '文献来源')" > {{ activeBox !== "b" ? "更多 ∨" : "收起 ∧" }} </p> </li> </ul> <!-- 学科 --> <ul> <li class="left-title"> <span>{{ subject.title }}</span> <p @click="subject.isDisplay = !subject.isDisplay"> <img :src="[subject.isDisplay ? topIcon : bottomIcon]" alt="" /> </p> </li> <li class="left-main" v-if="subject.isDisplay"> <div class="category-main" v-for="(item, index) in subject.list" :key="index" > <el-checkbox class="el-checkbox" v-model="item.checked" :title="item.name" >{{ item.name }}</el-checkbox > <span class="">{{ item.num }}</span> </div> </li> </ul> " @reset="resetForm" :from="from" /> </div> <div class="content-right"> <!-- title部分 --> <ul class="right-header"> <li v-for="(item, index) in associationList" :key="index"> <p>{{ item.type }} : {{ item.content }}</p> <img :src="errorIcon" alt="" /> </li> </ul> <!-- 共xx条 --> <ul class="right-number"> <ul class="number-number"> 共找到<span>{{ resultList.length }}</span >条结果 <!-- 搜索结果 --> <div class="page-content"> <div class="content-left"> <!-- 类型 --> <ul> <li class="left-title"> <span>{{ category.title }}</span> <p @click="category.isDisplay = !category.isDisplay"> <img :src="[category.isDisplay ? topIcon : bottomIcon]" alt="" /> </p> </li> <li class="left-main" v-if="category.isDisplay"> <div class="category-main" v-for="(item, index) in category.list" :key="index"> <el-checkbox class="el-checkbox" style="display: inline-block; vertical-align: middle;" v-model="item.checked" :title="item.name">{{ item.name }}</el-checkbox> <span class="" style="display: inline-block; vertical-align: middle;">{{ item.num }}</span> </div> </li> </ul> <ul class="number-time"> 发表时间 <span><img :src="sortBottom" alt="" /></span> <!-- 年度 --> <ul> <li class="left-title"> <div> <span>{{ annual.title }}</span> <span> 时间 <img class="sort-Icon" :src="[isDisplay ? sortTop : sortBottom]" alt="" /> </span> <span>文献量 <img class="sort-Icon" :src="[isDisplay ? sortBottom : sortTop]" alt="" /> </span> </div> <p @click="annual.isDisplay = !annual.isDisplay"> <img :src="[annual.isDisplay ? topIcon : bottomIcon]" alt="" /> </p> </li> <li class="left-main" v-if="annual.isDisplay"> <div class="annual-main" :style="{ display: index + 1 > professionIndex ? 'none' : '', }" v-for="(item, index) in annual.list" :key="index"> <el-checkbox class="el-checkbox" v-model="item.checked" :title="item.years">{{ item.years }}</el-checkbox> <span class="">{{ item.num }}</span> </div> <p class="annual-footer" v-if="annual.list && annual.list.length > 5" @click="shrinkClick('a', '年度')"> {{ activeBox !== "a" ? "更多 ∨" : "收起 ∧" }} </p> </li> </ul> </ul> <!-- 结果展示 --> <ul class="right-main" v-for="(item, index) in resultList" :key="index" > <li class="main-name"> <p>{{ item.name }}</p> <p> <el-button @click="goPage(item)">详情</el-button> <el-button>AI智能阅读</el-button> </p> </li> <li class="main-sources"> <span>{{ item.type }}</span> <span>{{ item.sources }}</span> <span>{{ item.time }}</span> </li> <li class="main-author"> {{ item.author }} </li> <li class="main-title" :title="item.title"> <span>摘要: </span>{{ item.title }} </li> <li class="main-keyword"> <span>关键词:</span> <span class="keyWord" v-for="(citem, cindex) in item.keyword" :key="cindex" > {{ citem.name }} </span> </li> </ul> <!-- 分页 --> <div class="pagination"> <el-pagination class="msg-pagination-container" :background="isBackground" layout="prev, pager, next" :total="200" > </el-pagination> <!-- 文献来源 --> <ul> <li class="left-title"> <div> <span>{{ sources.title }}</span> <span> 文献量 <img class="sort-Icon" :src="[isDisplay ? sortBottom : sortTop]" alt="" /> </span> </div> <p @click="sources.isDisplay = !sources.isDisplay"> <img :src="[sources.isDisplay ? topIcon : bottomIcon]" alt="" /> </p> </li> <li class="left-main" v-if="sources.isDisplay"> <div class="sources-main" v-for="(item, index) in sources.list" :key="index" :style="{ display: index + 1 > dynastyIndex ? 'none' : '', }"> <el-checkbox class="el-checkbox" :title="item.name" v-model="item.checked">{{ item.name }}</el-checkbox> <span class="">{{ item.num }}</span> </div> <p class="sources-footer" v-if="sources.list && sources.list.length > 5" @click="shrinkClick('b', '文献来源')"> {{ activeBox !== "b" ? "更多 ∨" : "收起 ∧" }} </p> </li> </ul> <!-- 学科 --> <ul> <li class="left-title"> <span>{{ subject.title }}</span> <p @click="subject.isDisplay = !subject.isDisplay"> <img :src="[subject.isDisplay ? topIcon : bottomIcon]" alt="" /> </p> </li> <li class="left-main" v-if="subject.isDisplay"> <div class="category-main" v-for="(item, index) in subject.list" :key="index"> <el-checkbox class="el-checkbox" v-model="item.checked" :title="item.name">{{ item.name }}</el-checkbox> <span class="">{{ item.num }}</span> </div> </li> </ul> </div> <div class="content-right"> <!-- title部分 --> <ul class="right-header"> <li v-for="(item, index) in associationList" :key="index"> <p>{{ item.type }} : {{ item.content }}</p> <img :src="errorIcon" alt="" /> </li> </ul> <!-- 共xx条 --> <ul class="right-number"> <ul class="number-number"> 共找到<span>{{ resultList.length }}</span>条结果 </ul> <ul class="number-time"> 发表时间 <span><img :src="sortBottom" alt="" /></span> </ul> </ul> <!-- 结果展示 --> <ul class="right-main" v-for="(item, index) in resultList" :key="index"> <li class="main-name"> <p>{{ item.name }}</p> <p> <el-button @click="goPage(item)">详情</el-button> <el-button>AI智能阅读</el-button> </p> </li> <li class="main-sources"> <span>{{ item.type }}</span> <span>{{ item.sources }}</span> <span>{{ item.time }}</span> </li> <li class="main-author"> {{ item.author }} </li> <li class="main-title" :title="item.title"> <span>摘要: </span>{{ item.title }} </li> <li class="main-keyword"> <span>关键词:</span> <span class="keyWord" v-for="(citem, cindex) in item.keyword" :key="cindex"> {{ citem.name }} </span> </li> </ul> <!-- 分页 --> <div class="pagination"> <el-pagination class="msg-pagination-container" :background="isBackground" layout="prev, pager, next" :total="200"> </el-pagination> </div> </div> </div> </div> </div> </div> </div> </template> @@ -648,7 +575,7 @@ }, methods: { async onSubmit(val) {}, async onSubmit(val) { }, //重置搜索结果 resetForm() { // this.onSearch(""); @@ -687,30 +614,39 @@ background-color: #e9e1d4; position: relative; overflow: hidden; display: flex; flex-direction: column; } .page-header { background-color: #e9e1d4; padding: 8px 0; height: 9.4%; width: 100%; text-align: left; border-bottom: 2px solid #937950; background-color: #e9e1d4; position: sticky; top: 0; z-index: 10; z-index: 100; p { padding: 1.6% 0 1.55% 0; height: 100%; font-family: Alimama DongFangDaKai; font-size: 30px; text-indent: 1em; border-bottom: 1px solid #937950; display: flex; align-items: center; } } .page-main-father{ height: calc(100% - 9.4%); .page-main-father { flex: 1; width: 100%; height: 100%; overflow: auto; padding-top: 1%; padding-bottom: 2%; } .page-main { @@ -843,13 +779,14 @@ border-bottom: 1px solid #e4dace; padding: 10px; display: flex; align-items: center; flex-wrap: wrap; } .category-main { width: 50%; margin-bottom: 10px; display: flex; align-items: center; span { font-family: Source Han Sans; @@ -897,7 +834,10 @@ } .el-checkbox { vertical-align: middle; font-family: "Tahoma"; width: 70%; vertical-align: middle; } /* 设置鼠标经过对勾框,对勾框边框的颜色 */ @@ -910,15 +850,12 @@ border-color: #d1d1d1; } ::v-deep .el-checkbox .el-checkbox__input.is-checked + .el-checkbox__label { ::v-deep .el-checkbox .el-checkbox__input.is-checked+.el-checkbox__label { color: #2c2c2c; } ::v-deep .el-checkbox .el-checkbox__input.is-checked .el-checkbox__inner, ::v-deep .el-checkbox .el-checkbox__input.is-indeterminate .el-checkbox__inner { ::v-deep .el-checkbox .el-checkbox__input.is-indeterminate .el-checkbox__inner { border-color: #8f7a5a; background-color: #8f7a5a; } @@ -1149,9 +1086,7 @@ border: 1px solid #cccccc; } :deep.msg-pagination-container.is-background .el-pager li:not(.disabled).active { :deep.msg-pagination-container.is-background .el-pager li:not(.disabled).active { /*当前选中页数的样式进行修改*/ background-color: #937950; color: #fff; src/views/chronology/index.vue
@@ -30,8 +30,14 @@ <div>其他</div> </div> </div> <div class="contentBox"> <div class="chartsBox" v-if="showList"> <div class="contentBox" element-loading-text="年谱加载中" element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0)" v-loading="!showList" > <div class="chartsBox"> <div class="chartsItemBox" v-for="(item, index) in contentList" @@ -78,6 +84,7 @@ </div> </div> </div> <div></div> </div> </div> </div> @@ -274,6 +281,13 @@ display: flex; align-items: end; overflow: auto; ::v-deep .el-loading-spinner .el-loading-text { font-size: 14px; color: #937950; } .chartsBox { white-space: nowrap; padding: 0 80px; @@ -429,4 +443,7 @@ right: 5px; z-index: 999; } ::v-deep .el-loading-spinner { color: #937950 !important; } </style> src/views/directory/index.vue
@@ -7,18 +7,27 @@ </div> <div class="page-main-father"> <div class="page-main-title"> <p @click="changeTab('chart')" :class="[activeTabs == 'chart' ? 'active-tab' : '']"> <img :src="[activeTabs == 'chart' ? chartIcon : noChartIcon]" alt="" /> <p @click="changeTab('chart')" :class="[activeTabs == 'chart' ? 'active-tab' : '']" > <img :src="[activeTabs == 'chart' ? chartIcon : noChartIcon]" alt="" /> <span>图表显示</span> </p> <p @click="changeTab('list')" :class="[activeTabs == 'list' ? 'active-tab' : '']"> <p @click="changeTab('list')" :class="[activeTabs == 'list' ? 'active-tab' : '']" > <img :src="[activeTabs == 'list' ? listIcon : noListIcon]" alt="" /> <span>列表显示</span> </p> </div> <!-- 图表显示 --> <div class="charts-main" v-if="activeTabs == 'chart'"> <div class="radial-tree-container"> <div class="radial-tree-container" v-show="!loading"> <div ref="chart" style="width: 100%; height: 70vh"></div> </div> @@ -32,33 +41,45 @@ </div> <transition name="el-fade-in-linear"> <div class="tooltipBox" v-show="tooltipShow"> <div style=" <div style=" padding: 10px; background: #fdf8f0; border-radius: 5px; width: 100%; max-height: 500px; text-align: center; "> " > <div class="closeBtn" @click="tooltipShow = false"> <i class="el-icon-close"></i> </div> <div style="display: flex"> <div style=" <div style=" width: 80px; height: 80px; position: relative; margin-bottom: 10px; background: #d8d8d8; "> <img class="autoImg" src="@/assets/images/directory/touxiang.png" alt="" /> " > <img class="autoImg" src="@/assets/images/directory/touxiang.png" alt="" /> </div> <div style="padding-top: 20px; text-align: left; margin-left: 20px"> <div style=" <div style="padding-top: 20px; text-align: left; margin-left: 20px" > <div style=" font-size: 16px; font-weight: bold; margin-bottom: 5px; "> " > {{ currentNodeInfo.name }} </div> <div style="margin-top: 20px"> @@ -68,13 +89,15 @@ </div> </div> <div style=" <div style=" font-size: 16px; font-weight: bold; margin-bottom: 5px; text-align: left; margin-top: 10px; "> " > <p style="margin-bottom: 15px">学习时间:1985.09 -1988.07</p> <p style="margin-bottom: 15px"> 现工作单位:北京中医药大学东方医院 @@ -87,11 +110,13 @@ 大弦嘈嘈如急雨,小弦切切如私语。嘈嘈切切错杂弹,大珠小珠落玉盘。间关莺语花底滑,幽咽泉流冰下难。冰泉冷涩弦凝绝,凝绝不通声暂歇。别有幽愁暗恨生,此时无声胜有声。银瓶乍破水浆迸,铁骑突出刀枪鸣。曲终收拨当心画,四弦一声如裂帛。东船西舫悄无言,唯见江心秋月白。 </p> </div> <div style=" <div style=" display: flex; justify-content: space-between; margin-top: 20px; "> " > <div style="text-align: left; width: 48%; line-height: 22px"> <p> 观夫明堂之宏壮也,则突兀瞳曨,乍明乍蒙,若大古元气之结空。巃嵸颓沓,若嵬若嶪,似天阃地门之开阖。尔乃划岝峉以岳立,郁穹崇而鸿纷。冠百王而垂勋,烛万象而腾文。窙惚恍以洞启,呼嵌岩而傍分。又比乎昆山之天柱,矗九霄而垂云。 @@ -108,20 +133,32 @@ <!-- 列表显示 --> <div class="page-main" v-if="activeTabs == 'list'"> <div v-loading="loading"> <div v-for="(item, index) in universityList" :key="index" > <div class="table-title" v-if="item.studentList && item.studentList.length > 0"> <div v-for="(item, index) in universityList" :key="index"> <div class="table-title" v-if="item.studentList && item.studentList.length > 0" > <div class="table-title-left"> <p class="table-title-name">{{ item.unitName }}</p> <p class="table-title-degree">{{ item.academicDegreeName }}</p> <p class="table-title-number">{{ item.studentList.length }}人</p> <p class="table-title-number"> {{ item.studentList.length }}人 </p> </div> <div class="table-title-right" @click="item.isShow = !item.isShow"> <div class="table-title-right" @click="item.isShow = !item.isShow" > <img :src="[item.isShow ? topIcon : bottomIcon]" alt="" /> </div> </div> <table cellpadding="100" v-if=" item.studentList && item.studentList.length > 0 && item.isShow " style="vertical-align: middle;"> <table cellpadding="100" v-if=" item.studentList && item.studentList.length > 0 && item.isShow " style="vertical-align: middle" > <tr class="table-heading"> <th>姓名</th> <th>性别</th> @@ -135,13 +172,25 @@ {{ citem.name }} </td> <td> {{ citem.gender == 'male' ? '男' : '女' }} {{ citem.gender == "male" ? "男" : "女" }} </td> <td>{{ citem.studyTime }}</td> <td>{{ citem.currentEmployer_secondary }}</td> <td>{{ citem.jobTitle === undefined || citem.jobTitle === '' ? '-' : citem.jobTitle }}</td> <td>{{ citem.professionalTitle === undefined || citem.professionalTitle === '' ? '-' : citem.professionalTitle }}</td> <td> {{ citem.jobTitle === undefined || citem.jobTitle === "" ? "-" : citem.jobTitle }} </td> <td> {{ citem.professionalTitle === undefined || citem.professionalTitle === "" ? "-" : citem.professionalTitle }} </td> </tr> </table> </div> @@ -175,29 +224,34 @@ activeTabs: "chart", universityList: [], chart: null, chartData: treeData, chartData: {}, currentNodeInfo: {}, tooltipShow: false, legendList: [ { color: "#87A7B9", name: "北京中医大学", value: "BUCM", }, { color: "#C48787", name: "北京师范大学", value: "BNU", }, { color: "#6F8F5A", name: "中国中医科学院", value: "CACMS", }, { color: "#937950", name: "广州中医药大学", value: "GZUCM", }, { color: "#8D77B3", name: "拜师弟子", value: "disciple", }, ], loading: false, @@ -206,12 +260,12 @@ mounted() { this.initChart(); window.addEventListener("resize", this.handleResize); this.getSelectData(); this.getStudentList(); window.addEventListener("resize", this.handleResize); }, beforeDestroy() { window.removeEventListener("resize", this.handleResize); // window.removeEventListener("resize", this.handleResize); if (this.chart) { this.chart.dispose(); } @@ -220,12 +274,6 @@ changeTab(key) { this.activeTabs = key; console.log(this.activeTabs, "activeTabs"); if (key == "chart") { this.$nextTick(() => { this.initChart(); window.addEventListener("resize", this.handleResize); }); } }, initChart() { this.chart = echarts.init(this.$refs.chart); @@ -237,7 +285,9 @@ formatter: (params) => { const data = params.data; this.currentNodeInfo = data; return ` if (data.cmsItemType == "student") { return ` <div style=" padding: 10px; background: #FDF8F0; @@ -249,9 +299,36 @@ <div style="width: 80px;height: 80px;position: relative; margin: 0 auto; margin-bottom: 10px;background: #D8D8D8;"> <img class="autoImg" src="${require("@/assets/images/directory/touxiang.png")}" alt=""> </div> <div style="font-size: 16px; font-weight: bold; margin-bottom: 5px;">${data.name }</div> <div> <span> 男 </span> <span> 硕士 </span> <span> 北京中医药大学 </span></div> <div style="font-size: 16px; font-weight: bold; margin-bottom: 5px;">${ data.name|| '-' }</div> <div> <span> ${data.gender == "male" ? "男" : "女" || '-'} </span> <span> ${data.academicName || '-'} </span> <span> ${ this.legendList.find((item) => item.value == data.unit)?.name || '-'} </span></div> <div style="font-size: 16px; font-weight: bold; margin-bottom: 5px;text-align: left;margin-top: 10px;overflow: hidden;"> <p style="margin-bottom: 5px;">学习时间:${data.studyTime || '-'}</p> <p style="margin-bottom: 5px; white-space: pre-wrap" >现工作单位:${data.currentEmployer_secondary || '-'}</p> <p style="margin-bottom: 5px;">职务:${data.jobTitle || '-'}</p> <p style="margin-bottom: 5px;">职称:${data.professionalTitle || '-'}</p> </div> </div> `; } else { return ` <div style=" padding: 10px; background: #FDF8F0; border-radius: 5px; max-width: 300px; width: 360px; text-align: center; "> <div style="width: 80px;height: 80px;position: relative; margin: 0 auto; margin-bottom: 10px;background: #D8D8D8;"> <img class="autoImg" src="${require("@/assets/images/directory/touxiang.png")}" alt=""> </div> <div style="font-size: 16px; font-weight: bold; margin-bottom: 5px;">${ data.name }</div> <div> <span> 测试 </span> <span> 硕士 </span> <span> 北京中医药大学 </span></div> <div style="font-size: 16px; font-weight: bold; margin-bottom: 5px;text-align: left;margin-top: 10px;"> <p style="margin-bottom: 5px;">学习时间:1985.09 -1988.07</p> <p style="margin-bottom: 5px;">现工作单位:北京中医药大学东方医院</p> @@ -261,6 +338,7 @@ </div> `; } }, }, textStyle: { @@ -333,17 +411,16 @@ // 同时发起两个异步请求,并等待它们的结果 const [unitListResult, academicDegreeListResult] = await Promise.all([ this.getSelectContent(this.unitRefCode), this.getSelectContent(this.academicDegreeRefCode) this.getSelectContent(this.academicDegreeRefCode), ]); this.unitList = unitListResult.option.map(item => { this.unitList = unitListResult.option.map((item) => { return { ...item, studentList: [] // 设置自定义字段的默认值 studentList: [], // 设置自定义字段的默认值 }; }); this.academicDegreeList = academicDegreeListResult.option; console.log(this.unitList, "unitList"); console.log(this.academicDegreeList, "academicDegreeList"); console.log(this.academicDegreeList, "this.academicDegreeList"); } catch (error) { console.error("获取下拉框数据失败:", error); } @@ -352,14 +429,17 @@ //获取选择内容 getSelectContent(refCode) { let requestData = { refCodes: [refCode] }; return MG.store.getProductTypeField(requestData).then(res => { console.log(res, '下拉框数据'); const selestList = JSON.parse(res[0].config) return selestList }).catch((error) => { console.error("获取荣誉失败:", error); return null }); return MG.store .getProductTypeField(requestData) .then((res) => { console.log(res, "下拉框数据"); const selestList = JSON.parse(res[0].config); return selestList; }) .catch((error) => { console.error("获取荣誉失败:", error); return null; }); }, // 获取列表显示 @@ -379,7 +459,7 @@ currentEmployer_secondary: "", //职务 jobTitle: "", professionalTitle:"", professionalTitle: "", //学位 academicDegree: "", // 学生简介 @@ -390,33 +470,54 @@ }, }) .then((res) => { let arrList = [] this.unitList.forEach(item => { this.academicDegreeList.forEach(citem => { let arrList = []; this.unitList.forEach((item) => { this.academicDegreeList.forEach((citem) => { arrList.push({ unitName: item.name, name: item.name, unitValue: item.value, academicDegreeName: citem.name, academicDegreeValue: citem.value, isShow: false, studentList:[] }) }) }) studentList: [], itemStyle: { color: this.legendList.find( (legendItem) => legendItem.value === item.value )?.color || "#000000", }, children: [], }); }); }); console.log(res, "res"); if (res.datas && res.datas.length) { res.datas.forEach(item => { arrList.forEach(citem => { if (item.unit == citem.unitValue && item.academicDegree == citem.academicDegreeValue){ res.datas.forEach((item) => { arrList.forEach((citem) => { if ( item.unit == citem.unitValue && item.academicDegree == citem.academicDegreeValue ) { item.academicName = this.academicDegreeList.find(f => f.value == item.academicDegree)?.name citem.studentList.push(item); citem.children.push(item); } }) }); }); arrList = arrList.filter(item => item.studentList.length ) arrList = arrList.filter((item) => item.studentList.length); console.log(arrList, "arrList"); this.universityList = arrList; // this.chartData.children = arrList; const temp_chartData = { name: "", children: arrList, }; this.chartData = temp_chartData; console.log(this.chartData, "this.chartData"); this.initChart(); this.loading = false; } }) @@ -522,7 +623,6 @@ background-color: #fff; background-clip: padding-box; border-bottom: 2px solid transparent; } th {