-
-
- 关键词云
-
+
个人经历
-
+
+
+ 工作经历
+ {{ industryExperience }}年工厂经验
+ {{ jobExperience }}年岗位经验
+
+
+ 教育经历
+ 全日制
+ {{ personData["全日制毕(肄)业学校(单位)名称"] }}
+ 全日制 {{ personData["全日制毕(肄)业专业名称"] }}
+ 在职 {{ personData["在职毕(肄)业学校(单位)名称"] }}
+ 在职 {{ personData["在职毕(肄)业专业名称"] }}
+
+
+ 知识技能
+ {{ personData["最高专业技术资格等级"]
+ }}{{ personData["最高专业技术资格名称"] }}
+ {{ personData["最高职业技能等级级别"]
+ }}{{ personData["最高职业技能等级名称"] }}
+
+
+
+
+
+
+
创新
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
事务
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
论文
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -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 "蓝色勋章";
+ },
},
};
@@ -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;
+}
+
+
+
\ No newline at end of file
diff --git a/src/views/person/components/WorkInformation.vue b/src/views/person/components/WorkInformation.vue
index 0fe90e4..43a7331 100644
--- a/src/views/person/components/WorkInformation.vue
+++ b/src/views/person/components/WorkInformation.vue
@@ -124,7 +124,8 @@ export default {
personData: this.data,
};
},
- mounted() {},
+ mounted() {
+ },
computed: {
workAge: function () {
return this.getAge(this.personData.参加工作时间);
diff --git a/src/views/person/information.vue b/src/views/person/information.vue
index ad22423..f660887 100644
--- a/src/views/person/information.vue
+++ b/src/views/person/information.vue
@@ -33,7 +33,7 @@
-
+
@@ -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() {
diff --git a/src/views/person/review.vue b/src/views/person/review.vue
index 0a400eb..433ea92 100644
--- a/src/views/person/review.vue
+++ b/src/views/person/review.vue
@@ -559,7 +559,7 @@
厂里累计有
{{ totalPersonProjectNum }}
- 人负责过项目,最多有人负责过7次项目。
+ 人负责过项目,最多有人负责过5次项目。
立项最多的年份是2021年,共计13个项目;立项最少的年份是2022年,仅1个项目。
diff --git a/vue.config.js b/vue.config.js
index f2d4622..1ac3c11 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -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: {
}