【修改】试卷任务参数,【新增】试题数据交互
This commit is contained in:
@@ -37,21 +37,31 @@
|
||||
<!-- class="!w-240px"-->
|
||||
<!-- />-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- <el-form-item label="状态" prop="status">-->
|
||||
<!-- <el-select-->
|
||||
<!-- v-model="queryParams.status"-->
|
||||
<!-- placeholder="请选择用户状态"-->
|
||||
<!-- clearable-->
|
||||
<!-- class="!w-240px"-->
|
||||
<!-- >-->
|
||||
<!-- <el-option-->
|
||||
<!-- v-for="dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)"-->
|
||||
<!-- :key="dict.value"-->
|
||||
<!-- :label="dict.label"-->
|
||||
<!-- :value="dict.value"-->
|
||||
<!-- />-->
|
||||
<!-- </el-select>-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- <el-form-item label="审核状态" prop="audit">
|
||||
<el-select
|
||||
v-model="queryParams.audit"
|
||||
placeholder="请选择审核状态"
|
||||
class="!w-240px"
|
||||
clearable
|
||||
>
|
||||
<el-option
|
||||
v-for="dict in getIntDictOptions(DICT_TYPE.QUESTION_AUDIT)"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item> -->
|
||||
<el-form-item>
|
||||
<!-- 状态切换单独一行 -->
|
||||
<el-radio-group v-model="queryParams.audit" @change="handleQuery">
|
||||
<el-radio-button :label="''">全部</el-radio-button>
|
||||
<el-radio-button :label="'0'">审核通过</el-radio-button>
|
||||
<el-radio-button :label="'1'">未审核</el-radio-button>
|
||||
<el-radio-button :label="'2'">待审核</el-radio-button>
|
||||
<el-radio-button :label="'3'">审核未通过</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="创建时间" prop="createTime">-->
|
||||
<!-- <el-date-picker-->
|
||||
<!-- v-model="queryParams.createTime"-->
|
||||
@@ -71,7 +81,11 @@
|
||||
@click="openForm('create')"
|
||||
>
|
||||
<Icon icon="ep:plus" /> 新增
|
||||
|
||||
</el-button>
|
||||
|
||||
<el-button @click="connectTent()">连接服务器</el-button>
|
||||
<el-button @click="connectTong()">同步试题</el-button>
|
||||
<!-- <el-button-->
|
||||
<!-- type="warning"-->
|
||||
<!-- plain-->
|
||||
@@ -90,41 +104,22 @@
|
||||
<!-- <Icon icon="ep:download" />导出-->
|
||||
<!-- </el-button>-->
|
||||
</el-form-item>
|
||||
<!-- 审核按钮单独显示在下一行 -->
|
||||
<el-form-item v-if="queryParams.audit === '1'" >
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
@click="handleAudit()"
|
||||
>
|
||||
<Icon icon="ep:plus" /> 推送试题
|
||||
</el-button>
|
||||
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</ContentWrap>
|
||||
<ContentWrap>
|
||||
<el-table v-loading="loading" :data="list">
|
||||
<el-table-column label="试题编号" align="center" key="id" prop="quId" :show-overflow-tooltip="true"/>
|
||||
<el-table-column
|
||||
label="试题名称"
|
||||
align="center"
|
||||
prop="chapteridDictText"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="用户昵称"
|
||||
align="center"
|
||||
prop="nickname"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="难度"
|
||||
align="center"
|
||||
prop="quLevel"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
|
||||
<el-table-column label="状态" key="status">
|
||||
<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" prop="specialtyName" width="120" />
|
||||
<el-table-column
|
||||
label="课程"
|
||||
@@ -132,6 +127,30 @@
|
||||
prop="courseName"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
label="章节名称"
|
||||
align="center"
|
||||
prop="chapteridDictText"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<!-- <el-table-column
|
||||
label="用户昵称"
|
||||
align="center"
|
||||
prop="nickname"
|
||||
:show-overflow-tooltip="true"
|
||||
/> -->
|
||||
<el-table-column
|
||||
label="难度"
|
||||
align="center"
|
||||
prop="quLevel"
|
||||
:show-overflow-tooltip="true"
|
||||
>
|
||||
<template #default="scope">
|
||||
<dict-tag :type="DICT_TYPE.EXAM_QUE_DIFF" :value="scope.row.quLevel" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
|
||||
<el-table-column
|
||||
label="知识点"
|
||||
align="center"
|
||||
@@ -143,8 +162,13 @@
|
||||
align="center"
|
||||
prop="audit"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
>
|
||||
<template #default="scope">
|
||||
<dict-tag :type="DICT_TYPE.QUESTION_AUDIT" :value="scope.row.audit" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<!-- <el-table-column
|
||||
label="来源"
|
||||
align="center"
|
||||
prop="resource"
|
||||
@@ -155,13 +179,24 @@
|
||||
align="center"
|
||||
prop="type"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
<el-table-column
|
||||
/> -->
|
||||
<!-- <el-table-column
|
||||
label="试题版本"
|
||||
align="center"
|
||||
prop="version"
|
||||
:show-overflow-tooltip="true"
|
||||
/>
|
||||
/> -->
|
||||
<el-table-column label="状态" key="status">
|
||||
<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"
|
||||
@@ -216,7 +251,7 @@ import download from '@/utils/download'
|
||||
import { CommonStatusEnum } from '@/utils/constants'
|
||||
import * as UserApi from '@/api/system/user'
|
||||
import * as QuestionApi from '@/api/paper/question'
|
||||
|
||||
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
|
||||
import ChoiceForm from './ChoiceForm.vue'
|
||||
import CdesignForm from './CdesignForm.vue'
|
||||
|
||||
@@ -238,6 +273,7 @@ const queryParams = reactive({
|
||||
specialtyName: "",
|
||||
courseName: "",
|
||||
subjectName: "",
|
||||
audit:"",
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
})
|
||||
@@ -307,6 +343,53 @@ const handleSpecialtyNodeClick = async (row: any) => {
|
||||
await getList()
|
||||
}
|
||||
|
||||
/** 表格选中数据 */
|
||||
const selections = ref([]);
|
||||
|
||||
const selectedRows = ref<string[]>([])
|
||||
const handleAudit = async () => {
|
||||
try {
|
||||
const rows = selections.value;
|
||||
if (!rows.length) {
|
||||
message.error('请至少选择一条数据');
|
||||
return;
|
||||
}
|
||||
|
||||
selectedRows.value = rows.map((d: any) => d.quId);
|
||||
console.log(selectedRows.value)
|
||||
|
||||
const requestBody = {
|
||||
type: '0',
|
||||
quIds: selectedRows.value
|
||||
}
|
||||
await QuestionApi.auditQuestion(requestBody)
|
||||
message.success(t('推送成功'))
|
||||
// 刷新列表
|
||||
await getList()
|
||||
} catch {}
|
||||
}
|
||||
const connectTent = async () => {
|
||||
try {
|
||||
const res = await QuestionApi.rabbitmqConnect();
|
||||
console.log(res)
|
||||
message.success(t(res));
|
||||
} catch (error) {
|
||||
message.error(t(`连接失败: ${error?.message || '未知错误'}`));
|
||||
}
|
||||
}
|
||||
|
||||
const connectTong = async () => {
|
||||
try {
|
||||
const res = await QuestionApi.receiveAll();
|
||||
message.success(t('同步成功'));
|
||||
} catch (error) {
|
||||
message.error(t(`连接失败: ${error?.message || '未知错误'}`));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
interface Tree {
|
||||
id: number
|
||||
name: string
|
||||
|
Reference in New Issue
Block a user