Compare commits

...

4 Commits
master ... dev

Author SHA1 Message Date
linyongLynn 65191b137c 修复冲突
2 weeks ago
linyongLynn 56a853c6a1 完成教师导出修复
2 weeks ago
linyongLynn a5a9c02fc6 save
2 weeks ago
lion 8b6e26fa40 签到记录
2 months ago

@ -3,6 +3,10 @@ ENV = 'production'
# base api # base api
# VUE_APP_BASE_API=https://wx.sstbc.com/
# VUE_APP_UPLOAD_API=https://wx.sstbc.com/api/admin/upload-file
VUE_APP_BASE_API='' VUE_APP_BASE_API=''
VUE_APP_UPLOAD_API='/api/admin/upload-file' VUE_APP_UPLOAD_API='/api/admin/upload-file'

@ -7,7 +7,7 @@
<div slot="content"> <div slot="content">
<div class="searchwrap" style="display: flex;align-items: center;"> <div class="searchwrap" style="display: flex;align-items: center;">
<div> <div>
<el-input v-model="select.name" placeholder="请输入授课老师姓名"></el-input> <el-input v-model="select.name" placeholder="请输入授课老师姓名\主题方向"></el-input>
</div> </div>
<div> <div>
<el-button type="primary" size="small" @click="select.page=1,getList()"></el-button> <el-button type="primary" size="small" @click="select.page=1,getList()"></el-button>
@ -199,17 +199,66 @@
page_size: 9999 page_size: 9999
}) })
if (res.data) { if (res.data) {
let headers = this.table_item.map(i => { //
let headers = this.table_item.slice(1).map(i => {
return { return {
key: i.prop, key: i.prop,
title: i.label title: i.label
} }
}) })
const data = res.data.map(row => headers.map(header => row[header.key]));
data.unshift(headers.map(header => header.title)); // nullExcel
const wb = XLSX.utils.book_new(); const data = res.data.map((row, rowIndex) => {
const ws = XLSX.utils.aoa_to_sheet(data); return headers.map((header, colIndex) => {
XLSX.utils.book_append_sheet(wb, ws, sheetName); let value = row[header.key]
// undefined
if (value === undefined) {
return ''
}
// null
if (value === null) {
return ''
}
//
if (Array.isArray(value)) {
if (value.length === 0) {
return ''
}
//
return value.map(item => {
if (typeof item === 'object' && item !== null) {
//
let parts = []
if (item.course && item.course.name) parts.push(`课程: ${item.course.name}`)
if (item.theme) parts.push(`主题: ${item.theme}`)
if (item.direction_detail && item.direction_detail.value) parts.push(`方向: ${item.direction_detail.value}`)
if (item.remark) parts.push(`备注: ${item.remark}`)
return parts.join('; ')
}
return String(item)
}).join('\n')
}
//
if (typeof value === 'object' && value !== null) {
return JSON.stringify(value)
}
// Excel
return String(value)
})
})
//
data.unshift(headers.map(header => header.title))
console.log('处理后的数据:', data)
const wb = XLSX.utils.book_new()
const ws = XLSX.utils.aoa_to_sheet(data)
XLSX.utils.book_append_sheet(wb, ws, sheetName)
const wbout = XLSX.write(wb, { const wbout = XLSX.write(wb, {
bookType: 'xlsx', bookType: 'xlsx',
bookSST: true, bookSST: true,

@ -27,8 +27,8 @@ module.exports = {
* *
*/ */
publicPath: process.env.ENV === 'staging' ? '/admin' : '/admin', publicPath: process.env.ENV === 'staging' ? '/admin' : '/admin',
// outputDir: '/Users/mac/Documents/朗业/2025/s-苏州科技商学院/wx.sstbc.com/public/admin', outputDir: '/Users/mac/Documents/朗业/2025/s-苏州科技商学院/wx.sstbc.com/public/admin',
outputDir: '/Users/mac/Documents/朗业/2024/s-苏州科技商学院/wx.sstbc.com/public/admin', // outputDir: '/Users/mac/Documents/朗业/2024/s-苏州科技商学院/wx.sstbc.com/public/admin',
assetsDir: 'static', assetsDir: 'static',
css: { css: {
loaderOptions: { // 向 CSS 相关的 loader 传递选项 loaderOptions: { // 向 CSS 相关的 loader 传递选项

Loading…
Cancel
Save