【修改】试卷任务参数,【新增】试题数据交互
This commit is contained in:
@@ -116,6 +116,8 @@
|
||||
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="是否显示答案按钮">
|
||||
<el-switch
|
||||
v-model="form.isAnswer"
|
||||
@@ -125,6 +127,8 @@
|
||||
inactive-text="否"
|
||||
@change="handleFormChange" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="学生是否可以查看试卷">
|
||||
<el-switch
|
||||
v-model="form.isLook"
|
||||
@@ -134,7 +138,35 @@
|
||||
inactive-text="否"
|
||||
@change="handleFormChange" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="是否有测评时长限制">
|
||||
<el-switch
|
||||
v-model="form.isTime"
|
||||
active-value="0"
|
||||
inactive-value="1"
|
||||
active-text="是"
|
||||
inactive-text="否"
|
||||
@change="handleFormChange" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="测评时长" >
|
||||
<el-time-picker
|
||||
v-model="form.examTime"
|
||||
value-format="HH:mm:ss"
|
||||
placeholder="请设置测评时长"
|
||||
class="ele-fluid"
|
||||
@change="handleFormChange"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
|
||||
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-form-item label="定时检查与学生端联通性,每">
|
||||
<el-input-number v-model="form.isConnect" label="分钟" @change="handleFormChange" />
|
||||
<span>分钟传一次,断联直接交卷</span>
|
||||
|
@@ -27,8 +27,6 @@
|
||||
class="ele-fluid"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
|
||||
<el-form-item label="考试开始时间" prop="startTime">
|
||||
<el-date-picker
|
||||
v-model="form.startTime"
|
||||
@@ -46,7 +44,7 @@
|
||||
value-format="YYYY-MM-DD HH:mm:ss"
|
||||
placeholder="请选择考试结束时间"
|
||||
class="ele-fluid"
|
||||
disabled
|
||||
disabled
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
@@ -107,10 +105,8 @@
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, reactive, nextTick } from 'vue'
|
||||
import { addSession, updateSession } from '@/api/system/session'
|
||||
import { addSession, updateSession,getTime} from '@/api/system/session'
|
||||
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
|
||||
import { watch } from 'vue'
|
||||
import dayjs from 'dayjs'
|
||||
const emit = defineEmits(['done'])
|
||||
const props = defineProps({
|
||||
data: Object,
|
||||
@@ -121,19 +117,19 @@ const visible = defineModel({ type: Boolean })
|
||||
const isUpdate = ref(false)
|
||||
const loading = ref(false)
|
||||
const formRef = ref()
|
||||
|
||||
import dayjs from 'dayjs'
|
||||
// 表单模型
|
||||
const form = ref({
|
||||
sessionId: undefined,
|
||||
taskId: props.taskId ?? '',
|
||||
batch: '',
|
||||
startTime: '',
|
||||
answerTime:'',
|
||||
endTime: '',
|
||||
answerTime:'',
|
||||
allowEntry: '',
|
||||
endAllowEntry: '',
|
||||
allowSubmission: '',
|
||||
status: '', // 状态(0禁用,1启用)
|
||||
status: '0', // 状态(0启用,1禁用)
|
||||
})
|
||||
|
||||
// 表单校验规则
|
||||
@@ -142,9 +138,18 @@ const rules = reactive({
|
||||
batch: [{ required: true, message: '请输入批次', trigger: 'blur' }],
|
||||
startTime: [{ required: true, message: '请选择开始时间', trigger: 'change' }],
|
||||
endTime: [{ required: true, message: '请选择结束时间', trigger: 'change' }],
|
||||
allowEntry: [{ required: true, message: '请输入允许入场时间', trigger: 'blur' }],
|
||||
endAllowEntry: [{ required: true, message: '请输入禁止入场时间', trigger: 'blur' }],
|
||||
allowSubmission: [{ required: true, message: '请输入允许交卷时间', trigger: 'blur' }],
|
||||
allowEntry: [
|
||||
{ required: true, message: '请输入允许提前入场的分钟数', trigger: 'blur' },
|
||||
{ pattern: /^\d+$/, message: '只能输入非负整数', trigger: 'blur' }
|
||||
],
|
||||
endAllowEntry: [
|
||||
{ required: true, message: '请输入禁止入场的分钟数', trigger: 'blur' },
|
||||
{ pattern: /^\d+$/, message: '只能输入非负整数', trigger: 'blur' }
|
||||
],
|
||||
allowSubmission: [
|
||||
{ required: true, message: '请输入允许交卷的分钟数', trigger: 'blur' },
|
||||
{ pattern: /^\d+$/, message: '只能输入非负整数', trigger: 'blur' }
|
||||
],
|
||||
status: [{ required: true, message: '请选择状态', trigger: 'change' }],
|
||||
})
|
||||
|
||||
@@ -162,14 +167,17 @@ const open = async (type: 'create' | 'update', data?: any) => {
|
||||
taskId: props.taskId ?? '',
|
||||
batch: '',
|
||||
startTime: '',
|
||||
answerTime:'01:00:00',
|
||||
endTime: '',
|
||||
answerTime:'',
|
||||
allowEntry: '',
|
||||
endAllowEntry: '',
|
||||
allowSubmission: '',
|
||||
status: '',
|
||||
}
|
||||
|
||||
const res = await getTime(props.taskId);
|
||||
form.value.answerTime=res;
|
||||
|
||||
// 设置批次为 当前时间 + 5位随机数
|
||||
const now = new Date();
|
||||
const pad = (n) => n.toString().padStart(2, '0');
|
||||
@@ -219,6 +227,6 @@ const save = async () => {
|
||||
loading.value = false
|
||||
}
|
||||
}
|
||||
defineExpose({ open })
|
||||
|
||||
defineExpose({ open })
|
||||
</script>
|
||||
|
Reference in New Issue
Block a user