diff --git a/package.json b/package.json index 2b265fab..cfdc9962 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "dayjs": "^1.11.6", "element-plus": "^2.2.17", "element-resize-detector": "^1.2.4", + "exceljs": "^4.3.0", "html2canvas": "^1.4.1", "jquery": "^3.6.1", "json-bigint": "^1.0.0", diff --git a/src/api/indexStu.js b/src/api/indexStu.js index feec5527..9889f8db 100644 --- a/src/api/indexStu.js +++ b/src/api/indexStu.js @@ -4,8 +4,7 @@ import http from "./config"; * 1 */ //获取受众信息 -export const getAudienceInfoApi = (obj) => - http.post("/admin/orgStruct/getAudienceInfo", obj); +// export const getAudienceInfoApi = (obj) => http.post("/admin/orgStruct/getAudienceInfo", obj); //获取员工信息 export const getMemberInfoApi = (obj) => http.post("/admin/orgStruct/getMemberInfo", obj); diff --git a/src/components/drawers/StuAdd.vue b/src/components/drawers/StuAdd.vue index 236099bd..a7cba6cf 100644 --- a/src/components/drawers/StuAdd.vue +++ b/src/components/drawers/StuAdd.vue @@ -551,7 +551,7 @@ import { message } from "ant-design-vue"; // import { toDate } from "../../api/method"; // import * as api from '../../api/indexStu' import { - getAudienceInfoApi, + // getAudienceInfoApi, getMemberInfoApi, getOrgInfoApi, } from "@/api/indexStu"; @@ -1239,20 +1239,20 @@ export default { if (!state.nameaddd) { return false; } - const item1 = await getAudienceInfoApi({ - pageNo: state.currentPage2, - pageSize: state.pageSize2, - keyWord: state.nameaddd, - }).then((res) => { - if (res.data.code === 200) return res.data.data.rows; - }); - state.tabledata2 = traverseArr(item1, { - key: "id", - name: "audienceName", - time: "createTime", - number: "countNum", - type: "typeName", - }); + // const item1 = await getAudienceInfoApi({ + // pageNo: state.currentPage2, + // pageSize: state.pageSize2, + // keyWord: state.nameaddd, + // }).then((res) => { + // if (res.data.code === 200) return res.data.data.rows; + // }); + // state.tabledata2 = traverseArr(item1, { + // key: "id", + // name: "audienceName", + // time: "createTime", + // number: "countNum", + // type: "typeName", + // }); }; getShouzong(); diff --git a/src/utils/commonExcel.js b/src/utils/commonExcel.js new file mode 100644 index 00000000..49749ff1 --- /dev/null +++ b/src/utils/commonExcel.js @@ -0,0 +1,40 @@ +import Exceljs from 'exceljs' + +export const commonExport =(headers,datas,fileName) =>{ + + const workbook = new Exceljs.Workbook() + workbook.created = new Date(); + const sheet = workbook.addWorksheet("Sheet1",{views: [{ySplit:1,state:'frozen'}]}) + sheet.columns = headers + sheet.addRows(datas) + sheet.eachRow({ includeEmpty: true },(row,rowNumber)=>{ + row.eachCell({ includeEmpty: true },(cell,colNumber)=>{ + cell.alignment = { vertical: 'middle', horizontal: 'center'} + cell.border = { + top: {style:'thin'}, + left: {style:'thin'}, + bottom: {style:'thin'}, + right: {style:'thin'} + } + }) + }) + + downExcel(workbook,fileName) +} + +export const downExcel = (wb,fileName)=>{ + wb.xlsx.writeBuffer().then(buffer=>{ + let blob = new Blob([buffer],{ + type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' + }) + let ele = document.createElement('a') + ele.style.display = 'none' + ele.href = URL.createObjectURL(blob) + ele.download = fileName + document.body.appendChild(ele) + ele.click() + document.body.removeChild(ele) + URL.revokeObjectURL(ele.href) + wb = null + }) +} \ No newline at end of file diff --git a/src/views/courselibrary/CoursewareManage.vue b/src/views/courselibrary/CoursewareManage.vue index 35253e3b..fcfcfde8 100644 --- a/src/views/courselibrary/CoursewareManage.vue +++ b/src/views/courselibrary/CoursewareManage.vue @@ -305,90 +305,34 @@ -
+