forked from liweijie/education
教学日志管理
This commit is contained in:
+39
-43
@@ -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/log(axios 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-excel(multipart,字段名 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) {
|
||||
|
||||
Reference in New Issue
Block a user