diff --git a/src/views/monitor/monitor/MonitorForm.vue b/src/views/monitor/monitor/MonitorForm.vue index bfdf0fa..496101d 100644 --- a/src/views/monitor/monitor/MonitorForm.vue +++ b/src/views/monitor/monitor/MonitorForm.vue @@ -16,7 +16,7 @@ - + 请选择字典生成 diff --git a/src/views/paper/audit/index.vue b/src/views/paper/audit/index.vue index 8e372f9..d3260c5 100644 --- a/src/views/paper/audit/index.vue +++ b/src/views/paper/audit/index.vue @@ -398,9 +398,6 @@ const confirmSync = () => { ElMessage.error('推送失败'); }); } - - - }; const connectSchoolAll = () => { diff --git a/src/views/paper/question/index.vue b/src/views/paper/question/index.vue index e4e69d5..4d61c48 100644 --- a/src/views/paper/question/index.vue +++ b/src/views/paper/question/index.vue @@ -113,16 +113,27 @@ - + - 推送试题 + 推送审核试题 + + + 推送试题 - + + @@ -244,6 +255,74 @@ + + + + + + + + + + + + + + + + + 搜索 + + + 重置 + + + + + + + + + + + + + + + + + + + + @@ -287,6 +366,7 @@ const { t } = useI18n() // 国际化 const loading = ref(true) // 列表的加载中 const total = ref(0) // 列表的总页数 const list = ref([]) // 列表的数 + const queryParams = reactive({ specialtyName: "", courseName: "", @@ -295,6 +375,7 @@ const queryParams = reactive({ chapteridDictText:"", pageNo: 1, pageSize: 10, + audit:"" }) const queryFormRef = ref() // 搜索的表单 const specialtyList = ref([]) // 树形结构 @@ -312,7 +393,7 @@ const getTreePoint = async () => { respoint.value.push(...handleTree(res)) } - +const syncDialogVisible = ref(false) /** 查询列表 */ const getList = async () => { @@ -395,6 +476,17 @@ const handleSpecialtyNodeClick = async (row: any) => { const handleSelectionChange = (rows) => { selections.value = rows; } + + const selectedSchool = ref([]); + +const handleSelectionChangeSchool = (rows) => { + selectedSchool.value = rows; +} + + + + + const selectedRows = ref([]) const handleAudit = async () => { try { @@ -411,12 +503,105 @@ const handleAudit = async () => { type: '0', quIds: selectedRows.value } - await QuestionApi.auditQuestion(requestBody) + // await QuestionApi.auditQuestion(requestBody) message.success(t('推送成功')) // 刷新列表 await getList() } catch {} } +const queryParamsSchool = reactive({ + name:'', + pageNo: 1, + pageSize: 10, +}) +const totalSchool = ref(0) // 列表的总页数 +const listSchool = ref([]) // 列表的数 +const schoolNameList = ref(); +const loadingSchool = ref(true) +const handleTUI = async () => { + try { + const rows = selections.value; + if (!rows.length) { + message.error('请至少选择一条数据'); + return; + } + + selectedRows.value = rows.map((d: any) => d.quId); +getSchoolList(); + syncDialogVisible.value = true + + } catch {} +} +const getSchoolList = async () => { + loadingSchool.value = true + try { + const data = await QuestionApi.getSchoolName(queryParamsSchool); + + listSchool.value = data.list + totalSchool.value = data.total + } finally { + loadingSchool.value = false + } +} +const handleQuerySchool = () => { + queryParamsSchool.pageNo = 1 + getSchoolList() +} +const handleCloseSyncDialog = () => { + syncDialogVisible.value = false + queryParamsSchool.name = '' + listSchool.value = [] + totalSchool.value = 0 +} +const confirmSync = () => { + if (selectedSchool.value.length === 0) { + ElMessage.warning('请先选择要同步的学校'); + return; + } + + const selectedIds = selectedSchool.value.map(item => item.ququeName); + console.log('选中的ID:', selectedIds); + + const rows = selections.value; + selectedRows.value = rows.map((d: any) => d.quId); + console.log(selectedRows.value+"选中的试题") + + const payload = { + queueNames: selectedIds, + questionIds: selectedRows.value + }; + console.log(payload+"payload") + QuestionApi.doPush(payload).then( + () => { + ElMessage.success('推送成功'); + syncDialogVisible.value = false; + getList(); + } + +).catch(() => { + ElMessage.error('推送失败'); + } + +); + +}; +const connectSchoolAll = () => { + if (selectedSchool.value.length === 0) { + ElMessage.warning('请先选择要连接的学校'); + return; + } + const selectedIds = selectedSchool.value.map(item => item.ququeName); + console.log('选中的ID:', selectedIds); + + QuestionApi.connectSchoolAll(selectedIds).then(() => { + ElMessage.success('连接成功'); + }).catch(() => { + ElMessage.error('同步失败'); + }); +}; + + + const connectTent = async () => { try { const res = await QuestionApi.rabbitmqConnect(); diff --git a/src/views/task/exam/components/steps/step1/components/step-edit.vue b/src/views/task/exam/components/steps/step1/components/step-edit.vue index 385898a..e25f2ed 100644 --- a/src/views/task/exam/components/steps/step1/components/step-edit.vue +++ b/src/views/task/exam/components/steps/step1/components/step-edit.vue @@ -212,7 +212,7 @@ const open = async (type: 'create' | 'update', data?: any) => { schemeId: undefined, taskId: props.taskId, spName: undefined, - quLevel: undefined, + quLevel: 3, quTitle:undefined, keyword: [], pointName: [], @@ -375,6 +375,12 @@ watch( }, { deep: true } ) +watch(() => form.value.spName, (newVal) => { + if (newVal) { + form.value.quTitle = newVal + } +}) + watch( () => [form.value.quNumbers, form.value.quScores], () => { diff --git a/src/views/task/exam/components/task-add.vue b/src/views/task/exam/components/task-add.vue index 14e2504..2181516 100644 --- a/src/views/task/exam/components/task-add.vue +++ b/src/views/task/exam/components/task-add.vue @@ -200,13 +200,8 @@ const fetchSpecialtyOptions = async () => { /** 弹窗打开事件 */ const open = () => { - if (props.data) { - assignFields(props.data); - isUpdate.value = true; - } else { resetFields(); - isUpdate.value = false; - } + // 设置批次为 当前时间 + 5位随机数 const now = new Date(); const pad = (n) => n.toString().padStart(2, '0'); diff --git a/src/views/task/exam/components/task-edit.vue b/src/views/task/exam/components/task-edit.vue index 63dca09..fa3df6b 100644 --- a/src/views/task/exam/components/task-edit.vue +++ b/src/views/task/exam/components/task-edit.vue @@ -1,6 +1,6 @@ - + +
+ + ← 上一步 + + + 下一步 → + +
{ }) } defineExpose({ open }) +const prevStep = () => { + // 如果下一步是考场设置(第四步),提前校验 + if (activeStep.value - 1 === 2) { + validateBeforeStepFour(props.data.taskId) + .then((msg) => { + }) + .catch((e) => { + // 校验失败,直接跳到第五步 + activeStep.value = 1 + return + }); + + + } + if (activeStep.value > 0) { + activeStep.value-- + } +} + +const nextStep = async () => { + // 如果下一步是考场设置(第四步),提前校验 + if (activeStep.value + 1 === 2) { + validateBeforeStepFour(props.data.taskId) + + .then((msg) => { + }) + .catch((e) => { + // 校验失败,直接跳到第五步 + activeStep.value = 3 + return + }); + + + } + + if (activeStep.value < stepTitles.length - 1) { + activeStep.value++ + } +} const handleCancel = () => { isVisible.value = false } diff --git a/src/views/task/selftrans/collegeexam/components/steps/step1/components/step-edit.vue b/src/views/task/selftrans/collegeexam/components/steps/step1/components/step-edit.vue index fc00e83..eec693a 100644 --- a/src/views/task/selftrans/collegeexam/components/steps/step1/components/step-edit.vue +++ b/src/views/task/selftrans/collegeexam/components/steps/step1/components/step-edit.vue @@ -213,7 +213,7 @@ const open = async (type: 'create' | 'update', data?: any) => { schemeId: undefined, taskId: props.taskId, spName: undefined, - quLevel: undefined, + quLevel: 3, quTitle:undefined, keyword: [], pointName: [], @@ -375,6 +375,12 @@ watch( }, { deep: true } ) +watch(() => form.value.spName, (newVal) => { + if (newVal) { + form.value.quTitle = newVal + } +}) + watch( () => [form.value.quNumbers, form.value.quScores], () => { diff --git a/src/views/task/selftrans/collegeexam/components/task-add.vue b/src/views/task/selftrans/collegeexam/components/task-add.vue index 9223018..37b4d15 100644 --- a/src/views/task/selftrans/collegeexam/components/task-add.vue +++ b/src/views/task/selftrans/collegeexam/components/task-add.vue @@ -199,14 +199,15 @@ const fetchSpecialtyOptions = async () => { }; /** 弹窗打开事件 */ - const handleOpen = () => { + const open = () => { // if (props.data) { // assignFields(props.data); // isUpdate.value = true; // } else { - // resetFields(); + // // isUpdate.value = false; // } + resetFields(); // 设置批次为 当前时间 + 5位随机数 const now = new Date(); const pad = (n) => n.toString().padStart(2, '0'); @@ -233,5 +234,5 @@ const fetchSpecialtyOptions = async () => { onMounted(() => { fetchSpecialtyOptions(); }); -defineExpose({ handleOpen }) +defineExpose({ open }) \ No newline at end of file diff --git a/src/views/task/selftrans/collegeexam/components/task-edit.vue b/src/views/task/selftrans/collegeexam/components/task-edit.vue index e21ece9..3d757d3 100644 --- a/src/views/task/selftrans/collegeexam/components/task-edit.vue +++ b/src/views/task/selftrans/collegeexam/components/task-edit.vue @@ -1,6 +1,6 @@ - + +
+ + ← 上一步 + + + 下一步 → + +
{ + // 如果下一步是考场设置(第四步),提前校验 + if (activeStep.value - 1 === 2) { + validateBeforeStepFour(props.data.taskId) + .then((msg) => { + }) + .catch((e) => { + // 校验失败,直接跳到第五步 + activeStep.value = 1 + return + }); + + + } + if (activeStep.value > 0) { + activeStep.value-- + } +} + +const nextStep = async () => { + // 如果下一步是考场设置(第四步),提前校验 + if (activeStep.value + 1 === 2) { + validateBeforeStepFour(props.data.taskId) + + .then((msg) => { + }) + .catch((e) => { + // 校验失败,直接跳到第五步 + activeStep.value = 3 + return + }); + + + } + + if (activeStep.value < stepTitles.length - 1) { + activeStep.value++ + } +} /** 打开弹窗 */ const open = async (type, row) => { isVisible.value = true diff --git a/src/views/task/selftrans/module/components/steps/step1/components/step-edit.vue b/src/views/task/selftrans/module/components/steps/step1/components/step-edit.vue index 7d8499d..091ff8d 100644 --- a/src/views/task/selftrans/module/components/steps/step1/components/step-edit.vue +++ b/src/views/task/selftrans/module/components/steps/step1/components/step-edit.vue @@ -213,7 +213,7 @@ const open = async (type: 'create' | 'update', data?: any) => { schemeId: undefined, taskId: props.taskId, spName: undefined, - quLevel: undefined, + quLevel: 3, quTitle:undefined, keyword: [], pointName: [], @@ -376,6 +376,12 @@ watch( }, { deep: true } ) +watch(() => form.value.spName, (newVal) => { + if (newVal) { + form.value.quTitle = newVal + } +}) + watch( () => [form.value.quNumbers, form.value.quScores], () => { diff --git a/src/views/task/selftrans/module/components/task-add.vue b/src/views/task/selftrans/module/components/task-add.vue index 486dc23..4d830a5 100644 --- a/src/views/task/selftrans/module/components/task-add.vue +++ b/src/views/task/selftrans/module/components/task-add.vue @@ -199,7 +199,7 @@ const fetchSpecialtyOptions = async () => { }; /** 弹窗打开事件 */ - const handleOpen = () => { + const open = () => { // if (props.data) { // assignFields(props.data); // isUpdate.value = true; @@ -207,7 +207,7 @@ const fetchSpecialtyOptions = async () => { // resetFields(); // isUpdate.value = false; // } - + resetFields(); // 设置批次为 当前时间 + 5位随机数 const now = new Date(); const pad = (n) => n.toString().padStart(2, '0'); @@ -234,5 +234,5 @@ const fetchSpecialtyOptions = async () => { onMounted(() => { fetchSpecialtyOptions(); }); -defineExpose({ handleOpen }) +defineExpose({ open }) \ No newline at end of file diff --git a/src/views/task/selftrans/module/components/task-edit.vue b/src/views/task/selftrans/module/components/task-edit.vue index 47225d6..3b38800 100644 --- a/src/views/task/selftrans/module/components/task-edit.vue +++ b/src/views/task/selftrans/module/components/task-edit.vue @@ -1,6 +1,6 @@ - + +
+ + ← 上一步 + + + 下一步 → + +
{ + // 如果下一步是考场设置(第四步),提前校验 + if (activeStep.value - 1 === 2) { + validateBeforeStepFour(props.data.taskId) + .then((msg) => { + }) + .catch((e) => { + // 校验失败,直接跳到第五步 + activeStep.value = 1 + return + }); + + + } + if (activeStep.value > 0) { + activeStep.value-- + } +} + +const nextStep = async () => { + // 如果下一步是考场设置(第四步),提前校验 + if (activeStep.value + 1 === 2) { + validateBeforeStepFour(props.data.taskId) + + .then((msg) => { + }) + .catch((e) => { + // 校验失败,直接跳到第五步 + activeStep.value = 3 + return + }); + + + } + + if (activeStep.value < stepTitles.length - 1) { + activeStep.value++ + } +} /** 打开弹窗 */ const open = async (type, row) => { isVisible.value = true diff --git a/src/views/task/selftrans/random/components/steps/step1/components/step-edit.vue b/src/views/task/selftrans/random/components/steps/step1/components/step-edit.vue index 17cf8eb..145548f 100644 --- a/src/views/task/selftrans/random/components/steps/step1/components/step-edit.vue +++ b/src/views/task/selftrans/random/components/steps/step1/components/step-edit.vue @@ -213,7 +213,7 @@ const open = async (type: 'create' | 'update', data?: any) => { schemeId: undefined, taskId: props.taskId, spName: undefined, - quLevel: undefined, + quLevel: 3, quTitle:undefined, keyword: [], pointName: [], @@ -374,6 +374,12 @@ watch( }, { deep: true } ) +watch(() => form.value.spName, (newVal) => { + if (newVal) { + form.value.quTitle = newVal + } +}) + watch( () => [form.value.quNumbers, form.value.quScores], () => { diff --git a/src/views/task/selftrans/random/components/task-add.vue b/src/views/task/selftrans/random/components/task-add.vue index 2240003..b15c5d1 100644 --- a/src/views/task/selftrans/random/components/task-add.vue +++ b/src/views/task/selftrans/random/components/task-add.vue @@ -199,7 +199,7 @@ const fetchSpecialtyOptions = async () => { }; /** 弹窗打开事件 */ - const handleOpen = () => { + const open = () => { // if (props.data) { // assignFields(props.data); // isUpdate.value = true; @@ -207,7 +207,7 @@ const fetchSpecialtyOptions = async () => { // resetFields(); // isUpdate.value = false; // } - +resetFields(); // 设置批次为 当前时间 + 5位随机数 const now = new Date(); const pad = (n) => n.toString().padStart(2, '0'); @@ -234,5 +234,5 @@ const fetchSpecialtyOptions = async () => { onMounted(() => { fetchSpecialtyOptions(); }); -defineExpose({ handleOpen }) +defineExpose({ open }) \ No newline at end of file diff --git a/src/views/task/selftrans/random/components/task-edit.vue b/src/views/task/selftrans/random/components/task-edit.vue index bca8961..27e440b 100644 --- a/src/views/task/selftrans/random/components/task-edit.vue +++ b/src/views/task/selftrans/random/components/task-edit.vue @@ -1,6 +1,6 @@ - + +
+ + ← 上一步 + + + 下一步 → + +
{ + // 如果下一步是考场设置(第四步),提前校验 + if (activeStep.value - 1 === 2) { + validateBeforeStepFour(props.data.taskId) + .then((msg) => { + }) + .catch((e) => { + // 校验失败,直接跳到第一步 + activeStep.value = 1 + return + }); + + + } + if (activeStep.value > 0) { + activeStep.value-- + } +} + +const nextStep = async () => { + // 如果下一步是考场设置(第四步),提前校验 + if (activeStep.value + 1 === 2) { + validateBeforeStepFour(props.data.taskId) + + .then((msg) => { + }) + .catch((e) => { + // 校验失败,直接跳到第3步 + activeStep.value = 3 + return + }); + + + } + + if (activeStep.value < stepTitles.length - 1) { + activeStep.value++ + } +} /** 打开弹窗 */ const open = async (type, row) => { isVisible.value = true diff --git a/src/views/task/sprint/components/steps/step1/components/step-edit.vue b/src/views/task/sprint/components/steps/step1/components/step-edit.vue index 2b6246a..22efd3c 100644 --- a/src/views/task/sprint/components/steps/step1/components/step-edit.vue +++ b/src/views/task/sprint/components/steps/step1/components/step-edit.vue @@ -213,7 +213,7 @@ const open = async (type: 'create' | 'update', data?: any) => { schemeId: undefined, taskId: props.taskId, spName: undefined, - quLevel: undefined, + quLevel: 3, quTitle:undefined, keyword: [], pointName: [], @@ -376,6 +376,12 @@ watch( }, { deep: true } ) +watch(() => form.value.spName, (newVal) => { + if (newVal) { + form.value.quTitle = newVal + } +}) + watch( () => [form.value.quNumbers, form.value.quScores], () => { diff --git a/src/views/task/sprint/components/task-add.vue b/src/views/task/sprint/components/task-add.vue index 627f58b..36b17a7 100644 --- a/src/views/task/sprint/components/task-add.vue +++ b/src/views/task/sprint/components/task-add.vue @@ -207,6 +207,7 @@ const fetchSpecialtyOptions = async () => { // resetFields(); // isUpdate.value = false; // } + resetFields(); // 设置批次为 当前时间 + 5位随机数 const now = new Date(); const pad = (n) => n.toString().padStart(2, '0'); diff --git a/src/views/task/sprint/components/task-edit.vue b/src/views/task/sprint/components/task-edit.vue index 63dca09..e5e0c1b 100644 --- a/src/views/task/sprint/components/task-edit.vue +++ b/src/views/task/sprint/components/task-edit.vue @@ -1,6 +1,6 @@ - + +
+ + ← 上一步 + + + 下一步 → + +
{ }) } defineExpose({ open }) +const prevStep = () => { + // 如果下一步是考场设置(第四步),提前校验 + if (activeStep.value - 1 === 3) { + validateBeforeStepFour(props.data.taskId) + .then((msg) => { + }) + .catch((e) => { + // 校验失败,直接跳到第五步 + activeStep.value = 2 + return + }); + + + } + if (activeStep.value > 0) { + activeStep.value-- + } +} + +const nextStep = async () => { + // 如果下一步是考场设置(第四步),提前校验 + if (activeStep.value + 1 === 3) { + validateBeforeStepFour(props.data.taskId) + + .then((msg) => { + }) + .catch((e) => { + // 校验失败,直接跳到第五步 + activeStep.value = 4 + return + }); + + + } + + if (activeStep.value < stepTitles.length - 1) { + activeStep.value++ + } +} const handleCancel = () => { isVisible.value = false } diff --git a/src/views/task/trans/components/steps/step1/components/step-edit.vue b/src/views/task/trans/components/steps/step1/components/step-edit.vue index d99c88b..81d8465 100644 --- a/src/views/task/trans/components/steps/step1/components/step-edit.vue +++ b/src/views/task/trans/components/steps/step1/components/step-edit.vue @@ -213,7 +213,7 @@ const open = async (type: 'create' | 'update', data?: any) => { schemeId: undefined, taskId: props.taskId, spName: undefined, - quLevel: undefined, + quLevel: 3, quTitle:undefined, keyword: [], pointName: [], @@ -375,6 +375,12 @@ watch( }, { deep: true } ) +watch(() => form.value.spName, (newVal) => { + if (newVal) { + form.value.quTitle = newVal + } +}) + watch( () => [form.value.quNumbers, form.value.quScores], () => { diff --git a/src/views/task/trans/components/task-add.vue b/src/views/task/trans/components/task-add.vue index b487d3b..d86efc1 100644 --- a/src/views/task/trans/components/task-add.vue +++ b/src/views/task/trans/components/task-add.vue @@ -209,6 +209,7 @@ const fetchSpecialtyOptions = async () => { // resetFields(); // isUpdate.value = false; // } + resetFields(); // 设置批次为 当前时间 + 5位随机数 const now = new Date(); const pad = (n) => n.toString().padStart(2, '0'); diff --git a/src/views/task/trans/components/task-edit.vue b/src/views/task/trans/components/task-edit.vue index 37ff456..c472c9c 100644 --- a/src/views/task/trans/components/task-edit.vue +++ b/src/views/task/trans/components/task-edit.vue @@ -1,6 +1,6 @@