Commit 7010d508 authored by 赵啸非's avatar 赵啸非

Merge remote-tracking branch 'origin/master'

parents 232e389a c118e33d
......@@ -48,30 +48,40 @@
<div class="content_top">
<p class="content_text">
<span class="txt">初始扣分</span
><span class="txt_num">9856241</span>
><span class="txt_num">{{
yearRecordAll.initScore || "--"
}}</span>
</p>
<p class="content_text">
<span class="txt">核查扣分</span
><span class="txt_num">9856241</span>
<span class="txt_small">占比:87.21%</span>
><span class="txt_num">{{
yearRecordAll.checkScore || "--"
}}</span>
<span class="txt_small"
>占比:{{ yearRecordAll.checkPercent || "--" }}</span
>
</p>
<p class="content_text">
<span class="txt">申诉分值</span
><span class="txt_num">9856241</span>
<span class="txt_small">占比:87.21%</span>
><span class="txt_num">{{
yearRecordAll.appealScore || "--"
}}</span>
<span class="txt_small"
>占比:{{ yearRecordAll.appealPercent || "--" }}</span
>
</p>
<p class="content_text">
<span class="txt">累计扣分</span
><span class="txt_num">9856241</span>
><span class="txt_num">{{ yearRecordAll.total || "--" }}</span>
</p>
</div>
<div class="content_down">
<div class="down_left">
<div class="num">+65.32%</div>
<div class="num">{{ yearRecordAll.huanbi || "暂无环比" }}</div>
<p class="down_text">环比增长率</p>
</div>
<div class="down_right">
<div class="num">+65.32%</div>
<div class="num">{{ yearRecordAll.tongbi || "暂无同比" }}</div>
<p class="down_text">同比增长率</p>
</div>
</div>
......@@ -83,30 +93,40 @@
<div class="content_top">
<p class="content_text">
<span class="txt">初始扣分</span
><span class="txt_num">9856241</span>
><span class="txt_num">{{
monthRecordAll.initScore || "--"
}}</span>
</p>
<p class="content_text">
<span class="txt">核查扣分</span
><span class="txt_num">9856241</span>
<span class="txt_small">占比:87.21%</span>
><span class="txt_num">{{
monthRecordAll.checkScore || "--"
}}</span>
<span class="txt_small"
>占比:{{ monthRecordAll.checkPercent || "--" }}</span
>
</p>
<p class="content_text">
<span class="txt">申诉分值</span
><span class="txt_num">9856241</span>
<span class="txt_small">占比:87.21%</span>
><span class="txt_num">{{
monthRecordAll.appealScore || "--"
}}</span>
<span class="txt_small"
>占比:{{ monthRecordAll.appealPercent || "--" }}</span
>
</p>
<p class="content_text">
<span class="txt">累计扣分</span
><span class="txt_num">9856241</span>
><span class="txt_num">{{ monthRecordAll.total || "--" }}</span>
</p>
</div>
<div class="content_down">
<div class="down_left">
<div class="num">+65.32%</div>
<div class="num">{{ monthRecordAll.huanbi || "暂无环比" }}</div>
<p class="down_text">环比增长率</p>
</div>
<div class="down_right">
<div class="num">+65.32%</div>
<div class="num">{{ monthRecordAll.tongbi || "暂无同比" }}</div>
<p class="down_text">同比增长率</p>
</div>
</div>
......@@ -118,30 +138,40 @@
<div class="content_top">
<p class="content_text">
<span class="txt">初始扣分</span
><span class="txt_num">9856241</span>
><span class="txt_num">{{
dayRecordAll.initScore || "--"
}}</span>
</p>
<p class="content_text">
<span class="txt">核查扣分</span
><span class="txt_num">9856241</span>
<span class="txt_small">占比:87.21%</span>
><span class="txt_num">{{
dayRecordAll.checkScore || "--"
}}</span>
<span class="txt_small"
>占比:{{ dayRecordAll.checkPercent || "--" }}</span
>
</p>
<p class="content_text">
<span class="txt">申诉分值</span
><span class="txt_num">9856241</span>
<span class="txt_small">占比:87.21%</span>
><span class="txt_num">{{
dayRecordAll.appealScore || "--"
}}</span>
<span class="txt_small"
>占比:{{ dayRecordAll.appealPercent || "--" }}</span
>
</p>
<p class="content_text">
<span class="txt">累计扣分</span
><span class="txt_num">9856241</span>
><span class="txt_num">{{ dayRecordAll.total || "--" }}</span>
</p>
</div>
<div class="content_down">
<div class="down_left">
<div class="num">+65.32%</div>
<div class="num">{{ dayRecordAll.huanbi || "暂无环比" }}</div>
<p class="down_text">环比增长率</p>
</div>
<div class="down_right">
<div class="num">+65.32%</div>
<div class="num">{{ dayRecordAll.tongbi || "暂无同比" }}</div>
<p class="down_text">同比增长率</p>
</div>
</div>
......@@ -152,31 +182,27 @@
<div class="down_content">
<img class="content_title" src="../../../assets/images/title.png" />
<div style="margin: 20px 0">
<el-radio-group v-model="type" border>
<el-radio-button label="1">部门评估</el-radio-button>
<el-radio-button label="2">个人评估</el-radio-button>
<el-radio-group v-model="form.type" border>
<el-radio-button :label="1">部门评估</el-radio-button>
<el-radio-button :label="2">个人评估</el-radio-button>
</el-radio-group>
</div>
<div class="form">
<el-form ref="form" :model="form" label-width="100px">
<el-form-item label="请选择部门:">
<el-select
v-model="form.region"
v-model="form.dept"
placeholder="请选择部门"
style="width: 100%"
>
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
<el-option
v-for="v in deptList"
:key="v.id"
:label="v.deptName"
:value="v.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="请选择时间:">
<el-date-picker
type="date"
placeholder="选择日期"
v-model="form.date1"
style="width: 100%"
></el-date-picker>
</el-form-item>
<el-form-item label="请选择类型:" style="text-align: left">
<el-radio-group v-model="form.resource">
<el-radio :label="1">按年</el-radio>
......@@ -184,6 +210,36 @@
<el-radio :label="3">按天</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="请选择时间:">
<el-date-picker
v-if="form.resource == 1"
type="year"
value-format="yyyy"
placeholder="选择日期"
v-model="form.year"
style="width: 100%"
></el-date-picker>
<el-date-picker
v-else-if="form.resource == 2"
type="month"
value-format="MM"
placeholder="选择日期"
v-model="form.month"
style="width: 100%"
></el-date-picker>
<el-date-picker
v-else
v-model="form.day"
value-format="yyyy-MM-DD"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
style="width: 100%"
>
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button
type="primary"
......@@ -262,39 +318,45 @@ export default {
personageAttTopDate: 2, // 个人绩效排名top搜索
appealDate: 2, // 申诉分值分布搜索
form: {
date1: "",
type: [],
resource: "",
type: 1,
dept: "",
resource: 1,
year: "",
month: "",
day: [],
},
config: {}, //部门绩效总分top10
personConfig: {}, //个人绩效总分top10
// 个人绩效总分排名
staffQuery: {
page: 1,
size: 10,
},
// 部门
depQuery: {
page: 1,
size: 10,
size: -1,
},
deptList: [], // 部门列表
leidaEchart: null, // 异常分值分布情况echart实例
rulePie: null, // 绩效规则分布echart实例
shensuPie: null, // 申诉分值分布情况echart实例
recordPie: null, // 反馈记录整体情况echart实例
timer: null,
yearRecordAll: {}, // 今年分值
monthRecordAll: {}, // 本月分值
dayRecordAll: {}, // 今日分值
};
},
created() {
this.getDeptList();
this.getYearRecordAll();
this.getMonthRecordAll();
},
mounted() {
this.staffStatList();
this.getException();
this.depStatList();
this.getAttendanceRules();
this.getFeedback();
this.autoUpdata();
this.getAppealTotal();
// 定时器刷新数据
this.autoUpdata();
},
methods: {
......@@ -305,6 +367,40 @@ export default {
this.shensuPie && this.shensuPie.resize();
this.recordPie && this.recordPie.resize();
},
// 获取部门列表
getDeptList() {
this.$post("/dept/list", this.depQuery).then((res) => {
const { code, data } = res;
if (code == 1) {
this.deptList = data.data;
}
});
},
// 获取今年分值
async getYearRecordAll() {
this.yearRecordAll = await this.getRecordAll(1);
},
// 获取本月分值
async getMonthRecordAll() {
this.monthRecordAll = await this.getRecordAll(2);
},
// 获取今日分值
async getDayRecordAll() {
this.dayRecordAll = await this.getRecordAll(3);
},
// 获取分值情况
async getRecordAll(summaryType) {
let obj = {};
await this.$post("/check/all/record/score/summary", {
summaryType,
}).then((res) => {
const { code, data } = res;
if (code == 1) {
obj = data;
}
});
return obj;
},
// 个人绩效总分排名
staffStatList() {
this.$post("/staff/perform/stat/summary/top", {
......@@ -332,9 +428,7 @@ export default {
let names = data.map((v) => v.name);
let add = data.map((v) => v.add);
let sub = data.map((v) => v.sub);
this.$nextTick(() => {
this.drawLeiDa(names, add, sub);
});
this.drawLeiDa(names, add, sub);
}
});
},
......@@ -369,9 +463,7 @@ export default {
value: v.score,
};
});
this.$nextTick(() => {
this.drawRulePie(arr, totalScore);
});
this.drawRulePie(arr, totalScore);
}
});
},
......@@ -383,9 +475,7 @@ export default {
let { notStart, total, ended, progress } = data;
let names = ["未开始", "进行中", "已完结", "全部问卷"];
let values = [notStart, progress, ended, total];
this.$nextTick(() => {
this.drawRecordPie(names, values);
});
this.drawRecordPie(names, values);
}
});
},
......@@ -394,12 +484,16 @@ export default {
this.$post("/perform/attend/appeal/perform/summary", {
summaryType: this.appealDate,
}).then((res) => {
const { code, data } = res;
if (code == 1) {
console.log(res);
// this.$nextTick(() => {
// });
if (res.code == 1) {
const { dict, data } = res;
let { performType } = dict;
let params = data.data.map((v) => {
return {
name: this.filterDict(v.performType, performType),
value: v.score,
};
});
this.drawCorePie(params);
}
});
},
......@@ -574,7 +668,7 @@ export default {
window.addEventListener("resize", this.adapterEcharts);
},
// 申诉分值分布情况echarts
drawCorePie() {
drawCorePie(data = []) {
let chartDom = document.getElementById("shensuPie");
// 避免刷新数据时重新初始化图表
this.shensuPie = this.$echarts.getInstanceByDom(chartDom);
......@@ -617,15 +711,15 @@ export default {
},
formatter: (name) => {
// formatter格式化函数动态呈现数据
var total = 0; // 用于计算总数
var target; // 遍历拿到数据
for (var i = 0; i < this.cricleData.length; i++) {
total += this.cricleData[i].value;
if (this.cricleData[i].name == name) {
target = this.cricleData[i].value;
let total = 0; // 用于计算总数
let target; // 遍历拿到数据
for (let i = 0; i < data.length; i++) {
total += data[i].value;
if (data[i].name == name) {
target = data[i].value;
}
}
var v = ((target / total) * 100).toFixed(2);
// let v = ((target / total) * 100).toFixed(2);
return `{oneone|${name}}`;
// 富文本第一列样式应用 富文本第二列样式应用 富文本第三列样式应用
},
......@@ -667,7 +761,7 @@ export default {
labelLine: {
show: true,
},
data: this.cricleData,
data,
},
],
});
......@@ -759,10 +853,14 @@ export default {
break;
case "appealDate":
this.appealDate = date;
this.getAppealTotal();
break;
}
},
// 创建报告
onSubmit() {
console.log(this.form);
},
// 获取年
getYear() {
return new Date().getFullYear();
......@@ -775,6 +873,16 @@ export default {
getDay() {
return new Date().getDate();
},
// 过滤字典
filterDict(key, dict = {}) {
let str = "";
Object.keys(dict).forEach((keys) => {
if (key == keys) {
str = dict[keys];
}
});
return str;
},
// 1分值自动刷新数据
autoUpdata() {
this.timer = setInterval(() => {
......@@ -783,6 +891,7 @@ export default {
this.depStatList();
this.getAttendanceRules();
this.getFeedback();
this.getAppealTotal();
}, 1000 * 60);
},
},
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment