|
@@ -112,6 +112,9 @@
|
|
:label="`职工${selectDeptName ? '(仅查看' + selectDeptName + ')' : ''}`"
|
|
:label="`职工${selectDeptName ? '(仅查看' + selectDeptName + ')' : ''}`"
|
|
name="zg"
|
|
name="zg"
|
|
>
|
|
>
|
|
|
|
+ <div class="exportBox" style="margin: 10px">
|
|
|
|
+ <el-button size="small" @click="exportUserExcel">导出</el-button>
|
|
|
|
+ </div>
|
|
<el-table
|
|
<el-table
|
|
ref="archivesTableRef-zg"
|
|
ref="archivesTableRef-zg"
|
|
:data="zgTableData"
|
|
:data="zgTableData"
|
|
@@ -178,6 +181,7 @@ import {
|
|
getUserTotal,
|
|
getUserTotal,
|
|
exportBmExcel,
|
|
exportBmExcel,
|
|
} from "@/api/archives/index";
|
|
} from "@/api/archives/index";
|
|
|
|
+import { utils, writeFileXLSX } from 'xlsx';
|
|
import { Message } from "element-ui";
|
|
import { Message } from "element-ui";
|
|
export default {
|
|
export default {
|
|
data() {
|
|
data() {
|
|
@@ -426,9 +430,109 @@ export default {
|
|
// 导出 excel
|
|
// 导出 excel
|
|
exportExcel() {
|
|
exportExcel() {
|
|
if (this.date && this.date.length) {
|
|
if (this.date && this.date.length) {
|
|
- exportBmExcel({
|
|
|
|
|
|
+ // exportBmExcel({
|
|
|
|
+ // statDateL: this.date[0],
|
|
|
|
+ // statDateR: this.date[1],
|
|
|
|
+ // });
|
|
|
|
+ getDepartTotal({
|
|
|
|
+ statDateL: this.date[0],
|
|
|
|
+ statDateR: this.date[1],
|
|
|
|
+ }).then((res) => {
|
|
|
|
+ res.data.forEach((ele) => {
|
|
|
|
+ ele['部门编码'] = ele.deptCode
|
|
|
|
+ ele['部门名称'] = ele.deptName
|
|
|
|
+ ele['应培训人数'] = ele.ecTotalUser
|
|
|
|
+ ele['实培训人数'] = ele.ecActualUser
|
|
|
|
+ ele['培训率'] = this.renderNumber(ele.ecActualUser, ele.ecTotalUser)
|
|
|
|
+ ele['人均学时'] = this.renderNumber(ele.ecActualUser, ele.ecTotalMin);
|
|
|
|
+ ele['累积学时'] = ele.ecTotalMin
|
|
|
|
+ ele['应考试人数'] = ele.ecTotalUser
|
|
|
|
+ ele['实考试人数'] = ele.eeActualUser
|
|
|
|
+ ele['考试率'] = this.renderNumber(ele.eeActualUser, ele.eeTotalUser);
|
|
|
|
+ ele['考试合格率'] = this.renderNumber(ele.eePassUser, ele.eeActualUser);
|
|
|
|
+ delete ele.deptName
|
|
|
|
+ delete ele.deptCode
|
|
|
|
+ delete ele.ecTotalUser
|
|
|
|
+ delete ele.ecActualUser
|
|
|
|
+ delete ele.ecTotalMin
|
|
|
|
+ delete ele.ecPassUser
|
|
|
|
+ delete ele.eeActualUser
|
|
|
|
+ delete ele.eePassUser
|
|
|
|
+ delete ele.eeTotalUser
|
|
|
|
+ });
|
|
|
|
+ const ws = utils.json_to_sheet(res.data);
|
|
|
|
+ const wb = utils.book_new();
|
|
|
|
+ utils.book_append_sheet(wb, ws, "sheet1");
|
|
|
|
+ writeFileXLSX(wb, "部门统计-导出.xlsx");
|
|
|
|
+ });
|
|
|
|
+ } else {
|
|
|
|
+ Message.error("搜索条件日期区间不可为空");
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ // 导出 excel
|
|
|
|
+ exportUserExcel() {
|
|
|
|
+ if (this.date && this.date.length) {
|
|
|
|
+ // exportBmExcel({
|
|
|
|
+ // statDateL: this.date[0],
|
|
|
|
+ // statDateR: this.date[1],
|
|
|
|
+ // });
|
|
|
|
+ getUserTotal({
|
|
statDateL: this.date[0],
|
|
statDateL: this.date[0],
|
|
statDateR: this.date[1],
|
|
statDateR: this.date[1],
|
|
|
|
+ deptCode: "",
|
|
|
|
+ realName: "",
|
|
|
|
+ }).then((res) => {
|
|
|
|
+ let zgTableData = [];
|
|
|
|
+ if (!this.selectDeptCode) {
|
|
|
|
+ res.data.forEach((ele) => {
|
|
|
|
+ ele['姓名'] = ele.realName
|
|
|
|
+ ele['所属部门'] = ele.deptName
|
|
|
|
+ ele['参与课程数'] = ele.courseNum
|
|
|
|
+ ele['总学时'] = ele.totalMin
|
|
|
|
+ ele['完成率'] = this.renderNumber(ele.learnCourse, ele.courseNum);
|
|
|
|
+ ele['参与考试次数'] = ele.tryCount
|
|
|
|
+ ele['及格次数'] = ele.passed
|
|
|
|
+ ele['及格率'] = this.renderNumber(ele.passed, ele.tryCount);
|
|
|
|
+ delete ele.courseNum
|
|
|
|
+ delete ele.deptCode
|
|
|
|
+ delete ele.deptName
|
|
|
|
+ delete ele.learnCourse
|
|
|
|
+ delete ele.passed
|
|
|
|
+ delete ele.realName
|
|
|
|
+ delete ele.totalMin
|
|
|
|
+ delete ele.tryCount
|
|
|
|
+ delete ele.userName
|
|
|
|
+ });
|
|
|
|
+ zgTableData = res.data;
|
|
|
|
+ } else {
|
|
|
|
+ res.data.forEach((ele) => {
|
|
|
|
+ if (ele.deptCode === this.selectDeptCode) {
|
|
|
|
+ ele['姓名'] = ele.realName
|
|
|
|
+ ele['所属部门'] = ele.deptName
|
|
|
|
+ ele['参与课程数'] = ele.courseNum
|
|
|
|
+ ele['总学时'] = ele.totalMin
|
|
|
|
+ ele['完成率'] = this.renderNumber(ele.learnCourse, ele.courseNum);
|
|
|
|
+ ele['参与考试次数'] = ele.tryCount
|
|
|
|
+ ele['及格次数'] = ele.passed
|
|
|
|
+ ele['及格率'] = this.renderNumber(ele.passed, ele.tryCount);
|
|
|
|
+ delete ele.courseNum
|
|
|
|
+ delete ele.deptCode
|
|
|
|
+ delete ele.deptName
|
|
|
|
+ delete ele.learnCourse
|
|
|
|
+ delete ele.passed
|
|
|
|
+ delete ele.realName
|
|
|
|
+ delete ele.totalMin
|
|
|
|
+ delete ele.tryCount
|
|
|
|
+ delete ele.userName
|
|
|
|
+ zgTableData.push(ele);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ const ws = utils.json_to_sheet(zgTableData);
|
|
|
|
+ const wb = utils.book_new();
|
|
|
|
+ utils.book_append_sheet(wb, ws, "sheet1");
|
|
|
|
+ writeFileXLSX(wb, "职工统计-导出.xlsx");
|
|
|
|
+
|
|
});
|
|
});
|
|
} else {
|
|
} else {
|
|
Message.error("搜索条件日期区间不可为空");
|
|
Message.error("搜索条件日期区间不可为空");
|