机关教学日志

This commit is contained in:
2026-08-27 11:52:34 +08:00
parent ffdcfaa350
commit c8990ab1a4
3 changed files with 71 additions and 14 deletions
@@ -50,7 +50,7 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="0"> <!-- <el-row :gutter="0">
<el-col :span="24"> <el-col :span="24">
<el-form-item label="改动情况"> <el-form-item label="改动情况">
<div class="change-options"> <div class="change-options">
@@ -63,7 +63,7 @@
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row> -->
<el-row :gutter="0"> <el-row :gutter="0">
<el-col :span="12"> <el-col :span="12">
@@ -65,7 +65,7 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="0"> <!-- <el-row :gutter="0">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="改动情况"> <el-form-item label="改动情况">
<div class="change-options"> <div class="change-options">
@@ -87,14 +87,14 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row> -->
</el-form> </el-form>
<div class="search-actions"> <div class="search-actions">
<div class="left-group"> <div class="left-group">
<el-button type="danger" plain @click="handleDeleteSelected">删除所选</el-button>
<el-button type="primary" @click="handleBatchReport">批准上报所选</el-button> <el-button type="primary" @click="handleBatchReport">批准上报所选</el-button>
<el-button @click="handleRecheck">重新检查通报变更情况</el-button> <!-- <el-button @click="handleRecheck">重新检查通报变更情况</el-button> -->
<el-button type="danger" plain @click="handleDeleteSelected">删除所选</el-button>
<el-button icon="el-icon-download" @click="handleExport">导出到 Word</el-button> <el-button icon="el-icon-download" @click="handleExport">导出到 Word</el-button>
<el-button icon="el-icon-refresh" @click="handleRefresh">刷新</el-button> <el-button icon="el-icon-refresh" @click="handleRefresh">刷新</el-button>
<el-button icon="el-icon-upload2" :loading="importing" @click="handleImportExcel">导入教学日志</el-button> <el-button icon="el-icon-upload2" :loading="importing" @click="handleImportExcel">导入教学日志</el-button>
@@ -138,6 +138,7 @@
<el-table-column label="操作" width="80" align="center" fixed="right" class-name="table-action-column"> <el-table-column label="操作" width="80" align="center" fixed="right" class-name="table-action-column">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" @click="handleDetail(scope.row)">详细</el-button> <el-button type="text" @click="handleDetail(scope.row)">详细</el-button>
<el-button type="text" @click="handleReport(scope.row)">上报</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@@ -364,6 +365,25 @@ export default {
.catch(() => {}) .catch(() => {})
}, },
handleReport(row) {
const bh = row && row.bh
if (!bh) {
this.$message.warning('记录编号不存在,无法上报')
return
}
this.$confirm('确定要上报该条教学日志吗?', '上报确认', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => submitTeachingLog(String(bh), '已上报'))
.then(() => {
this.$message.success('上报成功')
this.fetchList()
})
.catch(() => {})
},
handleRecheck() { handleRecheck() {
// 后端暂未提供重新检查接口,仅作提示 // 后端暂未提供重新检查接口,仅作提示
this.$message.info('后端暂未提供该接口') this.$message.info('后端暂未提供该接口')
@@ -34,13 +34,13 @@
</el-row> </el-row>
<el-row :gutter="0"> <el-row :gutter="0">
<el-col :span="12"> <!-- <el-col :span="12">
<el-form-item label="改动情况"> <el-form-item label="改动情况">
<el-select v-model="searchForm.change" placeholder="请选择改动情况" clearable class="w-full"> <el-select v-model="searchForm.change" placeholder="请选择改动情况" clearable class="w-full">
<el-option v-for="item in changeOptions" :key="item" :label="item" :value="item" /> <el-option v-for="item in changeOptions" :key="item" :label="item" :value="item" />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col> -->
<el-col :span="12"> <el-col :span="12">
<el-form-item label="任务类别"> <el-form-item label="任务类别">
<el-select v-model="searchForm.taskCategory" placeholder="请选择任务类别" clearable class="w-full"> <el-select v-model="searchForm.taskCategory" placeholder="请选择任务类别" clearable class="w-full">
@@ -78,11 +78,7 @@
<div class="search-actions"> <div class="search-actions">
<div class="left-group"> <div class="left-group">
<el-button type="danger" plain @click="handleDelete">删除所选</el-button> <el-button type="primary" @click="handleBatchAudit">审核通过所选</el-button>
<el-button type="primary" @click="handleAudit">审核通过所选</el-button>
<el-input v-model="remark" placeholder="退回原因/意见" clearable class="action-input" />
<el-button type="warning" plain @click="handleWithdraw">撤回重填所选</el-button>
<el-button @click="handleRecheck">重新检查所选变更情况</el-button>
<el-button icon="el-icon-download" @click="handleExport">导出到 Word</el-button> <el-button icon="el-icon-download" @click="handleExport">导出到 Word</el-button>
</div> </div>
<div class="right-group"> <div class="right-group">
@@ -122,6 +118,8 @@
<el-table-column prop="jxrzcjfs" label="创建方式" width="100" align="center" /> <el-table-column prop="jxrzcjfs" label="创建方式" width="100" align="center" />
<el-table-column label="操作" width="80" align="center" fixed="right" class-name="table-action-column"> <el-table-column label="操作" width="80" align="center" fixed="right" class-name="table-action-column">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" @click="handleAudit(scope.row)">审核</el-button>
<el-button type="text" @click="handleReject(scope.row)">退回</el-button>
<el-button type="text" @click="handleDetail(scope.row)">详细</el-button> <el-button type="text" @click="handleDetail(scope.row)">详细</el-button>
</template> </template>
</el-table-column> </el-table-column>
@@ -326,7 +324,7 @@ export default {
this.$message.info('后端暂未提供该接口') this.$message.info('后端暂未提供该接口')
}, },
handleAudit() { handleBatchAudit() {
const ids = this.getSelectedBhs() const ids = this.getSelectedBhs()
if (ids.length === 0) return if (ids.length === 0) return
this.$confirm(`确定要审核通过选中的 ${ids.length} 条记录吗?`, '审核确认', { this.$confirm(`确定要审核通过选中的 ${ids.length} 条记录吗?`, '审核确认', {
@@ -349,6 +347,45 @@ export default {
.catch(() => {}) .catch(() => {})
}, },
handleAudit(row) {
const bh = row && row.bh
if (!bh) {
this.$message.warning('记录编号不存在,无法审核')
return
}
this.$confirm('确定要审核通过该条教学日志吗?', '审核确认', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => approveTeachingLog(String(bh), ''))
.then(() => {
this.$message.success('审核通过成功')
this.fetchList()
})
.catch(() => {})
},
handleReject(row) {
const bh = row && row.bh
if (!bh) {
this.$message.warning('记录编号不存在,无法退回')
return
}
this.$prompt('请输入退回原因/意见', '退回确认', {
confirmButtonText: '确定',
cancelButtonText: '取消',
inputPattern: /\S/,
inputErrorMessage: '退回原因不能为空'
})
.then(({ value }) => rejectTeachingLog(String(bh), value.trim()))
.then(() => {
this.$message.success('退回成功')
this.fetchList()
})
.catch(() => {})
},
handleWithdraw() { handleWithdraw() {
const ids = this.getSelectedBhs() const ids = this.getSelectedBhs()
if (ids.length === 0) return if (ids.length === 0) return