Main #1

Merged
zhaichao merged 47 commits from zhaichao/education:main into main 2026-08-24 03:07:45 +00:00
3 changed files with 67 additions and 89 deletions
Showing only changes of commit 776ffaac4f - Show all commits
+39 -43
View File
@@ -1,10 +1,9 @@
import request from '@/utils/request'
// ======================== 教学日志核心 ========================
// 说明:以下接口均已与实际运行的后端 LogController 逐一核对(前缀 /log
// 经 vue.config.js 代理转发为 /api/log)。axios baseURL 为 /api.env.development)。
// ======================== 教学日志核心(以 api.txt 为准) ========================
// 接口前缀 /log,经 vue.config.js 代理转发为 /api/logaxios baseURL 为 /api)。
// 分页条件查询教学日志列表(待上报 / 待审核视图)
// 分页条件查询教学日志列表(待上报视图)
// 支持参数:pageNum pageSize ksrq jsrq kcmc jys jxff skjy rzzt pxqb gdqk gdxxqk rwlb
export function getTeachingLogList(query) {
return request({
@@ -32,7 +31,7 @@ export function getAuditedTeachingLogList(query) {
})
}
// 新增教学日志
// 新增教学日志(请求体为 SSKCB_RZ 实体)
export function addTeachingLog(data) {
return request({
url: '/log/teaching-log/add',
@@ -41,21 +40,39 @@ export function addTeachingLog(data) {
})
}
// 批量上报教学日志(入参为 bh 编号数组,Content-Type: application/json
export function batchReportTeachingLog(bhList) {
// 编辑教学日志(请求体为 SSKCB_RZ 实体,bh 必传
export function updateTeachingLog(data) {
return request({
url: '/log/teaching-log/batch-report',
url: '/log/teaching-log/update',
method: 'post',
data: bhList
data: data
})
}
// 批量审核教学日志(入参为 bh 编号数组)
export function batchAuditTeachingLog(bhList) {
// 根据编号查询教学日志详情
export function getTeachingLogByBh(bh) {
return request({
url: '/log/teaching-log/batch-audit',
url: '/log/teaching-log/get',
method: 'get',
params: { bh: bh }
})
}
// 提交教学日志审核,接口形态:POST /log/teaching-log/submit?bh=&targetStatus=
export function submitTeachingLog(bh, targetStatus) {
return request({
url: '/log/teaching-log/submit',
method: 'post',
data: bhList
params: { bh: bh, targetStatus: targetStatus }
})
}
// 审核通过教学日志,接口形态:GET /log/teaching-log/approve?bh=&feedback=
export function approveTeachingLog(bh, feedback) {
return request({
url: '/log/teaching-log/approve',
method: 'get',
params: { bh: bh, feedback: feedback }
})
}
@@ -68,6 +85,15 @@ export function rejectTeachingLog(bh, thyj) {
})
}
// 根据课表自动创建教学日志,接口形态:POST /log/teaching-log/auto-create?tybh=
export function autoCreateTeachingLog(tybh) {
return request({
url: '/log/teaching-log/auto-create',
method: 'post',
params: { tybh: tybh }
})
}
// 批量导入教学日志 Excel,接口形态:POST /log/teaching-log/import-excelmultipart,字段名 file
export function importTeachingLogExcel(file) {
const formData = new FormData()
@@ -97,33 +123,3 @@ export function downloadTeachingLogTemplate() {
responseType: 'blob'
})
}
// ======================== TODO:后端暂未提供,保留占位待接 ========================
// TODO(后端缺接口):批量删除教学日志 —— 当前后端 LogController 无 delete 接口,
// 待后端提供后确认入参与请求方式。
export function deleteTeachingLog(bhList) {
return request({
url: '/log/teaching-log/delete',
method: 'post',
data: bhList
})
}
// TODO(后端缺接口):重新检查通报变更情况 —— 当前后端无 recheck 接口,待后端提供后确认。
export function recheckTeachingLog() {
return request({
url: '/log/teaching-log/recheck',
method: 'post'
})
}
// TODO(后端缺接口):根据编号查询教学日志详情 —— 当前后端无 teaching-log/get 接口。
// 列表接口已含完整字段,组件以行数据兜底展示;待后端提供 get 接口后再联调。
export function getTeachingLogByBh(bh) {
return request({
url: '/log/teaching-log/get',
method: 'get',
params: { bh: bh }
})
}
@@ -221,9 +221,7 @@
import { formatDate } from '@/utils/index'
import {
getTeachingLogList,
deleteTeachingLog,
batchReportTeachingLog,
recheckTeachingLog,
submitTeachingLog,
exportTeachingLog,
importTeachingLogExcel,
downloadTeachingLogTemplate,
@@ -380,43 +378,36 @@ export default {
},
handleDeleteSelected() {
const ids = this.getSelectedBhs()
if (ids.length === 0) return
this.$confirm(`确定要删除选中的 ${ids.length} 条记录吗?`, '删除确认', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => deleteTeachingLog(ids))
.then(() => {
this.$message.success(`已删除 ${ids.length} 条记录`)
this.fetchList()
})
.catch(() => {})
// 后端暂未提供删除接口,仅作提示
this.$message.info('后端暂未提供该接口')
},
handleBatchReport() {
const ids = this.getSelectedBhs()
if (ids.length === 0) return
this.$confirm(`确定要批量上报选中的 ${ids.length} 条记录吗?`, '上报确认', {
this.$confirm(`确定要上报选中的 ${ids.length} 条记录吗?`, '上报确认', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => batchReportTeachingLog(ids))
.then(() => {
this.$message.success(`已批量上报 ${ids.length} 条记录`)
// 提交教学日志审核,逐条上报至「已上报」状态
let settled = Promise.resolve()
ids.forEach((bh) => {
settled = settled.then(() => submitTeachingLog(bh, '已上报'))
})
return settled
})
.then(() => {
this.$message.success(`已上报 ${ids.length} 条记录`)
this.fetchList()
})
.catch(() => {})
},
handleRecheck() {
recheckTeachingLog()
.then(() => {
this.$message.success('重新检查完成')
})
.catch(() => {})
// 后端暂未提供重新检查接口,仅作提示
this.$message.info('后端暂未提供该接口')
},
downloadBlob(blob, fileName) {
@@ -208,10 +208,8 @@
import { formatDate } from '@/utils/index'
import {
getReportedTeachingLogList,
deleteTeachingLog,
batchAuditTeachingLog,
approveTeachingLog,
rejectTeachingLog,
recheckTeachingLog,
exportTeachingLog,
getTeachingLogByBh
} from '@/api/log'
@@ -375,19 +373,8 @@ export default {
},
handleDelete() {
const ids = this.getSelectedBhs()
if (ids.length === 0) return
this.$confirm(`确定要删除选中的 ${ids.length} 条记录吗?`, '删除确认', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => deleteTeachingLog(ids))
.then(() => {
this.$message.success(`已删除 ${ids.length} 条记录`)
this.fetchList()
})
.catch(() => {})
// 后端暂未提供删除接口,仅作提示
this.$message.info('后端暂未提供该接口')
},
handleAudit() {
@@ -398,7 +385,14 @@ export default {
cancelButtonText: '取消',
type: 'warning'
})
.then(() => batchAuditTeachingLog(ids))
.then(() => {
// 审核通过教学日志,逐条审核
let settled = Promise.resolve()
ids.forEach((bh) => {
settled = settled.then(() => approveTeachingLog(bh, ''))
})
return settled
})
.then(() => {
this.$message.success(`已审核通过 ${ids.length} 条记录`)
this.fetchList()
@@ -432,11 +426,8 @@ export default {
},
handleRecheck() {
recheckTeachingLog()
.then(() => {
this.$message.success('重新检查变更情况完成')
})
.catch(() => {})
// 后端暂未提供重新检查接口,仅作提示
this.$message.info('后端暂未提供该接口')
},
downloadBlob(blob, fileName) {