活动记录和操行考核学期预警

This commit is contained in:
yaojian
2026-03-02 15:10:35 +08:00
parent 7a5740c56b
commit 755721a2c7
4 changed files with 181 additions and 7 deletions

View File

@@ -51,6 +51,7 @@
<el-form-item>
<el-button type="primary" plain icon="Search" @click="getDataList">查询</el-button>
<el-button icon="Refresh" @click="handleReset">重置</el-button>
<el-button type="warning" icon="Bell" @click="handleSendWarning" :loading="warningLoading">发送预警</el-button>
</el-form-item>
</el-form>
</el-row>
@@ -159,11 +160,11 @@
<script setup lang="ts" name="StuConductTerm">
import { reactive, ref, onMounted, computed } from 'vue'
import { getStuConductTerm, queryDataByStuNo } from "/@/api/stuwork/stuconduct";
import { getStuConductTerm, queryDataByStuNo, sendConductWarning } from "/@/api/stuwork/stuconduct";
import { getClassListByRole } from "/@/api/basic/basicclass";
import { queryAllSchoolYear } from "/@/api/basic/basicyear";
import { getDicts } from "/@/api/admin/dict";
import { useMessage } from "/@/hooks/message";
import { useMessage, useMessageBox } from "/@/hooks/message";
// 表格样式 - 在组件内部定义,不从外部导入
const tableStyle = {
@@ -175,6 +176,7 @@ const tableStyle = {
const searchFormRef = ref()
const showSearch = ref(true)
const loading = ref(false)
const warningLoading = ref(false)
const schoolYearList = ref<any[]>([])
const schoolTermList = ref<any[]>([])
const classList = ref<any[]>([])
@@ -365,6 +367,29 @@ const handleView = async (row: any) => {
}
}
// 发送学期操行考核预警
const handleSendWarning = async () => {
if (!queryForm.schoolYear || !queryForm.schoolTerm) {
useMessage().warning('请先选择学年 and 学期')
return
}
const { confirm } = useMessageBox()
try {
await confirm(`确定要发送${queryForm.schoolYear}学年第${queryForm.schoolTerm === '1' ? '一' : '二'}学期操行考核预警吗将向班主任推送不及格学生低于60分的预警通知。`)
warningLoading.value = true
const res = await sendConductWarning(queryForm.schoolYear, queryForm.schoolTerm)
useMessage().success(res.msg || '预警通知发送成功')
} catch (err: any) {
if (err !== 'cancel') {
useMessage().error(err.msg || '预警通知发送失败')
}
} finally {
warningLoading.value = false
}
}
// 获取学年列表
const getSchoolYearList = async () => {
try {