【新增】试卷任务前端分类,监控管理前端
This commit is contained in:
@@ -13,11 +13,11 @@
|
||||
@submit.prevent=""
|
||||
>
|
||||
<el-form-item label="试卷ID" prop="taskId">
|
||||
<el-input clearable v-model="form.taskId" placeholder="请输入试卷ID" disabled/>
|
||||
<el-input clearable v-model="form.taskId" placeholder="请输入试卷ID" disabled/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="批次" prop="batch">
|
||||
<el-input clearable v-model="form.batch" placeholder="请输入批次" disabled/>
|
||||
<el-input clearable v-model="form.batch" placeholder="请输入批次" disabled/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="考试开始时间" prop="startTime">
|
||||
|
||||
@@ -3,9 +3,8 @@
|
||||
<Dialog v-model="visible" :title="'试卷调整'" width="860" @open="handleOpen" center>
|
||||
|
||||
|
||||
<div>{{rows}}</div>
|
||||
<div>{{taskId}}</div>
|
||||
<el-transfer v-model="value" :data="data" />
|
||||
|
||||
<el-transfer v-model="value" :data="data" :titles="['未选试卷', '已选试卷']" />
|
||||
<template #footer>
|
||||
<el-button @click="handleCancel">取消</el-button>
|
||||
<el-button type="primary" :loading="loading" @click="save">保存</el-button>
|
||||
@@ -18,7 +17,7 @@ import { ref, nextTick } from 'vue';
|
||||
import { useFormData } from '@/utils/use-form-data';
|
||||
import { getPaperListByType } from '@/api/system/paper';
|
||||
import { setSessions } from '@/api/system/session';
|
||||
import type { FormInstance } from 'element-plus' // ✅ 引入 FormInstance 类型
|
||||
import type { FormInstance } from 'element-plus'
|
||||
const message = useMessage();
|
||||
|
||||
const props = defineProps({
|
||||
@@ -60,11 +59,12 @@ const handleOpen = async () => {
|
||||
rows: props.rows
|
||||
});
|
||||
|
||||
data.value = (res?.paperId || []).map((item: string) => ({
|
||||
key: item,
|
||||
label: item,
|
||||
disabled: false
|
||||
}));
|
||||
data.value = Object.entries(res?.paperId || {}).map(([id, name]) => ({
|
||||
key: id,
|
||||
label: String(name), // 👈 关键在这里
|
||||
disabled: false
|
||||
}));
|
||||
|
||||
|
||||
value.value = res?.selectedIds || [];
|
||||
|
||||
|
||||
@@ -44,11 +44,16 @@
|
||||
<el-table-column label="开始考试前分钟,允许入场" align="center" prop="allowEntry" />
|
||||
<el-table-column label="开始考试后分钟,禁止入场" align="center" prop="endAllowEntry" />
|
||||
<el-table-column label="开始考试后分钟,允许交卷" align="center" prop="allowSubmission" />
|
||||
<el-table-column label="是否启用" align="center" prop="status">
|
||||
<template #default="scope">
|
||||
<dict-tag :type="DICT_TYPE.SYS_YES_NO" :value="scope.row.status" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="启用状态" align="center" prop="status" width="120">
|
||||
<template #default="scope">
|
||||
<el-switch
|
||||
v-model="scope.row.status"
|
||||
:active-value="'0'"
|
||||
:inactive-value="'1'"
|
||||
@change="handleStatusChange(scope.row)"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center">
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
@@ -147,7 +152,7 @@ const getList = async () => {
|
||||
try {
|
||||
const res = await SmsChannelApi.pageSessions(queryParams)
|
||||
console.log(res)
|
||||
list.value = res
|
||||
list.value = res.list
|
||||
total.value = res.total
|
||||
} finally {
|
||||
loading.value = false
|
||||
@@ -203,6 +208,25 @@ const openEdit = (type: string, row?: object) => {
|
||||
|
||||
}
|
||||
|
||||
const handleStatusChange = async (row: any) => {
|
||||
|
||||
try {
|
||||
loading.value = true;
|
||||
// 调用API更新状态
|
||||
await SmsChannelApi.updateSessionStatus(row.sessionId, row.status);
|
||||
message.success(row.status === '0' ? '已启用' : '已停用');
|
||||
// 刷新列表
|
||||
await getList();
|
||||
} catch (error) {
|
||||
// 如果请求失败,恢复原来的状态
|
||||
row.status = row.status === '0' ? '1' : '0';
|
||||
message.error('状态更新失败');
|
||||
} finally {
|
||||
loading.value = false;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
const reload = (where) => {
|
||||
getList()
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user