修改bug

This commit is contained in:
yangjun 2024-11-22 19:39:04 +08:00
parent 0257cb8f73
commit 2f806eac97
13 changed files with 696 additions and 422 deletions

Binary file not shown.

View File

@ -143,6 +143,14 @@ const zuoye: AppRouteModule = {
title: '教学大纲',
},
},
{
path: 'dqkcKhcl',
name: 'dqkcKhcl',
component: () => import('/@/views/zy/zyInfo/ZyInfoKhclList.vue'),
meta: {
title: '考核材料',
},
},
]
}

View File

@ -461,7 +461,7 @@
</a-card>
</div>
<!-- 判断题 -->
<div style="width: 100%" v-if="(item.wjType == 3 || item.wjType == '3') && (item.wjSubtype == 305 || item.wjSubtype == '305')">
<div style="width: 100%" v-else-if="(item.wjType == 3 || item.wjType == '3') && (item.wjSubtype == 305 || item.wjSubtype == '305')">
<a-card>
<template #title>
<div>

View File

@ -16,7 +16,7 @@
<!-- 题干信息 -->
<div style="width: 100%; padding: 0 40px; margin: 0 auto" v-for="(item, index) in tiganData" :key="index">
<!-- 单选题 -->
<div style="width: 100%" v-if="item.wjType == 3 && item.wjSubtype==null">
<div style="width: 100%" v-if="(item.wjType == 3 || item.wjType == '3') && item.wjSubtype==null">
<div style="text-align: left; width: 100%; font-weight: bold; line-height: 80px; font-size: 18px">单选题</div>
<a-card>
<template #title>
@ -40,7 +40,7 @@
</a-card>
</div>
<!-- 判断题 -->
<div style="width: 100%" v-if="item.wjType == 3 && item.wjSubtype == 305">
<div style="width: 100%" v-else-if="item.wjType == 3 && item.wjSubtype == 305">
<div style="text-align: left; width: 100%; font-weight: bold; line-height: 80px; font-size: 18px">判断题</div>
<a-card>
<template #title>

View File

@ -176,7 +176,7 @@
>题目分值<span class="answer-word">{{ item.wjScore }}</span> </div
>
<div style="margin-left: 40px"
>所得分值<span class="answer-word">{{ item.itemScore?item.itemScore:'待评' }}</span> </div
>所得分值<span class="answer-word">{{ item.itemScore!=null?item.itemScore:'待评' }}</span> </div
>
</template>
<a-row>
@ -210,7 +210,7 @@
>题目分值<span class="answer-word">{{ item.wjScore }}</span> </div
>
<div style="margin-left: 40px"
>所得分值<span class="answer-word">{{ item.itemScore?item.itemScore:'待评' }}</span> </div
>所得分值<span class="answer-word">{{ item.itemScore!=null?item.itemScore:'待评' }}</span> </div
>
</template>
<a-row>

View File

