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

Merge remote-tracking branch 'origin/master'

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