合并内容

pull/6/head
Endercad 2023-01-01 16:40:44 +08:00
commit b50a1323f9
13 changed files with 599 additions and 62 deletions

View File

@ -2,7 +2,7 @@ import request from '@/utils/request'
export function getPersonData(params) {
return request({
url: '/person/person-information2',
url: '/person/information2',
method: 'get',
params
})
@ -10,7 +10,7 @@ export function getPersonData(params) {
export function getPersonTag(params) {
return request({
url: '/person/person_tag',
url: '/person/tag',
method: 'get',
params
})
@ -79,3 +79,67 @@ export function getReviewRoutine(params) {
params
})
}
export function getAppraise(params) {
return request({
url: '/person/appraise',
method: 'get',
params
})
}
export function getHonor(params) {
return request({
url: '/person/honor',
method: 'get',
params
})
}
export function getAdvance(params) {
return request({
url: '/person/advance',
method: 'get',
params
})
}
export function getInnovation(params) {
return request({
url: '/person/innovation',
method: 'get',
params
})
}
export function getArticle(params) {
return request({
url: '/person/article',
method: 'get',
params
})
}
export function getActivity(params) {
return request({
url: '/person/activity',
method: 'get',
params
})
}
export function getRoutine(params) {
return request({
url: '/person/routine',
method: 'get',
params
})
}
export function getParty(params) {
return request({
url: '/person/party',
method: 'get',
params
})
}

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1672282048164" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4415" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M540.7 133.4l103.5 209.8c4.6 9.4 13.6 15.9 24 17.4l231.5 33.6c26.1 3.8 36.6 35.9 17.7 54.4L749.9 612c-7.5 7.3-10.9 17.9-9.2 28.2l39.5 230.6c4.5 26-22.9 45.9-46.2 33.6L526.9 795.5c-9.3-4.9-20.4-4.9-29.7 0l-207 108.9c-23.4 12.3-50.7-7.6-46.2-33.6l39.5-230.6c1.8-10.3-1.7-20.9-9.2-28.2L106.8 448.7c-18.9-18.4-8.5-50.6 17.7-54.4L356 360.7c10.4-1.5 19.4-8 24-17.4l103.5-209.8c11.7-23.7 45.5-23.7 57.2-0.1z" fill="#409eff" p-id="4416"></path></svg>

After

Width:  |  Height:  |  Size: 775 B

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1672129106572" class="icon" viewBox="0 0 1034 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="13034" xmlns:xlink="http://www.w3.org/1999/xlink" width="201.953125" height="200"><path d="M743.17312 681.10336c59.00288-59.07968 91.8784-137.12896 93.056-220.2368 0.256-1.63328 0.43008-3.29728 0.4352-5.00224V55.46496H199.1168v398.2336c-0.04608 0.72192-0.10752 1.43872-0.10752 2.17088 0 164.30592 124.95872 299.94496 284.8256 316.94848v129.7664H252.44672c-18.18624 0-32.97792 14.7968-32.97792 32.9728s14.79168 32.96768 32.97792 32.96768h297.33888v-195.47648c73.02144-7.2448 140.75904-39.24992 193.38752-91.94496zM264.99584 457.35424c0.02048-0.4608 0.07168-0.91136 0.07168-1.37728V121.5232h505.53856v330.72128a33.9456 33.9456 0 0 0-0.20992 3.62496c0 139.35104-113.37216 252.71808-252.71808 252.71808-138.8544 0-251.8784-112.56832-252.68224-251.23328z" p-id="13035" fill="#409eff"></path><path d="M654.83776 334.83264a38.22592 38.22592 0 0 0-30.75072-26.09152l-50.55488-7.36256-22.62528-45.9008a38.13376 38.13376 0 0 0-68.1984-0.10752l-22.62528 45.79328-50.33984 7.36256a38.016 38.016 0 0 0-21.3248 64.95232l36.59264 35.61472-8.66304 50.45248A38.12352 38.12352 0 0 0 471.56224 499.712l45.25056-23.71072 45.35808 23.71072a36.79232 36.79232 0 0 0 17.64352 4.33152 37.97504 37.97504 0 0 0 37.3504-44.4928l-8.66304-50.33984 36.37248-35.4048a37.66784 37.66784 0 0 0 9.96352-38.97344z m-95.0528 58.46016l10.17856 59.1104-53.04832-27.8272L463.872 452.4032l10.17856-59.1104-42.86976-41.68192 59.2128-8.65792 26.52672-53.69344 26.5216 53.69344 59.2128 8.65792-42.86976 41.68192zM613.48352 341.00736l-0.10752 0.10752 0.10752-0.10752zM803.52256 509.30176v-65.9456h10.24c54.94272 0 99.64544-44.6976 99.64544-99.64032s-44.6976-99.64032-99.64544-99.64032h-10.24V178.1248h10.24c91.3664 0 165.69856 74.33216 165.69856 165.69344-0.11264 91.25376-74.44992 165.48352-165.69856 165.48352h-10.24zM221.91616 509.30176c-91.3664 0-165.69856-74.33216-165.69856-165.69856s74.33216-165.69856 165.69856-165.69856h10.24v65.95072h-10.24c-54.94272 0-99.64032 44.6976-99.64032 99.64032s44.6976 99.64032 99.64032 99.64032h10.24v66.16576h-10.24zM817.01888 934.83008a33.69984 33.69984 0 0 1-33.69984 33.69984h-190.90944a33.69984 33.69984 0 1 1 0-67.4048h190.90944a33.69984 33.69984 0 0 1 33.69984 33.70496z" p-id="13036" fill="#409eff"></path></svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1672111313123" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7058" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M784.8 64.1H242.6c-30.7 0-55.7 24.9-55.7 55.7v180.5c0 18.6 9.3 36 24.8 46.3l177.1 117.9C306.6 509 250.6 596.1 250.6 696c0 145.1 118 263.1 263.1 263.1 145 0 263-118 263-263.1 0-99.9-56-186.9-138.2-231.5l177.1-117.9c15.5-10.3 24.8-27.7 24.8-46.3V119.8c0-30.8-24.9-55.7-55.6-55.7z m-63.8 632c0 114.6-92.8 207.4-207.4 207.4-114.6 0-207.4-92.8-207.4-207.4 0-114.5 92.8-207.4 207.4-207.4 114.6 0 207.4 92.9 207.4 207.4z m63.8-395.8L678.7 371V265c0-10.2-8.3-18.5-18.6-18.5-10.2 0-18.6 8.3-18.6 18.5v130.7l-66.9 44.6c-19.6-4.7-40-7.2-61-7.2s-41.4 2.6-61 7.2L384.5 395V265c0-10.2-8.3-18.5-18.6-18.5s-18.6 8.3-18.6 18.5v105.2l-104.9-69.9V119.8h104.9v49.7c0 10.2 8.3 18.6 18.6 18.6 10.2 0 18.6-8.3 18.6-18.6v-49.7h257v49.7c0 10.2 8.3 18.6 18.6 18.6s18.6-8.3 18.6-18.6v-49.7h106.1v180.5z" fill="#e6a23c" p-id="7059"></path><path d="M480.4 550.4L449.5 613l-69.1 10c-14 2-25.6 11.8-30 25.3-4.4 13.4-0.7 28.2 9.4 38.1l50 48.7-11.8 68.8c-2.4 13.9 3.3 28 14.8 36.3 6.5 4.7 14.1 7.1 21.8 7.1 5.9 0 11.8-1.4 17.3-4.3l61.8-32.5 61.8 32.5c5.4 2.8 11.4 4.3 17.3 4.3 7.7 0 15.3-2.4 21.8-7.1 11.4-8.3 17.2-22.4 14.8-36.3L617.5 735l50-48.8c10.1-9.9 13.8-24.6 9.4-38-4.4-13.4-16-23.2-30-25.3l-69.1-10-30.8-62.5c-6.3-12.7-19.2-20.7-33.3-20.7-14.1 0-27 8-33.3 20.7z m72.8 96.5l88.4 12.8-64 62.3 15.1 88-79-41.5-79 41.5 15.1-88-63.9-62.3 88.4-12.8 39.5-80.1 39.4 80.1z" fill="#e6a23c" p-id="7060"></path></svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1672111280527" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6806" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M784.8 64.1H242.6c-30.7 0-55.7 24.9-55.7 55.7v180.5c0 18.6 9.3 36 24.8 46.3l177.1 117.9C306.6 509 250.6 596.1 250.6 696c0 145.1 118 263.1 263.1 263.1 145 0 263-118 263-263.1 0-99.9-56-186.9-138.2-231.5l177.1-117.9c15.5-10.3 24.8-27.7 24.8-46.3V119.8c0-30.8-24.9-55.7-55.6-55.7z m-63.8 632c0 114.6-92.8 207.4-207.4 207.4-114.6 0-207.4-92.8-207.4-207.4 0-114.5 92.8-207.4 207.4-207.4 114.6 0 207.4 92.9 207.4 207.4z m63.8-395.8L678.7 371V265c0-10.2-8.3-18.5-18.6-18.5-10.2 0-18.6 8.3-18.6 18.5v130.7l-66.9 44.6c-19.6-4.7-40-7.2-61-7.2s-41.4 2.6-61 7.2L384.5 395V265c0-10.2-8.3-18.5-18.6-18.5s-18.6 8.3-18.6 18.5v105.2l-104.9-69.9V119.8h104.9v49.7c0 10.2 8.3 18.6 18.6 18.6 10.2 0 18.6-8.3 18.6-18.6v-49.7h257v49.7c0 10.2 8.3 18.6 18.6 18.6s18.6-8.3 18.6-18.6v-49.7h106.1v180.5z" fill="#f56c6c" p-id="6807"></path><path d="M480.4 550.4L449.5 613l-69.1 10c-14 2-25.6 11.8-30 25.3-4.4 13.4-0.7 28.2 9.4 38.1l50 48.7-11.8 68.8c-2.4 13.9 3.3 28 14.8 36.3 6.5 4.7 14.1 7.1 21.8 7.1 5.9 0 11.8-1.4 17.3-4.3l61.8-32.5 61.8 32.5c5.4 2.8 11.4 4.3 17.3 4.3 7.7 0 15.3-2.4 21.8-7.1 11.4-8.3 17.2-22.4 14.8-36.3L617.5 735l50-48.8c10.1-9.9 13.8-24.6 9.4-38-4.4-13.4-16-23.2-30-25.3l-69.1-10-30.8-62.5c-6.3-12.7-19.2-20.7-33.3-20.7-14.1 0-27 8-33.3 20.7z m72.8 96.5l88.4 12.8-64 62.3 15.1 88-79-41.5-79 41.5 15.1-88-63.9-62.3 88.4-12.8 39.5-80.1 39.4 80.1z" fill="#f56c6c" p-id="6808"></path></svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1672111395736" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="9490" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M784.8 64.1H242.6c-30.7 0-55.7 24.9-55.7 55.7v180.5c0 18.6 9.3 36 24.8 46.3l177.1 117.9C306.6 509 250.6 596.1 250.6 696c0 145.1 118 263.1 263.1 263.1 145 0 263-118 263-263.1 0-99.9-56-186.9-138.2-231.5l177.1-117.9c15.5-10.3 24.8-27.7 24.8-46.3V119.8c0-30.8-24.9-55.7-55.6-55.7z m-63.8 632c0 114.6-92.8 207.4-207.4 207.4-114.6 0-207.4-92.8-207.4-207.4 0-114.5 92.8-207.4 207.4-207.4 114.6 0 207.4 92.9 207.4 207.4z m63.8-395.8L678.7 371V265c0-10.2-8.3-18.5-18.6-18.5-10.2 0-18.6 8.3-18.6 18.5v130.7l-66.9 44.6c-19.6-4.7-40-7.2-61-7.2s-41.4 2.6-61 7.2L384.5 395V265c0-10.2-8.3-18.5-18.6-18.5s-18.6 8.3-18.6 18.5v105.2l-104.9-69.9V119.8h104.9v49.7c0 10.2 8.3 18.6 18.6 18.6 10.2 0 18.6-8.3 18.6-18.6v-49.7h257v49.7c0 10.2 8.3 18.6 18.6 18.6s18.6-8.3 18.6-18.6v-49.7h106.1v180.5z" fill="#67c23a" p-id="9491"></path><path d="M480.4 550.4L449.5 613l-69.1 10c-14 2-25.6 11.8-30 25.3-4.4 13.4-0.7 28.2 9.4 38.1l50 48.7-11.8 68.8c-2.4 13.9 3.3 28 14.8 36.3 6.5 4.7 14.1 7.1 21.8 7.1 5.9 0 11.8-1.4 17.3-4.3l61.8-32.5 61.8 32.5c5.4 2.8 11.4 4.3 17.3 4.3 7.7 0 15.3-2.4 21.8-7.1 11.4-8.3 17.2-22.4 14.8-36.3L617.5 735l50-48.8c10.1-9.9 13.8-24.6 9.4-38-4.4-13.4-16-23.2-30-25.3l-69.1-10-30.8-62.5c-6.3-12.7-19.2-20.7-33.3-20.7-14.1 0-27 8-33.3 20.7z m72.8 96.5l88.4 12.8-64 62.3 15.1 88-79-41.5-79 41.5 15.1-88-63.9-62.3 88.4-12.8 39.5-80.1 39.4 80.1z" fill="#67c23a" p-id="9492"></path></svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1672111436452" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="9742" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M784.8 64.1H242.6c-30.7 0-55.7 24.9-55.7 55.7v180.5c0 18.6 9.3 36 24.8 46.3l177.1 117.9C306.6 509 250.6 596.1 250.6 696c0 145.1 118 263.1 263.1 263.1 145 0 263-118 263-263.1 0-99.9-56-186.9-138.2-231.5l177.1-117.9c15.5-10.3 24.8-27.7 24.8-46.3V119.8c0-30.8-24.9-55.7-55.6-55.7z m-63.8 632c0 114.6-92.8 207.4-207.4 207.4-114.6 0-207.4-92.8-207.4-207.4 0-114.5 92.8-207.4 207.4-207.4 114.6 0 207.4 92.9 207.4 207.4z m63.8-395.8L678.7 371V265c0-10.2-8.3-18.5-18.6-18.5-10.2 0-18.6 8.3-18.6 18.5v130.7l-66.9 44.6c-19.6-4.7-40-7.2-61-7.2s-41.4 2.6-61 7.2L384.5 395V265c0-10.2-8.3-18.5-18.6-18.5s-18.6 8.3-18.6 18.5v105.2l-104.9-69.9V119.8h104.9v49.7c0 10.2 8.3 18.6 18.6 18.6 10.2 0 18.6-8.3 18.6-18.6v-49.7h257v49.7c0 10.2 8.3 18.6 18.6 18.6s18.6-8.3 18.6-18.6v-49.7h106.1v180.5z" fill="#409eff" p-id="9743"></path><path d="M480.4 550.4L449.5 613l-69.1 10c-14 2-25.6 11.8-30 25.3-4.4 13.4-0.7 28.2 9.4 38.1l50 48.7-11.8 68.8c-2.4 13.9 3.3 28 14.8 36.3 6.5 4.7 14.1 7.1 21.8 7.1 5.9 0 11.8-1.4 17.3-4.3l61.8-32.5 61.8 32.5c5.4 2.8 11.4 4.3 17.3 4.3 7.7 0 15.3-2.4 21.8-7.1 11.4-8.3 17.2-22.4 14.8-36.3L617.5 735l50-48.8c10.1-9.9 13.8-24.6 9.4-38-4.4-13.4-16-23.2-30-25.3l-69.1-10-30.8-62.5c-6.3-12.7-19.2-20.7-33.3-20.7-14.1 0-27 8-33.3 20.7z m72.8 96.5l88.4 12.8-64 62.3 15.1 88-79-41.5-79 41.5 15.1-88-63.9-62.3 88.4-12.8 39.5-80.1 39.4 80.1z" fill="#409eff" p-id="9744"></path></svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -35,10 +35,17 @@ const actions = {
commit('SET_TOKEN', response.token)
commit('SET_ID_CARD', username)
// 解码jwt 获得role
<<<<<<< HEAD
// let payload = response.token.split('.')[1]
// let data = JSON.parse(decodeURIComponent(escape(window.atob(payload))));
// let role = data.role
// commit('SET_ROLE', role)
=======
let payload = response.token.split('.')[1]
let data = JSON.parse(decodeURIComponent(escape(window.atob(payload))));
let role = data.role
commit('SET_ROLE', role)
>>>>>>> a025baf3ccfea2fef8bc69b80776e0c33d2153a5
// 存储到本地 关闭页面后,自动登录的功能还在考虑
// if (response.code == 0) {
// sessionStorage['zssr_token'] = response.token;

View File

@ -3,29 +3,199 @@
<div class="content-side">培训推荐</div>
<div class="content-main">
<div>
<div class="pp-block1-left" id="wordcloud_chart">
<!-- <div>
{{ personData["最高专业技术资格名称"] }}
{{ personData["最高专业技术资格等级"] }}
</div>
<div>
{{ personData["最高职业技能等级名称"] }}
{{ personData["最高职业技能等级级别"] }}
</div>
<div>待修改</div> -->
关键词云
</div>
<div class="pp-block1">
<div class="pp-block1-left" id="wordcloud_chart">关键词云</div>
<div class="pp-block1-right" id="radar_chart">人才评价</div>
</div>
<div class="pp-block2">
<div class="pp-block2-left">
<p class="item-title-p">个人经历</p>
<div class="item-content-div" style="margin-right: 10px"></div>
<div class="item-content-div">
<div class="tag-bar">
<span>工作经历</span>
<el-tag v-if="industryExperience"
>{{ industryExperience }}年工厂经验</el-tag
>
<el-tag v-if="jobExperience"
>{{ jobExperience }}年岗位经验</el-tag
>
</div>
<div class="tag-bar">
<span>教育经历</span>
<el-tag v-if="personData['']"
>全日制
{{ personData["全日制毕(肄)业学校(单位)名称"] }}</el-tag
>
<el-tag v-if="personData['']"
>全日制 {{ personData["全日制毕(肄)业专业名称"] }}</el-tag
>
<el-tag v-if="personData['']"
>在职 {{ personData["在职毕(肄)业学校(单位)名称"] }}</el-tag
>
<el-tag v-if="personData['']"
>在职 {{ personData["在职毕(肄)业专业名称"] }}</el-tag
>
</div>
<div class="tag-bar">
<span>知识技能</span>
<el-tag v-if="personData['']"
>{{ personData["最高专业技术资格等级"]
}}{{ personData["最高专业技术资格名称"] }}</el-tag
>
<el-tag v-if="personData['']"
>{{ personData["最高职业技能等级级别"]
}}{{ personData["最高职业技能等级名称"] }}</el-tag
>
</div>
</div>
</div>
<div class="pp-block2-right">
<p class="item-title-p">绩效</p>
<p class="item-title-p">考核</p>
<div class="item-content-div">
<div id="appraise_chart" style="height: 100%; width: 100%"></div>
</div>
</div>
</div>
<div class="pp-block2">
<div class="pp-block2-left height-350">
<p class="item-title-p">创新</p>
<div class="item-content-div">
<el-table
:data="innovationData"
max-height="250"
border
style="width: 90%; margin: 10px auto"
>
<el-table-column prop="year" label="年份" width="100" sortable>
</el-table-column>
<el-table-column prop="scale" label="范围" width="100">
</el-table-column>
<el-table-column prop="prize" label="奖项"> </el-table-column>
<el-table-column prop="grade" label="级别" width="80">
</el-table-column>
<el-table-column prop="item" label="项目名"> </el-table-column>
</el-table>
</div>
</div>
<div class="pp-block2-right height-350">
<p class="item-title-p">活动</p>
<div class="item-content-div">
<el-table
:data="activityData"
max-height="250"
border
style="width: 90%; margin: 10px auto"
>
<el-table-column
v-for="column in activityColumns"
:key="column.prop"
:prop="column.prop"
:label="column.label"
:width="column.width"
:sortable="column.sortable"
>
</el-table-column>
</el-table>
</div>
</div>
</div>
<div class="pp-block2">
<div class="pp-block2-left height-350">
<p class="item-title-p">事务</p>
<div class="item-content-div">
<el-table
:data="routineData"
max-height="250"
border
style="width: 90%; margin: 10px auto"
>
<el-table-column prop="action" label="动作" width="80">
</el-table-column>
<el-table-column prop="year" label="年份" width="100" sortable>
</el-table-column>
<el-table-column prop="scale" label="范围" width="100">
</el-table-column>
<el-table-column prop="name" label="事务名"> </el-table-column>
</el-table>
</div>
</div>
<div class="pp-block2-right height-350">
<p class="item-title-p">党务</p>
<div class="item-content-div">
<div
v-for="(value, key, index) in partyData"
:key="index"
class="honor-bar"
>
<svg-icon icon-class="" />
<el-tag>{{ value }}</el-tag>
</div>
</div>
</div>
</div>
<div class="pp-block2">
<div class="pp-block2-left">
<p class="item-title-p">荣誉</p>
<div class="item-content-div">
<div
v-for="(value, key, index) in honorData"
:key="index"
class="honor-bar"
>
<svg-icon :icon-class="getHonorIconName(value)" />
<el-tag :type="getHonorTagType(value)">{{ value }}</el-tag>
</div>
</div>
</div>
<div class="pp-block2-right">
<p class="item-title-p">年度先进</p>
<div class="item-content-div">
<div
v-for="(value, key, index) in advanceData"
:key="index"
class="honor-bar"
>
<svg-icon icon-class="" />
<el-tag>{{ value }}</el-tag>
</div>
</div>
</div>
</div>
<div class="pp-block2">
<div class="pp-block2-left height-350">
<p class="item-title-p">论文</p>
<div class="item-content-div">
<el-table
:data="articleData"
max-height="250"
border
style="width: 90%; margin: 10px auto"
>
<el-table-column prop="year" label="年份" width="100" sortable>
</el-table-column>
<el-table-column prop="role" label="角色" width="100">
</el-table-column>
<el-table-column prop="title" label="标题"> </el-table-column>
<el-table-column prop="publication_name" label="刊物名称">
</el-table-column>
<el-table-column
prop="publication_type"
label="刊物类别"
width="100"
>
</el-table-column>
<el-table-column prop="status" label="状态" width="80">
</el-table-column>
</el-table>
</div>
</div>
<div class="pp-block2-right height-350">
<p class="item-title-p">项目</p>
<div class="item-content-div"></div>
</div>
</div>
@ -37,37 +207,217 @@
import * as echarts from "echarts";
import "echarts-wordcloud";
import * as personApi from "@/api/person";
export default {
props: ["data"],
data() {
return {
personData: this.data,
wordcloudData: [
{ name: "女", value: 1 },
{ name: "三连优秀", value: 90 },
{ name: "学士", value: 40 },
{ name: "大学", value: 40 },
{ name: "90后", value: 1 },
{ name: "兴趣盎然", value: 24 },
{ name: "初出茅庐", value: 10 },
{ name: "中共党员", value: 25 },
{ name: "本省人", value: 1 },
{ name: "三次优秀", value: 90 },
{ name: "文思敏捷", value: 70 },
{ name: "新党员", value: 25 },
{ name: "运动达人", value: 24 },
{ name: "初来乍到", value: 20 },
{ name: "四级电工", value: 80 },
{ name: "优秀员工", value: 90 },
{ name: "积极踊跃", value: 8 },
{ name: "创新达人", value: 90 },
{ name: "初级助理工程师", value: 80 },
],
wordcloudData: [],
radarData: [],
appraiseData: {},
honorData: [],
advanceData: [],
innovationData: [],
articleData: [],
activityData: [],
routineData: [],
partyData: [],
};
},
mounted() {
this.showRadarChart();
this.showWordCloud();
if (!this.personData.hasOwnProperty("姓名")) {
return;
}
//
personApi
.getPersonTag({
query: this.$store.state.user.id_card,
})
.then(
(res) => {
this.wordcloudData = res.data.wordcloud;
this.radarData = res.data.radar;
this.showWordCloud();
this.showRadarChart();
},
(err) => {
console.log("err", err);
}
);
//
personApi
.getAppraise({
id_card: this.$store.state.user.id_card,
})
.then(
(res) => {
let resData = res.data;
let xAxisData = [],
yAxisData = [],
nameData = [];
let appraiseMap = {
不确定等次: 0,
不合格: 1,
不称职: 1,
基本合格: 2,
基本称职: 2,
合格: 3,
称职: 3,
优秀: 4,
};
//
for (let year in resData) {
xAxisData.push(year);
let appraiseValue = resData[year];
if (appraiseValue in appraiseMap) {
yAxisData.push(appraiseMap[appraiseValue]);
} else {
yAxisData.push(0);
}
nameData.push(appraiseValue);
}
this.appraiseData = {
xAxis: xAxisData,
yAxis: yAxisData,
name: nameData,
};
this.showAppraiseChart();
},
(err) => {
console.log("err", err);
}
);
//
personApi.getHonor({ id_card: this.$store.state.user.id_card }).then(
(res) => {
this.honorData = res.data;
},
(err) => {
console.log("err", err);
}
);
//
personApi.getAdvance({ id_card: this.$store.state.user.id_card }).then(
(res) => {
let advanceData = res.data;
//
function sortByTime(x, y) {
let numX = parseInt(x),
numY = parseInt(y);
return numY - numX;
}
advanceData.sort(sortByTime);
this.advanceData = advanceData;
},
(err) => {
console.log("err", err);
}
);
//
personApi.getInnovation({ id_card: this.$store.state.user.id_card }).then(
(res) => {
this.innovationData = res.data;
},
(err) => {
console.log("err", err);
}
);
//
personApi.getArticle({ id_card: this.$store.state.user.id_card }).then(
(res) => {
this.articleData = res.data;
},
(err) => {
console.log("err", err);
}
);
//
personApi.getActivity({ id_card: this.$store.state.user.id_card }).then(
(res) => {
this.activityData = res.data;
},
(err) => {
console.log("err", err);
}
);
//
personApi.getRoutine({ id_card: this.$store.state.user.id_card }).then(
(res) => {
this.routineData = res.data;
},
(err) => {
console.log("err", err);
}
);
//
personApi.getParty({ id_card: this.$store.state.user.id_card }).then(
(res) => {
let partyData = res.data;
//
function sortByTime(x, y) {
let numX = parseInt(x),
numY = parseInt(y);
return numY - numX;
}
partyData.sort(sortByTime);
this.partyData = partyData;
},
(err) => {
console.log("err", err);
}
);
},
computed: {
industryExperience() {
return this.getAge(this.personData["进入行业时间"]);
},
jobExperience() {
return this.getAge(this.personData["现岗位起始时间"]);
},
activityColumns() {
let columns = [
{
prop: "year",
label: "年份",
width: "100",
sortable: true,
},
{
prop: "name",
label: "活动名",
},
{
prop: "item",
label: "项目名",
},
{
prop: "grade",
label: "级别",
width: "80",
},
];
//
if (this.activityData.length > 0) {
let row = this.activityData[0];
if ("prize" in row) {
columns.push({ prop: "prize", label: "奖品" });
}
if ("role" in row) {
columns.push({ prop: "role", label: "角色", width: "80" });
}
}
return columns;
},
},
methods: {
showRadarChart() {
@ -79,11 +429,13 @@ export default {
title: {
text: "",
},
color: ["#5470c6", "#91cc75"],
legend: {
data: ["个人", "全员平均"],
},
tooltip: {},
radar: {
shape: "circle",
// shape: "circle",
indicator: [
// { name: "", max: 100 },
{ name: "工作能力", max: 100 },
@ -97,16 +449,7 @@ export default {
{
name: "员工表现雷达图",
type: "radar",
data: [
{
value: [49, 45, 34, 20, 78],
name: "个人",
},
{
value: [33, 73, 21, 22, 57],
name: "全员平均",
},
],
data: this.radarData,
},
],
};
@ -158,6 +501,95 @@ export default {
],
});
},
getAge(birthday) {
//
let birthDayTime = new Date(birthday).getTime();
if (birthDayTime !== birthDayTime) {
// NaN
return null;
}
//
let nowTime = new Date().getTime();
//(365 * 86400000 = 31536000000)
return Math.ceil((nowTime - birthDayTime) / 31536000000);
},
showAppraiseChart() {
let myChart = echarts.init(document.getElementById("appraise_chart"));
let option = {
tooltip: {
trigger: "axis",
formatter: (params) => {
let year = params[0]["name"];
let value = params[0]["value"];
let yearIndex = this.appraiseData["xAxis"].indexOf(year);
let name = this.appraiseData["name"][yearIndex];
return `${name}: ${value}`;
},
},
xAxis: {
type: "category",
data: this.appraiseData["xAxis"],
},
yAxis: {
type: "value",
},
grid: {
top: "6%",
left: "1%",
right: "1%",
bottom: "1%",
containLabel: true,
},
dataZoom: [
{
type: "inside",
start: 0,
end: 100,
},
],
series: [
{
data: this.appraiseData["yAxis"],
type: "line",
},
],
};
myChart.setOption(option);
},
getHonorTagType(value) {
if (value.includes("全国")) {
//
return "danger";
}
if (value.includes("省级")) {
//
return "warning";
}
if (value.includes("州级")) {
//
return "";
}
if (value.includes("厂级")) {
// 绿
return "success";
}
return "";
},
getHonorIconName(value) {
if (value.includes("全国")) {
return "红色勋章";
}
if (value.includes("省级")) {
return "橙色勋章";
}
if (value.includes("州级")) {
return "蓝色勋章";
}
if (value.includes("厂级")) {
return "绿色勋章";
}
return "蓝色勋章";
},
},
};
</script>
@ -181,6 +613,10 @@ export default {
float: right;
}
.pp-block1 {
overflow: hidden;
}
.pp-block1-left {
float: left;
margin-right: 1%;
@ -198,6 +634,7 @@ export default {
.pp-block2 {
margin-top: 0px;
/* overflow: hidden; */
}
.pp-block2-left {
@ -215,12 +652,8 @@ export default {
width: 50%;
}
.pp-half-block2 {
display: inline-block;
/* border: 1px #e4e7ed solid; */
/* box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); */
height: 200px;
width: 50%;
.height-350 {
height: 350px;
}
.item-title-p {
@ -233,5 +666,24 @@ export default {
width: 100%;
height: 80%;
border: 1px #e4e7ed solid;
margin-right: 10px;
}
.tag-bar {
margin: 10px 0px 0px 10px;
}
.honor-bar {
margin: 10px 0px 0px 10px;
}
</style>
<style>
.tag-bar > .el-tag {
margin-left: 10px;
}
.honor-bar > .el-tag {
margin-left: 10px;
}
</style>

View File

@ -124,7 +124,8 @@ export default {
personData: this.data,
};
},
mounted() {},
mounted() {
},
computed: {
workAge: function () {
return this.getAge(this.personData.参加工作时间);

View File

@ -33,7 +33,7 @@
<el-tab-pane label="个人信息" name="ComPersonInformation"></el-tab-pane>
<el-tab-pane label="人事变动记录" name="ComChange"></el-tab-pane>
</el-tabs>
<component :is="comName" :data="personData"></component>
<component :is="comName" :data="personData" :key="personData['证件号码']"></component>
</el-container>
</template>
@ -56,12 +56,12 @@ export default {
data() {
return {
comName: "ComPersonPicture",
personData: null,
personData: {},
avatarUrl: require("@/assets/images/女.png")
};
},
mounted() {
//
//
personApi.getPersonData({
"id_card": this.$store.state.user.id_card
}).then(
@ -73,6 +73,8 @@ export default {
console.log('err:', err);
}
)
},
computed: {
personAge() {

View File

@ -559,7 +559,7 @@
<p>
厂里累计有
{{ totalPersonProjectNum }}
人负责过项目最多有人负责过7次项目
人负责过项目最多有人负责过5次项目
</p>
<p>
立项最多的年份是2021年共计13个项目立项最少的年份是2022年仅1个项目

View File

@ -39,11 +39,16 @@ module.exports = {
proxy: {
'/': {
// target: 'http://127.0.0.1:4523/m1/1256020-0-default/',
<<<<<<< HEAD
// target: 'http://127.0.0.1:8000',
// target: 'http://192.168.31.102:8000',
// target: 'http://222.20.95.239:8000',
target: 'http://127.0.0.1:4523/m1/1256020-0-default',
// target: 'http://127.0.0.1:8123',
=======
// target: 'http://222.20.95.239:8000',
target: 'http://127.0.0.1:8123',
>>>>>>> a025baf3ccfea2fef8bc69b80776e0c33d2153a5
changeOrigin: true,
pathRewrite: {
}