@ -34,7 +34,7 @@
>题目分值<span class="answer-word">{{ item.wjScore }}</span> </div
>
<div style="margin-left: 40px"
>所得分值<span class="answer-word">{{ item.itemScore ? item.itemScore : '待评' }}</span> </div
>所得分值<span class="answer-word">{{ item.itemScore!=null ? item.itemScore : '待评' }}</span> </div
>
</template>
<a-row>
@ -55,12 +55,20 @@
<a-col :span="6">
<div style="text-align: right">
<span>评分</span>
<a-input
<!-- <a-input
placeholder="请输入评分"
v-model:value="item.itemScore2"
style="width: 70%; margin-bottom: 5px; margin-left: 10px"
@change="emitChange(item)"
/>
/> -->
<a-select
style="width: 70%; margin-bottom: 5px; margin-left: 10px"
v-model:value="item.itemScore2"
placeholder="请选择分数"
@change="emitChange(item)"
>
<a-select-option :value="item" v-for="(item) in scoreData">{{item}}</a-select-option>
</a-select>
</div>
<!-- <div style="text-align: center; margin-top: 20px">
<a-button type="primary" @click="submitForm">保存</a-button>
@ -83,7 +91,7 @@
>题目分值<span class="answer-word">{{ item.wjScore }}</span> </div
>
<div style="margin-left: 40px"
>所得分值<span class="answer-word">{{ item.itemScore ? item.itemScore : '待评' }}</span> </div
>所得分值<span class="answer-word">{{ item.itemScore!=null ? item.itemScore : '待评' }}</span> </div
>
</template>
<a-row>
@ -95,12 +103,15 @@
<a-col :span="6">
<div style="text-align: right">
<span>评分</span>
<a-input
placeholder="请输入评分"
v-model:value="item.itemScore2"
<a-select
style="width: 70%; margin-bottom: 5px; margin-left: 10px"
v-model:value="item.itemScore2"
placeholder="请选择分数"
@change="emitChange(item)"
/>
>
<a-select-option :value="item" v-for="(item) in scoreData">{{item}}</a-select-option>
</a-select>
</div>
</a-col>
</a-row>
@ -136,7 +147,9 @@ const infoData = ref<any>({});
const { createMessage } = useMessage();
const emit = defineEmits(['register', 'ok']);
const scoreData = [
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,60,70,80,90,100
]
function getUrl(record) {
var file = baseApiUrl + '/' + record;
console.log('👩‍👩‍👧', file);
@ -199,6 +212,7 @@ function emitChange(record) {
record.itemScore = itemScore2;
}
}
record.itemScore = itemScore2;
}
//
@ -206,15 +220,17 @@ async function submitForm() {
var list = tiganData.value;
console.log('👩‍🎤', list);
for (var i = 0; i < list.length; i++) {
if (!list[i].itemScore) {
createMessage.warning('您有未填写的评分,请填写评分!');
if (!(list[i].itemScore+"")) {
console.log("🚀 ~ submitForm ~ list[i].itemScore:", list[i].itemScore+"")
createMessage.warning('第【'+(i+1)+'】题您未填写评分,请填写评分!');
return;
}
}
console.log(11111111111111);
// console.log(list);
console.log("🚀 ~ submitForm ~ list:", list)
defHttp.post({ url: '/wjxDjxx/editSdpf', params: list }).then((res) => {
console.log('😕', res);
createMessage.success('保存成功');
// createMessage.success('');
emit('ok');
});
}
@ -222,8 +238,8 @@ async function submitNextForm() {
var list = tiganData.value;
console.log('👩‍🎤', list);
for (var i = 0; i < list.length; i++) {
if (!list[i].itemScore) {
createMessage.warning('未填写评分,请填写评分!');
if (!(list[i].itemScore+"")) {
createMessage.warning('第【'+(i+1)+'】题您未填写评分,请填写评分!');
return;
}
}

View File

@ -106,11 +106,13 @@
<div style="padding: 20px; margin: 20px">
<a-row style="min-height: 100px">
<a-col :span="4" style="padding: 10px">
<a-card title="可选题型" style="height: 300px; border: 1px solid #e8e8e8">
<p><a-button type="primary" preIcon="ant-design:check-circle-outlined" @click="addTigan(3)">单选题</a-button></p>
<a-card title="可选题型" style="height: 360px; border: 1px solid #e8e8e8">
<p><a-button type="primary" preIcon="ant-design:check-square-outlined" @click="addTigan(3)">单选题</a-button></p>
<p><a-button type="primary" preIcon="ant-design:check-square-outlined" @click="addTigan(4)">多选题</a-button></p>
<p><a-button type="primary" preIcon="ant-design:check-square-outlined" @click="addTigan(5)">填空题</a-button></p>
<p><a-button type="primary" preIcon="ant-design:check-square-outlined" @click="addTigan(8)">文件题</a-button></p>
<p><a-button type="primary" preIcon="ant-design:check-square-outlined" @click="addTigan(502)">简答题</a-button></p>
<p><a-button type="primary" preIcon="ant-design:check-square-outlined" @click="addTigan(305)">判断题</a-button></p>
</a-card>
</a-col>
<a-col :span="20" style="overflow-y: scroll; min-height: 100px">
@ -118,7 +120,7 @@
<template #item="{ index, element: item }">
<div>
<!-- 单选题 -->
<div style="width: 100%" v-if="item.wjType == 3 || item.wjType == '3'">
<div style="width: 100%" v-if="(item.wjType == 3 || item.wjType == '3') && item.wjSubtype == null">
<a-card>
<template #title>
<div>
@ -137,18 +139,6 @@
>
<a-select-option :value="item" v-for="(item) in scoreData">{{item}}</a-select-option>
</a-select>
<!-- <span v-if="item.wjSfqh == '0'" @click="handleQiehuan(item, '1')" style="color: #9e9e9e" :disabled="editDisabled"
>自定义分数</span
>
<a-input-number
v-model:value="item.wjScore"
style="width: 120px"
v-if="item.wjSfqh == '1'"
:disabled="editDisabled"
></a-input-number>
<span v-if="item.wjSfqh == '1'" @click="handleQiehuan(item, '0')" style="color: #9e9e9e" :disabled="editDisabled"
>返回</span
> -->
</a-tooltip>
<a-tooltip placement="topRight" title="删除此题"
><Icon
@ -160,17 +150,17 @@
</a-col>
</a-row>
</div>
<JEditor2 placeholder="请填写文件上传题题干"
<JEditor2 placeholder="请填写文件题题干"
v-model:value="item.wjTitle"
:bordered="false"
:style="{ width: '30rem' }"
:auto-size="{ minRows: 1, maxRows: 5 }"
:disabled="editDisabled" v-if="!editDisabled"/>
<div v-else v-html="item.wjTitle"></div>
<div style="text-align: right;color: #c2bfbf">是否加入题库
<j-dict-select-tag type='radio' v-model:value="item.sftjtk" dictCode="yn" placeholder="是否加入题库" :disabled="editDisabled"/>
</div>
<div style="text-align: right;color: #c2bfbf" v-if="isShow">是否加入题库
<j-dict-select-tag type='radio' v-model:value="item.sftjtk" dictCode="yn" placeholder="是否加入题库" :disabled="editDisabled"/>
</div>
</template>
<a-row v-if="isShow">
<a-col :span="24" style="color: darkgrey; font-size: 13px"> 选中即为正确答案 </a-col>
@ -181,8 +171,9 @@
<a-input
placeholder="请填写选项"
v-model:value="tmxx.itemTitle"
:style="{ width: handinpwei(tmxx.itemTitle) }"
:style="{ width: '30rem' }"
:bordered="false"
:disabled="editDisabled"
/>
<span style="color: #ecb646" v-if="item.itemSelected == tmxx.itemIndex">(正确答案)</span>
<a-tooltip placement="topLeft" title="在下方添加新的选项"
@ -190,12 +181,14 @@
icon="ant-design:plus-circle-outlined"
style="cursor: pointer; margin: 5px; font-size: 20px; color: #1890ff"
@click="handleAddTmxx(tmxx, index, item.wjxWjxxTmxxList)"
v-if="!editDisabled"
/></a-tooltip>
<a-tooltip placement="topLeft" title="删除选项"
><Icon
icon="ant-design:minus-circle-outlined"
style="cursor: pointer; margin: 5px; font-size: 20px; color: #1890ff"
@click="handleRemTmxx(tmxx, index, item.wjxWjxxTmxxList)"
v-if="!editDisabled"
/></a-tooltip>
</a-radio>
</div>
@ -206,6 +199,7 @@
<div style="width: 100%" v-else-if="item.wjType == 4 || item.wjType == '4'">
<a-card>
<template #title>
<div>
<a-row>
<a-col :span="12">
@ -222,18 +216,6 @@
>
<a-select-option :value="item" v-for="(item) in scoreData">{{item}}</a-select-option>
</a-select>
<!-- <span v-if="item.wjSfqh == '0'" @click="handleQiehuan(item, '1')" style="color: #9e9e9e" :disabled="editDisabled"
>自定义分数</span
>
<a-input-number
v-model:value="item.wjScore"
style="width: 120px"
v-if="item.wjSfqh == '1'"
:disabled="editDisabled"
></a-input-number>
<span v-if="item.wjSfqh == '1'" @click="handleQiehuan(item, '0')" style="color: #9e9e9e" :disabled="editDisabled"
>返回</span
> -->
</a-tooltip>
<a-tooltip placement="topRight" title="删除此题"
><Icon
@ -252,9 +234,10 @@
:auto-size="{ minRows: 1, maxRows: 5 }"
:disabled="editDisabled" v-if="!editDisabled"/>
<div v-else v-html="item.wjTitle"></div>
<div style="text-align: right;color: #c2bfbf">是否加入题库
<j-dict-select-tag type='radio' v-model:value="item.sftjtk" dictCode="yn" placeholder="是否加入题库" :disabled="editDisabled"/>
</div>
<div style="text-align: right;color: #c2bfbf" v-if="isShow">是否加入题库
<j-dict-select-tag type='radio' v-model:value="item.sftjtk" dictCode="yn" placeholder="是否加入题库" :disabled="editDisabled"/>
</div>
</template>
<a-row v-if="isShow">
<a-col :span="24" style="color: darkgrey; font-size: 13px"> 选中即为正确答案 </a-col>
@ -268,7 +251,8 @@
placeholder="请填写选项"
v-model:value="tmxx.itemTitle"
:bordered="false"
:style="{ width: handinpwei(tmxx.itemTitle) }"
:style="{ width: '30rem' }"
:disabled="editDisabled"
/></a-checkbox>
<span style="color: #ecb646" v-if="cheGrp(item.itemSelected, tmxx.itemIndex)">(正确答案)</span>
<a-tooltip placement="topLeft" title="在下方添加新的选项"
@ -276,12 +260,14 @@
icon="ant-design:plus-circle-outlined"
style="cursor: pointer; margin: 5px; font-size: 20px; color: #1890ff"
@click="handleAddTmxx(tmxx, index, item.wjxWjxxTmxxList)"
v-if="!editDisabled"
/></a-tooltip>
<a-tooltip placement="topLeft" title="删除选项"
><Icon
icon="ant-design:minus-circle-outlined"
style="cursor: pointer; margin: 5px; font-size: 20px; color: #1890ff"
@click="handleRemTmxx(tmxx, index, item.wjxWjxxTmxxList)"
v-if="!editDisabled"
/></a-tooltip>
</a-col>
</a-row>
@ -289,7 +275,7 @@
</a-card>
</div>
<!-- 填空题 -->
<div style="width: 100%" v-else-if="item.wjType == 5 || item.wjType == '5'">
<div style="width: 100%" v-else-if="(item.wjType == 5 || item.wjType == '5') && item.wjSubtype == null">
<a-card>
<template #title>
<div>
@ -306,25 +292,9 @@
v-if="item.wjSfqh == '0'"
:disabled="editDisabled"
>
<a-select-option :value="item" v-for="(item) in scoreData">{{item}}</a-select-option>
<!-- <a-select-option value="5">5</a-select-option>
<a-select-option value="4">4</a-select-option>
<a-select-option value="3">3</a-select-option>
<a-select-option value="2">2</a-select-option>
<a-select-option value="1">1</a-select-option> -->
</a-select>
<!-- <span v-if="item.wjSfqh == '0'" @click="handleQiehuan(item, '1')" style="color: #9e9e9e" :disabled="editDisabled"
>自定义分数</span
>
<a-input-number
v-model:value="item.wjScore"
style="width: 120px"
v-if="item.wjSfqh == '1'"
:disabled="editDisabled"
></a-input-number>
<span v-if="item.wjSfqh == '1'" @click="handleQiehuan(item, '0')" style="color: #9e9e9e" :disabled="editDisabled"
>返回</span
> -->
</a-tooltip>
<a-tooltip placement="topRight" title="删除此题"
><Icon
@ -343,11 +313,12 @@
:auto-size="{ minRows: 1, maxRows: 5 }"
:disabled="editDisabled" v-if="!editDisabled"/>
<div v-else v-html="item.wjTitle"></div>
<div style="text-align: right;color: #c2bfbf">是否加入题库
<j-dict-select-tag type='radio' v-model:value="item.sftjtk" dictCode="yn" placeholder="是否加入题库" :disabled="editDisabled"/>
</div>
<div style="text-align: right;color: #c2bfbf" v-if="isShow">是否加入题库
<j-dict-select-tag type='radio' v-model:value="item.sftjtk" dictCode="yn" placeholder="是否加入题库" :disabled="editDisabled"/>
</div>
</template>
<a-row v-if="isShow">
<a-row >
<a-col :span="24">
<a-textarea
placeholder="请填写答案"
@ -355,6 +326,7 @@
:bordered="false"
style="width: 100%"
:auto-size="{ minRows: 1, maxRows: 5 }"
:disabled="editDisabled"
/>
</a-col>
</a-row>
@ -378,20 +350,9 @@
v-if="item.wjSfqh == '0'"
:disabled="editDisabled"
>
<a-select-option :value="item" v-for="(item) in scoreData">{{item}}</a-select-option>
</a-select>
<!-- <span v-if="item.wjSfqh == '0'" @click="handleQiehuan(item, '1')" style="color: #9e9e9e" :disabled="editDisabled"
>自定义分数</span
>
<a-input-number
v-model:value="item.wjScore"
style="width: 120px"
v-if="item.wjSfqh == '1'"
:disabled="editDisabled"
></a-input-number>
<span v-if="item.wjSfqh == '1'" @click="handleQiehuan(item, '0')" style="color: #9e9e9e" :disabled="editDisabled"
>返回</span
> -->
</a-tooltip>
<a-tooltip placement="topRight" title="删除此题"
><Icon
@ -403,19 +364,142 @@
</a-col>
</a-row>
</div>
<JEditor2 placeholder="请填写文件上传题题干"
<JEditor2 placeholder="请填写文件题题干"
v-model:value="item.wjTitle"
:bordered="false"
:style="{ width: '30rem' }"
:auto-size="{ minRows: 1, maxRows: 5 }"
:disabled="editDisabled" v-if="!editDisabled"/>
<div v-else v-html="item.wjTitle"></div>
<div style="text-align: right;color: #c2bfbf">是否加入题库
<j-dict-select-tag type='radio' v-model:value="item.sftjtk" dictCode="yn" placeholder="是否加入题库" :disabled="editDisabled"/>
</div>
<div style="text-align: right;color: #c2bfbf" v-if="isShow">是否加入题库
<j-dict-select-tag type='radio' v-model:value="item.sftjtk" dictCode="yn" placeholder="是否加入题库" :disabled="editDisabled"/>
</div>
</template>
</a-card>
</div>
<!-- 判断题 -->
<div style="width: 100%" v-else-if="(item.wjType == 3 || item.wjType == '3') && (item.wjSubtype == 305 || item.wjSubtype == '305')">
<a-card>
<template #title>
<div>
<a-row>
<a-col :span="12">
<span>{{ index + 1 }}<span style="color: #c2bfbf">[判断题]</span></span>
</a-col>
<a-col :span="12" style="text-align: right;">
<a-tooltip placement="topLeft" title="题目分数" v-if="isShow">
<a-select
style="width: 120px"
v-model:value="item.wjScore"
placeholder="请选择分数"
v-if="item.wjSfqh == '0'"
:disabled="editDisabled"
>
<a-select-option :value="item" v-for="(item) in scoreData">{{item}}</a-select-option>
</a-select>
</a-tooltip>
<a-tooltip placement="topRight" title="删除此题"
><Icon
icon="ant-design:delete-outlined"
style="cursor: pointer; font-size: 20px; margin: 10px"
@click="handleDelTigan(item, index)"
v-if="!editDisabled"
/></a-tooltip>
</a-col>
</a-row>
</div>
<JEditor2 placeholder="请填写文件题题干"
v-model:value="item.wjTitle"
:bordered="false"
:style="{ width: '30rem' }"
:auto-size="{ minRows: 1, maxRows: 5 }"
:disabled="editDisabled" v-if="!editDisabled"/>
<div v-else v-html="item.wjTitle"></div>
<div style="text-align: right;color: #c2bfbf" v-if="isShow">是否加入题库
<j-dict-select-tag type='radio' v-model:value="item.sftjtk" dictCode="yn" placeholder="是否加入题库" :disabled="editDisabled"/>
</div>
</template>
<a-row v-if="isShow">
<a-col :span="24" style="color: darkgrey; font-size: 13px"> 选中即为正确答案 </a-col>
</a-row>
<a-radio-group v-model:value="item.itemSelected" style="width: 100%" size="default" :disabled="!isShow">
<div style="width: 100%" v-for="(tmxx, index) in item.wjxWjxxTmxxList" :key="index">
<a-radio :value="tmxx.itemIndex + ``" style="width: 100%">
<a-input
placeholder="请填写选项"
v-model:value="tmxx.itemTitle"
:style="{ width: '30rem' }"
:bordered="false"
:disabled="editDisabled"
/>
<span style="color: #ecb646" v-if="item.itemSelected == tmxx.itemIndex">(正确答案)</span>
<a-tooltip placement="topLeft" title="在下方添加新的选项"
><Icon
icon="ant-design:plus-circle-outlined"
style="cursor: pointer; margin: 5px; font-size: 20px; color: #1890ff"
@click="handleAddTmxx(tmxx, index, item.wjxWjxxTmxxList)"
v-if="!editDisabled"
/></a-tooltip>
<a-tooltip placement="topLeft" title="删除选项"
><Icon
icon="ant-design:minus-circle-outlined"
style="cursor: pointer; margin: 5px; font-size: 20px; color: #1890ff"
@click="handleRemTmxx(tmxx, index, item.wjxWjxxTmxxList)"
v-if="!editDisabled"
/></a-tooltip>
</a-radio>
</div>
</a-radio-group>
</a-card>
</div>
<!-- 简答题 -->
<div style="width: 100%" v-else-if="(item.wjType == 5 || item.wjType == '5') && (item.wjSubtype == 5 || item.wjSubtype == '5')">
<a-card>
<template #title>
<div>
<a-row>
<a-col :span="12">
<span>{{ index + 1 }}<span style="color: #c2bfbf">[简答题]</span></span>
</a-col>
<a-col :span="12" style="text-align: right;">
<a-tooltip placement="topLeft" title="题目分数" v-if="isShow">
<a-select
style="width: 120px"
v-model:value="item.wjScore"
placeholder="请选择分数"
v-if="item.wjSfqh == '0'"
:disabled="editDisabled"
>
<a-select-option :value="item" v-for="(item) in scoreData">{{item}}</a-select-option>
</a-select>
</a-tooltip>
<a-tooltip placement="topRight" title="删除此题"
><Icon
icon="ant-design:delete-outlined"
style="cursor: pointer; font-size: 20px; margin: 10px"
@click="handleDelTigan(item, index)"
v-if="!editDisabled"
/></a-tooltip>
</a-col>
</a-row>
</div>
<JEditor2 placeholder="请填写简答题题干"
v-model:value="item.wjTitle"
:bordered="false"
:style="{ width: '30rem' }"
:auto-size="{ minRows: 1, maxRows: 5 }"
:disabled="editDisabled" v-if="!editDisabled"/>
<div v-else v-html="item.wjTitle"></div>
<div style="text-align: right;color: #c2bfbf" v-if="isShow">是否加入题库
<j-dict-select-tag type='radio' v-model:value="item.sftjtk" dictCode="yn" placeholder="是否加入题库" :disabled="editDisabled"/>
</div>
</template>
</a-card>
</div>
<div v-else> 无对应类型 </div>
</div>
@ -603,16 +687,13 @@ function handleDelTigan(record, index) {
//
function addTigan(type) {
console.log('😸', type);
var list = tiganData.value;
console.log('👩‍🦱', list);
//
if (type == 3) {
console.log('11111111111111111111');
var chk = '';
if (isShow.value) {
chk = '1';
}
console.log('2222222222222222222');
let params = {
wjType: parseInt(type),
wjIndex: list.length + 1,
@ -632,6 +713,7 @@ function addTigan(type) {
list.push(params);
console.log('👩‍🔬', list);
tiganData.value = [...list];
//
} else if (type == 4) {
let chk = '';
if (isShow.value) {
@ -654,9 +736,11 @@ function addTigan(type) {
};
list.push(params);
tiganData.value = [...list];
//
} else if (type == 5) {
let params = {
wjType: parseInt(type),
wjSubtype: null,
wjIndex: list.length + 1,
mainId: mainId,
wjTitle: null,
@ -668,6 +752,7 @@ function addTigan(type) {
};
list.push(params);
tiganData.value = [...list];
//
} else if (type == 8) {
var chk = '';
if (isShow.value) {
@ -685,6 +770,46 @@ function addTigan(type) {
};
list.push(params);
tiganData.value = [...list];
//
}else if (type == 305) {
var chk = '';
if (isShow.value) {
chk = '1';
}
let params = {
wjType: 3,
wjSubtype: 305,
wjIndex: list.length + 1,
mainId: mainId,
wjTitle: null,
wjScore: null,
wjLeixing,
itemSelected: chk,
wjSfqh: '0',
sftjtk: '1',
wjxWjxxTmxxList: [
{ itemTitle: '对', itemIndex: '1' },
{ itemTitle: '错', itemIndex: '2' },
],
};
list.push(params);
tiganData.value = [...list];
} else if (type == 502) {
let params = {
wjType: 5,
wjSubtype: 5,
wjIndex: list.length + 1,
mainId: mainId,
wjTitle: null,
wjScore: null,
wjLeixing,
wjAnswer: null,
wjSfqh: '0',
sftjtk: '1',
};
list.push(params);
tiganData.value = [...list];
//
}
}
/**

View File

@ -5,280 +5,344 @@
<template #item="{ index, element: item }">
<div>
<!-- 单选题 -->
<div style="width: 100%" v-if="item.wjType == 3 || item.wjType == '3'">
<a-card>
<template #title>
<div>
<a-row>
<a-col :span="12">
<span>{{ index + 1 }}<span style="color: #c2bfbf">[单选题]</span></span>
</a-col>
<a-col :span="12" style="text-align: right;">
<a-tooltip placement="topLeft" title="题目分数" v-if="isShow">
<a-select
style="width: 120px"
v-model:value="item.wjScore"
placeholder="请选择分数"
v-if="item.wjSfqh == '0'"
:disabled="editDisabled"
>
<a-select-option :value="item" v-for="(item) in scoreData">{{item}}</a-select-option>
<!-- <a-select-option value="5">5</a-select-option>
<a-select-option value="4">4</a-select-option>
<a-select-option value="3">3</a-select-option>
<a-select-option value="2">2</a-select-option>
<a-select-option value="1">1</a-select-option> -->
</a-select>
<!-- <span v-if="item.wjSfqh == '0'" @click="handleQiehuan(item, '1')" style="color: #9e9e9e" :disabled="editDisabled"
>自定义分数</span
>
<a-input-number
v-model:value="item.wjScore"
style="width: 120px"
v-if="item.wjSfqh == '1'"
:disabled="editDisabled"
></a-input-number>
<span v-if="item.wjSfqh == '1'" @click="handleQiehuan(item, '0')" style="color: #9e9e9e" :disabled="editDisabled"
>返回</span
> -->
</a-tooltip>
</a-col>
</a-row>
</div>
<JEditor2 placeholder="请填写文件上传题题干"
v-model:value="item.wjTitle"
:bordered="false"
:style="{ width: '30rem' }"
:auto-size="{ minRows: 1, maxRows: 5 }"
:disabled="editDisabled" v-if="!editDisabled"/>
<div v-else v-html="item.wjTitle"></div>
<div style="text-align: right;color: #c2bfbf">是否加入题库
<j-dict-select-tag type='radio' v-model:value="item.sftjtk" dictCode="yn" placeholder="是否加入题库" :disabled="editDisabled"/>
</div>
</template>
<a-row v-if="isShow">
<a-col :span="24" style="color: darkgrey; font-size: 13px"> 选中即为正确答案 </a-col>
</a-row>
<a-radio-group v-model:value="item.itemSelected" style="width: 100%" size="default" :disabled="!isShow">
<div style="width: 100%" v-for="(tmxx, index) in item.wjxWjxxTmxxList" :key="index">
<a-radio :value="tmxx.itemIndex + ``" style="width: 100%">
<a-input
placeholder="请填写选项"
v-model:value="tmxx.itemTitle"
:style="{ width: handinpwei(tmxx.itemTitle) }"
:bordered="false"
/>
<span style="color: #ecb646" v-if="item.itemSelected == tmxx.itemIndex">(正确答案)</span>
<a-tooltip placement="topLeft" title="在下方添加新的选项"
><Icon
icon="ant-design:plus-circle-outlined"
style="cursor: pointer; margin: 5px; font-size: 20px; color: #1890ff"
@click="handleAddTmxx(tmxx, index, item.wjxWjxxTmxxList)"
/></a-tooltip>
<a-tooltip placement="topLeft" title="删除选项"
><Icon
icon="ant-design:minus-circle-outlined"
style="cursor: pointer; margin: 5px; font-size: 20px; color: #1890ff"
@click="handleRemTmxx(tmxx, index, item.wjxWjxxTmxxList)"
/></a-tooltip>
</a-radio>
</div>
</a-radio-group>
</a-card>
</div>
<!-- 多选题 -->
<div style="width: 100%" v-else-if="item.wjType == 4 || item.wjType == '4'">
<a-card>
<template #title>
<div>
<a-row>
<a-col :span="12">
<span>{{ index + 1 }}<span style="color: #c2bfbf">[多选题]</span></span>
</a-col>
<a-col :span="12" style="text-align: right;">
<a-tooltip placement="topLeft" title="题目分数" v-if="isShow">
<a-select
style="width: 120px"
v-model:value="item.wjScore"
placeholder="请选择分数"
v-if="item.wjSfqh == '0'"
:disabled="editDisabled"
>
<a-select-option :value="item" v-for="(item) in scoreData">{{item}}</a-select-option>
<!-- <a-select-option value="5">5</a-select-option>
<a-select-option value="4">4</a-select-option>
<a-select-option value="3">3</a-select-option>
<a-select-option value="2">2</a-select-option>
<a-select-option value="1">1</a-select-option> -->
</a-select>
<!-- <span v-if="item.wjSfqh == '0'" @click="handleQiehuan(item, '1')" style="color: #9e9e9e" :disabled="editDisabled"
>自定义分数</span
>
<a-input-number
v-model:value="item.wjScore"
style="width: 120px"
v-if="item.wjSfqh == '1'"
:disabled="editDisabled"
></a-input-number>
<span v-if="item.wjSfqh == '1'" @click="handleQiehuan(item, '0')" style="color: #9e9e9e" :disabled="editDisabled"
>返回</span
> -->
</a-tooltip>
</a-col>
</a-row>
</div>
<JEditor2 placeholder="请填写多选题题干"
v-model:value="item.wjTitle"
:bordered="false"
:style="{ width: '30rem' }"
:auto-size="{ minRows: 1, maxRows: 5 }"
:disabled="editDisabled" v-if="!editDisabled"/>
<div v-else v-html="item.wjTitle"></div>
<div style="text-align: right;color: #c2bfbf">是否加入题库
<j-dict-select-tag type='radio' v-model:value="item.sftjtk" dictCode="yn" placeholder="是否加入题库" :disabled="editDisabled"/>
</div>
</template>
<a-row v-if="isShow">
<a-col :span="24" style="color: darkgrey; font-size: 13px"> 选中即为正确答案 </a-col>
</a-row>
<a-checkbox-group v-model:value="item.itemSelected" style="width: 100%" :disabled="!isShow" @change="handleChecked">
<a-row>
<a-col :span="24" v-for="(tmxx, index) in item.wjxWjxxTmxxList" :key="index">
<!-- -{{item.itemSelected}}-{{tmxx.itemIndex}} -->
<a-checkbox :value="tmxx.itemIndex"
><a-input
placeholder="请填写选项"
v-model:value="tmxx.itemTitle"
<!-- 单选题 -->
<div style="width: 100%" v-if="(item.wjType == 3 || item.wjType == '3') && item.wjSubtype == null">
<a-card>
<template #title>
<div>
<a-row>
<a-col :span="12">
<span>{{ index + 1 }}<span style="color: #c2bfbf">[单选题]</span></span>
</a-col>
<a-col :span="12" style="text-align: right;">
<a-tooltip placement="topLeft" title="题目分数" v-if="isShow">
<a-select
style="width: 120px"
v-model:value="item.wjScore"
placeholder="请选择分数"
v-if="item.wjSfqh == '0'"
:disabled="editDisabled"
>
<a-select-option :value="item" v-for="(item) in scoreData">{{item}}</a-select-option>
</a-select>
</a-tooltip>
</a-col>
</a-row>
</div>
<JEditor2 placeholder="请填写文件题题干"
v-model:value="item.wjTitle"
:bordered="false"
:style="{ width: handinpwei(tmxx.itemTitle) }"
/></a-checkbox>
<span style="color: #ecb646" v-if="cheGrp(item.itemSelected, tmxx.itemIndex)">(正确答案)</span>
<a-tooltip placement="topLeft" title="在下方添加新的选项"
><Icon
icon="ant-design:plus-circle-outlined"
style="cursor: pointer; margin: 5px; font-size: 20px; color: #1890ff"
@click="handleAddTmxx(tmxx, index, item.wjxWjxxTmxxList)"
/></a-tooltip>
<a-tooltip placement="topLeft" title="删除选项"
><Icon
icon="ant-design:minus-circle-outlined"
style="cursor: pointer; margin: 5px; font-size: 20px; color: #1890ff"
@click="handleRemTmxx(tmxx, index, item.wjxWjxxTmxxList)"
/></a-tooltip>
</a-col>
</a-row>
</a-checkbox-group>
</a-card>
</div>
<!-- 填空题 -->
<div style="width: 100%" v-else-if="item.wjType == 5 || item.wjType == '5'">
<a-card>
<template #title>
<div>
<a-row>
<a-col :span="12">
<span>{{ index + 1 }}<span style="color: #c2bfbf">[填空题]</span></span>
</a-col>
<a-col :span="12" style="text-align: right;">
<a-tooltip placement="topLeft" title="题目分数" v-if="isShow">
<a-select
style="width: 120px"
v-model:value="item.wjScore"
placeholder="请选择分数"
v-if="item.wjSfqh == '0'"
:disabled="editDisabled"
>
<a-select-option :value="item" v-for="(item) in scoreData">{{item}}</a-select-option>
</a-select>
<!-- <span v-if="item.wjSfqh == '0'" @click="handleQiehuan(item, '1')" style="color: #9e9e9e" :disabled="editDisabled"
>自定义分数</span
>
<a-input-number
v-model:value="item.wjScore"
style="width: 120px"
v-if="item.wjSfqh == '1'"
:disabled="editDisabled"
></a-input-number>
<span v-if="item.wjSfqh == '1'" @click="handleQiehuan(item, '0')" style="color: #9e9e9e" :disabled="editDisabled"
>返回</span
> -->
</a-tooltip>
</a-col>
</a-row>
</div>
<JEditor2 placeholder="请填写填空题题干"
v-model:value="item.wjTitle"
:bordered="false"
:style="{ width: '30rem' }"
:auto-size="{ minRows: 1, maxRows: 5 }"
:disabled="editDisabled" v-if="!editDisabled"/>
<div v-else v-html="item.wjTitle"></div>
<div style="text-align: right;color: #c2bfbf">是否加入题库
<j-dict-select-tag type='radio' v-model:value="item.sftjtk" dictCode="yn" placeholder="是否加入题库" :disabled="editDisabled"/>
</div>
</template>
<a-row v-if="isShow">
<a-col :span="24">
<a-textarea
placeholder="请填写答案"
v-model:value="item.wjAnswer"
style="width: 100%"
:auto-size="{ minRows: 1, maxRows: 5 }"
/>
</a-col>
</a-row>
</a-card>
</div>
<!-- 文件上传 -->
<div style="width: 100%" v-else-if="item.wjType == 8 || item.wjType == '8'">
<a-card>
<template #title>
<div>
<a-row>
<a-col :span="12">
<span>{{ index + 1 }}<span style="color: #c2bfbf">[文件题]</span></span>
</a-col>
<a-col :span="12" style="text-align: right;">
<a-tooltip placement="topLeft" title="题目分数" v-if="isShow">
<a-select
style="width: 120px"
v-model:value="item.wjScore"
placeholder="请选择分数"
v-if="item.wjSfqh == '0'"
:disabled="editDisabled"
>
<a-select-option :value="item" v-for="(item) in scoreData">{{item}}</a-select-option>
</a-select>
<!-- <span v-if="item.wjSfqh == '0'" @click="handleQiehuan(item, '1')" style="color: #9e9e9e" :disabled="editDisabled"
>自定义分数</span
>
<a-input-number
v-model:value="item.wjScore"
style="width: 120px"
v-if="item.wjSfqh == '1'"
:disabled="editDisabled"
></a-input-number>
<span v-if="item.wjSfqh == '1'" @click="handleQiehuan(item, '0')" style="color: #9e9e9e" :disabled="editDisabled"
>返回</span
> -->
</a-tooltip>
</a-col>
</a-row>
</div>
<JEditor2 placeholder="请填写文件上传题题干"
v-model:value="item.wjTitle"
:bordered="false"
:style="{ width: '30rem' }"
:auto-size="{ minRows: 5, maxRows: 5 }"
:disabled="editDisabled" v-if="!editDisabled"/>
<div v-else v-html="item.wjTitle"></div>
<div style="text-align: right;color: #c2bfbf">是否加入题库
<j-dict-select-tag type='radio' v-model:value="item.sftjtk" dictCode="yn" placeholder="是否加入题库" :disabled="editDisabled"/>
</div>
</template>
</a-card>
</div>
:style="{ width: '30rem' }"
:auto-size="{ minRows: 1, maxRows: 5 }"
:disabled="editDisabled" v-if="!editDisabled"/>
<div v-else v-html="item.wjTitle"></div>
<div style="text-align: right;color: #c2bfbf" v-if="isShow">是否加入题库
<j-dict-select-tag type='radio' v-model:value="item.sftjtk" dictCode="yn" placeholder="是否加入题库" :disabled="editDisabled"/>
</div>
</template>
<a-row v-if="isShow">
<a-col :span="24" style="color: darkgrey; font-size: 13px"> 选中即为正确答案 </a-col>
</a-row>
<a-radio-group v-model:value="item.itemSelected" style="width: 100%" size="default" :disabled="!isShow">
<div style="width: 100%" v-for="(tmxx, index) in item.wjxWjxxTmxxList" :key="index">
<a-radio :value="tmxx.itemIndex + ``" style="width: 100%">
<a-input
placeholder="请填写选项"
v-model:value="tmxx.itemTitle"
:style="{ width: '30rem' }"
:bordered="false"
:disabled="editDisabled"
/>
<span style="color: #ecb646" v-if="item.itemSelected == tmxx.itemIndex">(正确答案)</span>
<a-tooltip placement="topLeft" title="在下方添加新的选项"
><Icon
icon="ant-design:plus-circle-outlined"
style="cursor: pointer; margin: 5px; font-size: 20px; color: #1890ff"
@click="handleAddTmxx(tmxx, index, item.wjxWjxxTmxxList)"
v-if="!editDisabled"
/></a-tooltip>
<a-tooltip placement="topLeft" title="删除选项"
><Icon
icon="ant-design:minus-circle-outlined"
style="cursor: pointer; margin: 5px; font-size: 20px; color: #1890ff"
@click="handleRemTmxx(tmxx, index, item.wjxWjxxTmxxList)"
v-if="!editDisabled"
/></a-tooltip>
</a-radio>
</div>
</a-radio-group>
</a-card>
</div>
<!-- 多选题 -->
<div style="width: 100%" v-else-if="item.wjType == 4 || item.wjType == '4'">
<a-card>
<template #title>
<div>
<a-row>
<a-col :span="12">
<span>{{ index + 1 }}<span style="color: #c2bfbf">[多选题]</span></span>
</a-col>
<a-col :span="12" style="text-align: right;">
<a-tooltip placement="topLeft" title="题目分数" v-if="isShow">
<a-select
style="width: 120px"
v-model:value="item.wjScore"
placeholder="请选择分数"
v-if="item.wjSfqh == '0'"
:disabled="editDisabled"
>
<a-select-option :value="item" v-for="(item) in scoreData">{{item}}</a-select-option>
</a-select>
</a-tooltip>
</a-col>
</a-row>
</div>
<JEditor2 placeholder="请填写多选题题干"
v-model:value="item.wjTitle"
:bordered="false"
:style="{ width: '30rem' }"
:auto-size="{ minRows: 1, maxRows: 5 }"
:disabled="editDisabled" v-if="!editDisabled"/>
<div v-else v-html="item.wjTitle"></div>
<div style="text-align: right;color: #c2bfbf" v-if="isShow">是否加入题库
<j-dict-select-tag type='radio' v-model:value="item.sftjtk" dictCode="yn" placeholder="是否加入题库" :disabled="editDisabled"/>
</div>
</template>
<a-row v-if="isShow">
<a-col :span="24" style="color: darkgrey; font-size: 13px"> 选中即为正确答案 </a-col>
</a-row>
<a-checkbox-group v-model:value="item.itemSelected" style="width: 100%" :disabled="!isShow" @change="handleChecked">
<a-row>
<a-col :span="24" v-for="(tmxx, index) in item.wjxWjxxTmxxList" :key="index">
<!-- -{{item.itemSelected}}-{{tmxx.itemIndex}} -->
<a-checkbox :value="tmxx.itemIndex"
><a-input
placeholder="请填写选项"
v-model:value="tmxx.itemTitle"
:bordered="false"
:style="{ width: '30rem' }"
:disabled="editDisabled"
/></a-checkbox>
<span style="color: #ecb646" v-if="cheGrp(item.itemSelected, tmxx.itemIndex)">(正确答案)</span>
<a-tooltip placement="topLeft" title="在下方添加新的选项"
><Icon
icon="ant-design:plus-circle-outlined"
style="cursor: pointer; margin: 5px; font-size: 20px; color: #1890ff"
@click="handleAddTmxx(tmxx, index, item.wjxWjxxTmxxList)"
v-if="!editDisabled"
/></a-tooltip>
<a-tooltip placement="topLeft" title="删除选项"
><Icon
icon="ant-design:minus-circle-outlined"
style="cursor: pointer; margin: 5px; font-size: 20px; color: #1890ff"
@click="handleRemTmxx(tmxx, index, item.wjxWjxxTmxxList)"
v-if="!editDisabled"
/></a-tooltip>
</a-col>
</a-row>
</a-checkbox-group>
</a-card>
</div>
<!-- 填空题 -->
<div style="width: 100%" v-else-if="(item.wjType == 5 || item.wjType == '5') && item.wjSubtype == null">
<a-card>
<template #title>
<div>
<a-row>
<a-col :span="12">
<span>{{ index + 1 }}<span style="color: #c2bfbf">[填空题]</span></span>
</a-col>
<a-col :span="12" style="text-align: right;">
<a-tooltip placement="topLeft" title="题目分数" v-if="isShow">
<a-select
style="width: 120px"
v-model:value="item.wjScore"
placeholder="请选择分数"
v-if="item.wjSfqh == '0'"
:disabled="editDisabled"
>
<a-select-option :value="item" v-for="(item) in scoreData">{{item}}</a-select-option>
</a-select>
</a-tooltip>
</a-col>
</a-row>
</div>
<JEditor2 placeholder="请填写填空题题干"
v-model:value="item.wjTitle"
:bordered="false"
:style="{ width: '30rem' }"
:auto-size="{ minRows: 1, maxRows: 5 }"
:disabled="editDisabled" v-if="!editDisabled"/>
<div v-else v-html="item.wjTitle"></div>
<div style="text-align: right;color: #c2bfbf" v-if="isShow">是否加入题库
<j-dict-select-tag type='radio' v-model:value="item.sftjtk" dictCode="yn" placeholder="是否加入题库" :disabled="editDisabled"/>
</div>
</template>
<a-row >
<a-col :span="24">
<a-textarea
placeholder="请填写答案"
v-model:value="item.wjAnswer"
:bordered="false"
style="width: 100%"
:auto-size="{ minRows: 1, maxRows: 5 }"
:disabled="editDisabled"
/>
</a-col>
</a-row>
</a-card>
</div>
<!-- 文件上传 -->
<div style="width: 100%" v-else-if="item.wjType == 8 || item.wjType == '8'">
<a-card>
<template #title>
<div>
<a-row>
<a-col :span="12">
<span>{{ index + 1 }}<span style="color: #c2bfbf">[文件题]</span></span>
</a-col>
<a-col :span="12" style="text-align: right;">
<a-tooltip placement="topLeft" title="题目分数" v-if="isShow">
<a-select
style="width: 120px"
v-model:value="item.wjScore"
placeholder="请选择分数"
v-if="item.wjSfqh == '0'"
:disabled="editDisabled"
>
<a-select-option :value="item" v-for="(item) in scoreData">{{item}}</a-select-option>
</a-select>
</a-tooltip>
</a-col>
</a-row>
</div>
<JEditor2 placeholder="请填写文件题题干"
v-model:value="item.wjTitle"
:bordered="false"
:style="{ width: '30rem' }"
:auto-size="{ minRows: 1, maxRows: 5 }"
:disabled="editDisabled" v-if="!editDisabled"/>
<div v-else v-html="item.wjTitle"></div>
<div style="text-align: right;color: #c2bfbf" v-if="isShow">是否加入题库
<j-dict-select-tag type='radio' v-model:value="item.sftjtk" dictCode="yn" placeholder="是否加入题库" :disabled="editDisabled"/>
</div>
</template>
</a-card>
</div>
<!-- 判断题 -->
<div style="width: 100%" v-else-if="(item.wjType == 3 || item.wjType == '3') && (item.wjSubtype == 305 || item.wjSubtype == '305')">
<a-card>
<template #title>
<div>
<a-row>
<a-col :span="12">
<span>{{ index + 1 }}<span style="color: #c2bfbf">[判断题]</span></span>
</a-col>
<a-col :span="12" style="text-align: right;">
<a-tooltip placement="topLeft" title="题目分数" v-if="isShow">
<a-select
style="width: 120px"
v-model:value="item.wjScore"
placeholder="请选择分数"
v-if="item.wjSfqh == '0'"
:disabled="editDisabled"
>
<a-select-option :value="item" v-for="(item) in scoreData">{{item}}</a-select-option>
</a-select>
</a-tooltip>
</a-col>
</a-row>
</div>
<JEditor2 placeholder="请填写文件题题干"
v-model:value="item.wjTitle"
:bordered="false"
:style="{ width: '30rem' }"
:auto-size="{ minRows: 1, maxRows: 5 }"
:disabled="editDisabled" v-if="!editDisabled"/>
<div v-else v-html="item.wjTitle"></div>
<div style="text-align: right;color: #c2bfbf" v-if="isShow">是否加入题库
<j-dict-select-tag type='radio' v-model:value="item.sftjtk" dictCode="yn" placeholder="是否加入题库" :disabled="editDisabled"/>
</div>
</template>
<a-row v-if="isShow">
<a-col :span="24" style="color: darkgrey; font-size: 13px"> 选中即为正确答案 </a-col>
</a-row>
<a-radio-group v-model:value="item.itemSelected" style="width: 100%" size="default" :disabled="!isShow">
<div style="width: 100%" v-for="(tmxx, index) in item.wjxWjxxTmxxList" :key="index">
<a-radio :value="tmxx.itemIndex + ``" style="width: 100%">
<a-input
placeholder="请填写选项"
v-model:value="tmxx.itemTitle"
:style="{ width: '30rem' }"
:bordered="false"
:disabled="editDisabled"
/>
<span style="color: #ecb646" v-if="item.itemSelected == tmxx.itemIndex">(正确答案)</span>
<a-tooltip placement="topLeft" title="在下方添加新的选项"
><Icon
icon="ant-design:plus-circle-outlined"
style="cursor: pointer; margin: 5px; font-size: 20px; color: #1890ff"
@click="handleAddTmxx(tmxx, index, item.wjxWjxxTmxxList)"
v-if="!editDisabled"
/></a-tooltip>
<a-tooltip placement="topLeft" title="删除选项"
><Icon
icon="ant-design:minus-circle-outlined"
style="cursor: pointer; margin: 5px; font-size: 20px; color: #1890ff"
@click="handleRemTmxx(tmxx, index, item.wjxWjxxTmxxList)"
v-if="!editDisabled"
/></a-tooltip>
</a-radio>
</div>
</a-radio-group>
</a-card>
</div>
<!-- 简答题 -->
<div style="width: 100%" v-else-if="(item.wjType == 5 || item.wjType == '5') && (item.wjSubtype == 5 || item.wjSubtype == '5')">
<a-card>
<template #title>
<div>
<a-row>
<a-col :span="12">
<span>{{ index + 1 }}<span style="color: #c2bfbf">[简答题]</span></span>
</a-col>
<a-col :span="12" style="text-align: right;">
<a-tooltip placement="topLeft" title="题目分数" v-if="isShow">
<a-select
style="width: 120px"
v-model:value="item.wjScore"
placeholder="请选择分数"
v-if="item.wjSfqh == '0'"
:disabled="editDisabled"
>
<a-select-option :value="item" v-for="(item) in scoreData">{{item}}</a-select-option>
</a-select>
</a-tooltip>
</a-col>
</a-row>
</div>
<JEditor2 placeholder="请填写简答题题干"
v-model:value="item.wjTitle"
:bordered="false"
:style="{ width: '30rem' }"
:auto-size="{ minRows: 1, maxRows: 5 }"
:disabled="editDisabled" v-if="!editDisabled"/>
<div v-else v-html="item.wjTitle"></div>
<div style="text-align: right;color: #c2bfbf" v-if="isShow">是否加入题库
<j-dict-select-tag type='radio' v-model:value="item.sftjtk" dictCode="yn" placeholder="是否加入题库" :disabled="editDisabled"/>
</div>
</template>
</a-card>
</div>
<div v-else></div>
</div>
</template>

View File

@ -9,17 +9,17 @@
mode="inline"
:inline-collapsed="collapsed"
>
<a-menu-item key="sub0">
<a-menu-item key="sub0" @click="getGzt('gonggao')">
<template #icon>
<PieChartOutlined />
</template>
<span @click="getGzt('gonggao')">通知公告</span>
<span >通知公告</span>
</a-menu-item>
<a-menu-item key="sub1">
<a-menu-item key="sub1" @click="getGzt('kcjs')">
<template #icon>
<BarChartOutlined />
</template>
<span @click="getGzt('kcjs')">课程简介</span>
<span >课程简介</span>
</a-menu-item >
<!-- <a-menu-item key="sub2">
<template #icon>
@ -27,28 +27,32 @@
</template>
<span @click="getGzt('jxdg')">教学大纲</span>
</a-menu-item > -->
<a-menu-item key="sub3">
<a-menu-item key="sub3" @click="getGzt('dqzy')">
<template #icon>
<SnippetsOutlined />
</template>
<span @click="getGzt('dqzy')">课程作业</span>
<span>课程作业</span>
</a-menu-item>
<a-menu-item key="sub4">
<a-menu-item key="sub4" @click="getGzt('qmzy')">
<template #icon>
<AppstoreOutlined />
</template>
<span @click="getGzt('qmzy')">期末考试</span>
<span>期末考试</span>
</a-menu-item>
<a-menu-item key="sub5">
<a-menu-item key="sub5" @click="getGzt('kcjc')">
<template #icon>
<AppstoreAddOutlined />
</template>
<span @click="getGzt('kcjc')">课堂测验</span>
<span>课堂测验</span>
</a-menu-item>
<a-menu-item key="sub6" @click="getGzt('kczy')">
<BlockOutlined />
<span>课程资源</span>
</a-menu-item>
<a-menu-item key="sub7" @click="getGzt('khcl')">
<BlockOutlined />
<span>上传考核材料</span>
</a-menu-item>
<a-menu-item key="sub6">
<BlockOutlined />
<span @click="getGzt('kczy')">课程资源</span>
</a-menu-item>
<!-- <a-menu-item key="sub6">
<template #icon>
<BlockOutlined />
@ -86,11 +90,11 @@
<MenuUnfoldOutlined />
</template>
<!-- <template #title>功能菜单</template> -->
<a-menu-item key="sub0">
<span @click="getGzt('gonggao')">通知公告</span>
<a-menu-item key="sub0" @click="getGzt('gonggao')">
<span>通知公告</span>
</a-menu-item>
<a-menu-item key="sub1">
<span @click="getGzt('kcjs')">课程简介</span>
<a-menu-item key="sub1" @click="getGzt('kcjs')">
<span>课程简介</span>
</a-menu-item>
<!-- <a-menu-item key="sub2">
<span @click="getGzt('jxdg')">教学大纲</span>
@ -98,18 +102,21 @@
<!-- <a-menu-item key="sub2">
<span @click="gotoPageByName('jiaoXueDanYuanNeiRong')">教学单元</span>
</a-menu-item> -->
<a-menu-item key="sub3">
<span @click="getGzt('dqzy')">课程作业</span>
<a-menu-item key="sub3" @click="getGzt('dqzy')">
<span>课程作业</span>
</a-menu-item>
<a-menu-item key="sub4">
<span @click="getGzt('qmzy')">期末考试</span>
<a-menu-item key="sub4" @click="getGzt('qmzy')">
<span>期末考试</span>
</a-menu-item>
<a-menu-item key="sub5">
<span @click="getGzt('kcjc')">课堂测验</span>
<a-menu-item key="sub5" @click="getGzt('kcjc')">
<span>课堂测验</span>
</a-menu-item>
<a-menu-item key="sub6">
<span @click="getGzt('kczy')">课程资源</span>
<a-menu-item key="sub6" @click="getGzt('kczy')">
<span>课程资源</span>
</a-menu-item>
<!-- <a-menu-item key="sub7" @click="getGzt('khcl')">
<span>上传考核材料</span>
</a-menu-item> -->
<!-- <a-menu-item key="sub5">
<span @click="getGzt('gongju')">AI识别出勤率</span>
</a-menu-item> -->
@ -189,6 +196,8 @@ function getGzt(zytype) {
href = '/zy/dqkcJxdg';
}else if (zytype == 'kczy') {
href = '/zy/dqkcKczy';
}else if (zytype == 'khcl') {
href = '/zy/dqkcKhcl';
}
router.push({ path: href, query: { rwbh, xqxn, type, teano } });

View File

@ -9,17 +9,17 @@
mode="inline"
:inline-collapsed="collapsed"
>
<a-menu-item key="sub1">
<a-menu-item key="sub1" @click="getGzt('tzgg')">
<template #icon>
<PieChartOutlined />
</template>
<span @click="getGzt('tzgg')">通知公告</span>
<span>通知公告</span>
</a-menu-item>
<a-menu-item key="sub2">
<a-menu-item key="sub2" @click="getGzt('kcjs')">
<template #icon>
<BarChartOutlined />
</template>
<span @click="getGzt('kcjs')">课程简介</span>
<span>课程简介</span>
</a-menu-item>
<!-- <a-menu-item key="sub3">
<template #icon>
@ -27,29 +27,29 @@
</template>
<span @click="getGzt('jxdg')">教学大纲</span>
</a-menu-item> -->
<a-menu-item key="sub4">
<a-menu-item key="sub4" @click="getGzt('dqzy')">
<template #icon>
<SnippetsOutlined />
</template>
<span @click="getGzt('dqzy')">课程作业</span>
<span>课程作业</span>
</a-menu-item>
<a-menu-item key="sub5">
<a-menu-item key="sub5" @click="getGzt('qmks')">
<template #icon>
<AppstoreOutlined />
</template>
<span @click="getGzt('qmks')">期末考试</span>
<span>期末考试</span>
</a-menu-item>
<a-menu-item key="sub7">
<a-menu-item key="sub7" @click="getGzt('kcjc')">
<template #icon>
<AppstoreAddOutlined />
</template>
<span @click="getGzt('kcjc')">课程测验</span>
<span>课程测验</span>
</a-menu-item>
<a-menu-item key="sub8">
<a-menu-item key="sub8" @click="getGzt('kczy')">
<template #icon>
<BlockOutlined />
</template>
<span @click="getGzt('kczy')">课程资源</span>
<span>课程资源</span>
</a-menu-item>
</a-menu>
</a-col>
@ -63,26 +63,26 @@
<template #icon>
<MenuUnfoldOutlined />
</template>
<a-menu-item key="min1">
<span @click="getGzt('tzgg')">通知公告</span>
<a-menu-item key="min1" @click="getGzt('tzgg')">
<span>通知公告</span>
</a-menu-item>
<a-menu-item key="min2">
<span @click="getGzt('kcjs')">课程简介</span>
<a-menu-item key="min2" @click="getGzt('kcjs')">
<span>课程简介</span>
</a-menu-item>
<!-- <a-menu-item key="min3">
<span @click="getGzt('jxdg')">教学大纲</span>
</a-menu-item> -->
<a-menu-item key="min4">
<span @click="getGzt('dqzy')">课程作业</span>
<a-menu-item key="min4" @click="getGzt('dqzy')">
<span>课程作业</span>
</a-menu-item>
<a-menu-item key="min6">
<span @click="getGzt('qmks')">期末考试</span>
<a-menu-item key="min6" @click="getGzt('qmks')">
<span>期末考试</span>
</a-menu-item>
<a-menu-item key="min5">
<span @click="getGzt('kcjc')">课程测验</span>
<a-menu-item key="min5" @click="getGzt('kcjc')">
<span>课程测验</span>
</a-menu-item>
<a-menu-item key="min8">
<span @click="getGzt('kczy')">课程资源</span>
<a-menu-item key="min8" @click="getGzt('kczy')">
<span>课程资源</span>
</a-menu-item>
<!-- <a-menu-item key="min6">
<span @click="getGzt('dcwj')">问卷调查</span>

View File

@ -5,6 +5,7 @@ const { createConfirm } = useMessage();
enum Api {
list = '/zyInfo/zyInfo/list',
listKhcl = '/zyInfo/zyInfo/listKhcl',
listOther = '/zyInfo/zyInfo/listOther',
save='/zyInfo/zyInfo/add',
edit='/zyInfo/zyInfo/edit',
@ -31,6 +32,7 @@ export const getImportUrl = Api.importExcel;
*/
export const list = (params) => defHttp.get({ url: Api.list, params });
export const listOther = (params) => defHttp.get({ url: Api.listOther, params });
export const listKhcl = (params) => defHttp.get({ url: Api.listKhcl, params });
/**
*

View File

@ -142,6 +142,56 @@ export const columns3: BasicColumn[] = [
dataIndex: 'yuanTeacherName'
},
];
//列表数据
export const columnsKhcl: BasicColumn[] = [
{
title: '作业名称',
align: "center",
dataIndex: 'title'
},
{
title: '是否上传考核材料',
align: "center",
dataIndex: 'sfsckhcl_dictText'
},
{
title: '上传考核材料时间',
align: "center",
dataIndex: 'sfsckhclTime',
customRender:({text}) =>{
return !text?"":(text.length>10?text.substr(0,10):text);
},
},
{
title: '状态',
align: "center",
dataIndex: 'zyStatus_dictText'
},
{
title: '学年学期',
align: "center",
dataIndex: 'xnxq'
},
{
title: '作业开始时间',
align: "center",
dataIndex: 'startTime',
customRender:({text}) =>{
return !text?"":(text.length>10?text.substr(0,10):text);
},
},
{
title: '作业结束时间',
align: "center",
dataIndex: 'endTime',
customRender:({text}) =>{
return !text?"":(text.length>10?text.substr(0,10):text);
},
},
];
//查询数据
export const searchFormSchema: FormSchema[] = [
{

View File

@ -395,7 +395,7 @@
<div v-if="record.alltgl">
<span v-if="record.filePath">
<template v-if="record.zgccl && record.zgccl != '0'">
<span v-if="record.zgccl <= record.alltgl" title="通过" style="color: #36b395; cursor: pointer" @click="handleViewInfo(record)">
<span v-if="parseFloat(record.zgccl) <= parseFloat(record.alltgl)" title="通过" style="color: #36b395; cursor: pointer" @click="handleViewInfo(record)">
{{ record.zgccl }}
</span>
<span v-else title="未通过" style="color: red" @click="handleViewInfo(record)">{{ record.zgccl }}</span>