当日面试
-
-
-
+
+
+
- 张三
- 男
+ {{row.fullName}}
+ {{ row.sex }}
32
-
-
+
+
- 西南石油大学
- 计算机科学与技术
- 本科
+ {{ row.byyx }}
+ {{ row.zhuanye }}
+ {{ row.xueli }}
- 2022/11/23 17:20
+
+ {{ row.AnswerTime | dateTimeFilter('yyyy/MM/dd HH:mm') }}
+
-
- 面试前端岗位
+
@@ -87,7 +118,13 @@
import { GetQuestionTotal, GetTestPaperTotal } from "@/api/index";
import { OrderGetPriceNumber } from "@/api/order.js";
import { mapGetters } from "vuex";
-import { GetUserList } from "@/api/user";
+import { GetUserList, GetCompanyInvitation } from "@/api/user";
+
+import {
+ GetEducationalBackgroundDistribution,
+ GetInterviewProgress,
+ GetSameDayInterview,
+} from "@/api/dashboard";
import { GetInfo } from "@/api/setting";
@@ -97,66 +134,69 @@ export default {
data() {
return {
currentDate: new Date(),
+
+ invitationList: [], //面试邀请
+
staList: [
{
title: "入库/人",
- count: 198,
+ val:'入库',
+ count: 0,
icon: "/static/images/index/icon1.png",
},
{
title: "面试邀请/人",
- count: 123,
+ val:'面试邀请',
+ count: 0,
icon: "/static/images/index/icon2.png",
},
{
title: "正在面试/人",
- count: 21,
+ val:'未完成面试',
+ count: 0,
icon: "/static/images/index/icon3.png",
},
{
title: "面试完成/人",
- count: 100,
+ val:'面试完成',
+ count: 0,
icon: "/static/images/index/icon4.png",
},
{
title: "线下面试/人",
- count: 98,
+ val:'线下面试',
+ count: 0,
icon: "/static/images/index/icon5.png",
},
{
title: "已录用/人",
- count: 898,
+ val:'已录用',
+ count: 0,
icon: "/static/images/index/icon6.png",
},
{
title: "未录用/人",
- count: 1088,
+ val:'未录用',
+ count: 0,
icon: "/static/images/index/icon7.png",
},
- { title: "禁用/人", count: 39, icon: "/static/images/index/icon8.png" },
+ { title: "禁用/人",val:'禁用', count: 0, icon: "/static/images/index/icon8.png" },
],
- userList: [{}, {}, {}, {}, {}, {} ],
echartOption1: {
legend: {
top: "bottom",
},
+ tooltip: {
+ trigger: "item",
+ },
series: [
{
name: "学历分布",
type: "pie",
radius: [0, "80%"],
center: ["50%", "50%"],
- roseType: "area",
- data: [
- { value: 40, name: "博士" },
- { value: 38, name: "硕士" },
- { value: 32, name: "本科" },
- { value: 30, name: "大专" },
- { value: 28, name: "中专" },
- { value: 26, name: "高中" },
- { value: 22, name: "初中" },
- { value: 18, name: "小学" },
- ],
+ // roseType: "area",
+ data: [],
},
],
},
@@ -170,17 +210,11 @@ export default {
type: "category",
axisLabel: {
color: "#999999",
+ interval:0,
fontSize: 16,
},
data: [
- "入库",
- "面试邀请",
- "正在面试",
- "面试完成",
- "线下面试",
- "已录用",
- "未录用",
- "禁用",
+
],
},
yAxis: {
@@ -188,7 +222,7 @@ export default {
},
series: [
{
- data: [120, 150, 150, 80, 70, 110, 130, 90],
+ data: [],
type: "bar",
label: {
show: true,
@@ -206,6 +240,9 @@ export default {
],
},
+ //当日面试
+ toDayInterviewUsers:[],
+
isAdmin: false,
imageUrl: "",
total: {
@@ -223,8 +260,19 @@ export default {
},
computed: {
...mapGetters(["name"]),
+ hasInvitationComputed() {
+ return (date, data) => {
+ if (!this.invitationList.length) {
+ return [];
+ }
+ return this.invitationList.filter((t) => t.startTime == data.day);
+ };
+ },
+ },
+ created() {
+ this.initInvitations();
+ this.initToDayInterviewUsers();
},
- created() {},
mounted() {
try {
if (this.$store.state.user.userInfo.UserType == 0) this.isAdmin = true;
@@ -233,17 +281,65 @@ export default {
this.GetTotalHeadler();
},
methods: {
+ initToDayInterviewUsers(){
+ GetSameDayInterview().then(res=>{
+ this.toDayInterviewUsers = res.data;
+ })
+ },
+ initInvitations() {
+ GetCompanyInvitation({
+ PageIndex: 1,
+ PageSize: 10000,
+ }).then((res) => {
+ console.log("GetCompanyInvitation", res);
+ this.invitationList = res.data.data.list;
+ });
+ },
initEchart() {
this.initEchartXueli();
this.initEchartJindu();
},
initEchartXueli() {
let myChart = echarts.init(document.getElementById("echart1"));
- myChart.setOption(this.echartOption1);
+ GetEducationalBackgroundDistribution().then((res) => {
+ console.log("GetEducationalBackgroundDistribution", res);
+ let list = res.data.map((t) => {
+ t.name = !t.name ? "未知" : t.name;
+ return t;
+ });
+ this.echartOption1.series[0].data = list.map((t) => {
+ return {
+ name: t.name,
+ value: t.count,
+ };
+ });
+ myChart.setOption(this.echartOption1);
+ });
},
initEchartJindu() {
let myChart = echarts.init(document.getElementById("echart2"));
- myChart.setOption(this.echartOption2);
+ GetInterviewProgress().then((res) => {
+ console.log("GetInterviewProgress", res);
+ let list = res.data;
+ this.echartOption2.series[0].data = list.map((t) => {
+ return {
+ name: t.name,
+ value: t.count,
+ };
+ });
+ this.echartOption2.xAxis.data = list.map(t=>t.name);
+ myChart.setOption(this.echartOption2);
+
+ //右边统计数据
+ list.forEach(item=>{
+ let index = this.staList.findIndex(t=>t.val == item.name);
+ if(index){
+ this.staList[index].count = item.count;
+ }
+ })
+
+ });
+
},
init() {
var _this = this;
@@ -276,49 +372,49 @@ export default {