This commit is contained in:
lcw
2025-09-26 16:13:54 +08:00
parent e7a5f443f2
commit eb91b68d03
86 changed files with 143 additions and 170 deletions

View File

@ -25,12 +25,12 @@
</el-row>
<!-- 单选 和多选 和判断 -->
<el-row>
<el-col :span="8">
<el-form-item label="选项A">
<el-input v-model="listQuery.optionA" placeholder="请输入选项A" />
<el-col :span="8" v-for="(item,index) in options" :key="index">
<el-form-item :label="`${item.zdmc}`" >
<el-input v-model="listQuery['option'+item.dm]" :placeholder="`请输入选项${item.zdmc}`" />
</el-form-item>
</el-col>
<el-col :span="8">
<!-- <el-col :span="8">
<el-form-item label="选项B">
<el-input v-model="listQuery.optionB" placeholder="请输入选项B" />
</el-form-item>
@ -49,20 +49,25 @@
<el-form-item label="选项E">
<el-input v-model="listQuery.optionE" placeholder="请输入选项E" />
</el-form-item>
</el-col>
</el-col> -->
</el-row>
<!-- 答案 -->
<el-row>
<el-col :span="8">
<el-form-item label="答案" style="width:100%" v-if="listQuery.type == '01' || listQuery.type == '02'">
<el-select v-model="listQuery.correctAnswer" placeholder="请选择答案" :multiple="multiple" style="width:100%">
<el-option v-for="item in props.dic.D_BA_TKDA" :key="item" :label="item.zdmc" :value="item.dm"></el-option>
<el-form-item label="答案" style="width:100%" v-if="listQuery.type == '01'|| listQuery.type == '02'">
<el-select v-model="listQuery.correctAnswer" placeholder="请选择答案" :multiple="listQuery.type == '02'" style="width:100%">
<el-option v-for="item in options" :key="item" :label="item.dm" :value="item.dm"></el-option>
</el-select>
</el-form-item >
<el-form-item label="答案" style="width:100%" v-else>
<el-select v-model="listQuery.isTrue" placeholder="请选择答案" :multiple="multiple" style="width:100%">
<el-option v-for="item in options" :key="item" :label="item.dm" :value="item.dm"></el-option>
</el-select>
</el-form-item>
<el-form-item label="答案" style="width:100%" prop="isTrue" v-else>
<!-- <el-form-item label="答案" style="width:100%" prop="isTrue" v-else>
<el-input v-model="listQuery.isTrue" placeholder="请输入答案" />
</el-form-item>
</el-form-item> -->
</el-col>
</el-row>
</el-form>
@ -79,6 +84,22 @@ const props = defineProps({
default: () => {}
},
})
const AnswerDictionary = [
{ dm: 'A', zdmc: '选项A' },
{ dm: 'B', zdmc: '选项B' },
{ dm: 'C', zdmc: '选项C' },
{ dm: 'D', zdmc: '选项D' },
{ dm: 'E', zdmc: '选项E' },
]
const emit = defineEmits(["refresh"]);
const { proxy } = getCurrentInstance();
@ -86,9 +107,10 @@ const { proxy } = getCurrentInstance();
const dialogForm = ref(false);
const title = ref('');
const listQuery = ref({})
const FormRef = ref();
const FormRef = ref(null);
const loading = ref(false);
const multiple = ref(false)
const options=ref([])
const rules = reactive({
tm: [{ required: true, message: "请输入题目", trigger: "blur" }],
type: [{ required: true, message: "请选择题型", trigger: "blur" }],
@ -98,7 +120,10 @@ const rules = reactive({
const init = (type, row) => {
dialogForm.value = true;
title.value = type == "add" ? "新增" : type == "edit" ? "编辑" : "详情";
if(row){
if (row) {
console.log(row);
changeType(row.type);
qcckPost({},`/bagl/mosty-base/baxx/tkgl/getInfo/${row.id}`).then(res=>{
res.correctAnswer = res.type == '02'? res.correctAnswer.split(','):res.correctAnswer;
multiple.value = res.type == '02' ? true:false;
@ -111,10 +136,15 @@ const changeType = (val) => {
multiple.value = val == '02' ? true : false;
switch (val) {
case '01':
options.value = AnswerDictionary.slice(0, 4)
listQuery.value.isTrue = ''
break
case '02':
options.value=AnswerDictionary
listQuery.value.isTrue = ''
break;
case '03':
options.value=AnswerDictionary.slice(0,2)
listQuery.value.correctAnswer = []
break;
}
@ -142,7 +172,7 @@ const close = () => {
dialogForm.value = false;
listQuery.value = { }
multiple.value = false;
FormRef.value.reset()
// FormRef.value.reset()
};;
defineExpose({init})

View File

@ -8,6 +8,12 @@
</el-icon>
<span style="vertical-align: middle">新增</span>
</el-button>
<el-button type="primary" @click="handleDelete(ids)">
<el-icon style="vertical-align: middle">
<CirclePlus />
</el-icon>
<span style="vertical-align: middle">批量删除</span>
</el-button>
</PageTitle>
</div>
<!-- 搜索 -->
@ -24,8 +30,8 @@
</template>
<template #answer="{ row }">
<span v-if="row.type == '01' || row.type == '02'">
<span v-for="val in row.correctAnswer" class="flex items-center just-center">
<DictTag :value="val" :tag="false" :options="D_BA_TKDA" />
<span v-for="(val,idx) in row.correctAnswer" >
{{val}}<span v-if="row.correctAnswer.length - 1 != idx">,</span>
</span>
</span>
<span v-else>{{ row.isTrue }}</span>
@ -75,7 +81,7 @@ const pageData = reactive({
keyCount: 0,
tableConfiger: {
rowHieght: 61,
showSelectType: "null",
showSelectType: "checkBox",
loading: false
},
total: 0,
@ -92,7 +98,7 @@ const pageData = reactive({
{ label: "选项C", prop: "optionC" },
{ label: "选项D", prop: "optionD" },
{ label: "选项E", prop: "optionE" },
{ label: "答案", prop: "answer", showSolt: true}
{ label: "答案", prop: "answer", showSolt: true }
]
});
@ -107,7 +113,10 @@ const onSearch = (val) => {
pageData.pageConfiger.pageCurrent = 1;
getList();
};
const ids=ref()
const chooseData = (val) => {
ids.value=val.map(item=>item.id)
}
const changeNo = (val) => {
pageData.pageConfiger.pageNum = val;
getList();
@ -122,6 +131,8 @@ const getList = () => {
pageData.tableConfiger.loading = true;
let data = { ...pageData.pageConfiger, ...queryFrom.value };
qcckPost(data, "/bagl/mosty-base/baxx/tkgl/page").then((res) => {
console.log(res);
let arr = res.records || []
arr.forEach(item => {
item.correctAnswer = item.correctAnswer.split(',')
@ -138,7 +149,7 @@ const getList = () => {
// 删除
const handleDelete = (ids) => {
proxy.$modal.confirm("是否确认删除该题目?").then(() => {
qcckPost(ids, "/bagl/mosty-base/baxx/tkgl/remove").then(() => {
qcckPost({idList:ids}, "/bagl/mosty-base/baxx/tkgl/remove").then(() => {
proxy.$modal.msgSuccess("删除成功");
getList();
});