修改bug
This commit is contained in:
parent
de53921ebb
commit
171c2e6aef
|
@ -243,6 +243,15 @@ const site: AppRouteModule = {
|
|||
title: '讨论区',
|
||||
},
|
||||
},
|
||||
{
|
||||
path: 'studentDjcy',
|
||||
name: 'studentDjcy',
|
||||
component: () => import('/@/views/kc/wjxWjxx/components/WjxWjxxTmlbDjV2Form.vue'),
|
||||
meta: {
|
||||
// affix: true,
|
||||
title: '课程测验',
|
||||
},
|
||||
},
|
||||
|
||||
],
|
||||
};
|
||||
|
|
|
@ -121,8 +121,11 @@
|
|||
createMessage.error('答卷时间已过!');
|
||||
return;
|
||||
}
|
||||
WjxWjxxTmlbDjModalPage.value.disableSubmit = false;
|
||||
WjxWjxxTmlbDjModalPage.value.edit(record,false,"6",'xs');
|
||||
// WjxWjxxTmlbDjModalPage.value.disableSubmit = false;
|
||||
// WjxWjxxTmlbDjModalPage.value.edit(record,false,"6",'xs');
|
||||
// cytitle, cyid, cyatype, sfzd, sfbs
|
||||
var url ="/site/studentDjcy?cytitle="+record.title+"&cyid="+record.id+"&cyatype=6&sfzd=0&sfbs=xs";
|
||||
window.open(url,'_blank')
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
</a-col>
|
||||
</a-row>
|
||||
</div>
|
||||
|
||||
<div v-if="showType == 1">
|
||||
<a-row>
|
||||
<a-col :span="24"><span class="title">课程测验次数设置</span><a-divider /></a-col>
|
||||
|
@ -56,11 +57,12 @@
|
|||
</a-col>
|
||||
</a-row>
|
||||
</div>
|
||||
|
||||
<div v-if="showType == 2">
|
||||
<a-spin :spinning="confirmLoading">
|
||||
<a-row>
|
||||
<a-col :span="24">
|
||||
<span class="title">编辑作业</span> - <span class="title2">布置作业:设置第{{ zyInfo.sort }}次作业内容及要求</span>
|
||||
<span class="title">编辑测验</span> - <span class="title2">布置测验:设置第{{ zyInfo.sort }}次测验内容及要求</span>
|
||||
<a-divider />
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
|
@ -71,7 +73,7 @@
|
|||
<div class="region-title">基本信息</div>
|
||||
<a-col :span="24">
|
||||
<a-form-item label="测验名称" v-bind="validateInfos.title">
|
||||
<a-input v-model:value="zyInfo.title" placeholder="请输入作业题目" :disabled="editDisabled"></a-input>
|
||||
<a-input v-model:value="zyInfo.title" placeholder="请输入测验题目" :disabled="editDisabled"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<!-- <a-col :span="24">
|
||||
|
@ -99,7 +101,7 @@
|
|||
<a-popover title="温馨提示">
|
||||
<template #content>
|
||||
<p
|
||||
>填写测验开始时间,则作业在指定时间进行发布;如未填写测验开始时间,则布置完成作业后,可手动点击“发布作业”进行作业发布。</p
|
||||
>填写测验开始时间,则测验在指定时间进行发布;如未填写测验开始时间,则布置完成测验后,可手动点击“发布测验”进行测验发布。</p
|
||||
>
|
||||
</template>
|
||||
<Icon
|
||||
|
@ -112,9 +114,9 @@
|
|||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-form-item label="作业截止时间" v-bind="validateInfos.endTime">
|
||||
<a-form-item label="测验结束时间" v-bind="validateInfos.endTime">
|
||||
<a-date-picker
|
||||
placeholder="请选择作业截止时间"
|
||||
placeholder="请选择测验结束时间"
|
||||
v-model:value="zyInfo.endTime"
|
||||
:disabled-date="disabledDate"
|
||||
:show-time="{ format: 'YYYY-MM-DD HH:mm' }"
|
||||
|
@ -128,25 +130,37 @@
|
|||
<a-form-item label="描述" v-bind="validateInfos.content">
|
||||
<j-editor v-model:value="zyInfo.content" v-if="zyyqShow" @blur="handleZyyqShow(0)" />
|
||||
<div style="color: #777777" v-html="zyInfo.content" v-if="!zyyqShow"></div>
|
||||
<div @click="handleZyyqShow(1)" class="tishi" :disabled="editDisabled">温馨提示:点击可编辑描述</div>
|
||||
<div @click="handleZyyqShow(1)" class="tishi" style="width: 100%" :disabled="!editDisabled">温馨提示:点击可编辑描述</div>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-row style="height: calc(80vh)">
|
||||
<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>
|
||||
<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-circle-outlined" @click="addTigan(3)" :disabled="editDisabled"
|
||||
>单选</a-button
|
||||
></p
|
||||
>
|
||||
<p
|
||||
><a-button type="primary" preIcon="ant-design:check-square-outlined" @click="addTigan(4)" :disabled="editDisabled"
|
||||
>多选</a-button
|
||||
></p
|
||||
>
|
||||
<p
|
||||
><a-button type="primary" preIcon="ant-design:check-square-outlined" @click="addTigan(5)" :disabled="editDisabled"
|
||||
>填空</a-button
|
||||
></p
|
||||
>
|
||||
</a-card>
|
||||
<a-card title="引用题库">
|
||||
<p><a-button type="primary" @click="handleYylx('0')">我的题库</a-button></p>
|
||||
<p><a-button type="primary" @click="handleYylx('1')">公有题库</a-button></p>
|
||||
<p><a-button type="primary" @click="handleYylx('0')" :disabled="editDisabled">我的题库</a-button></p>
|
||||
<p><a-button type="primary" @click="handleYylx('1')" :disabled="editDisabled">公有题库</a-button></p>
|
||||
</a-card>
|
||||
</a-col>
|
||||
<a-col :span="20" style="overflow-y: scroll; height: calc(80vh)">
|
||||
<a-col :span="20" style="overflow-y: scroll; min-height: 100px">
|
||||
<draggable @end="end" v-model="tiganData" item-key="id">
|
||||
<template #item="{ index, element: item }">
|
||||
<div>
|
||||
|
@ -161,27 +175,44 @@
|
|||
:bordered="false"
|
||||
:style="{ width: handinpwei(item.wjTitle) }"
|
||||
:auto-size="{ minRows: 1, maxRows: 5 }"
|
||||
:disabled="editDisabled"
|
||||
/>
|
||||
<span style="color: #c2bfbf">[单选]</span>
|
||||
</template>
|
||||
<template #extra>
|
||||
<a-tooltip placement="topLeft" title="题目分数" v-if="isShow">
|
||||
<a-select style="width: 120px" v-model:value="item.wjScore" placeholder="请选择分数" v-if="item.wjSfqh == '0'">
|
||||
<a-select
|
||||
style="width: 120px"
|
||||
v-model:value="item.wjScore"
|
||||
placeholder="请选择分数"
|
||||
v-if="item.wjSfqh == '0'"
|
||||
:disabled="editDisabled"
|
||||
>
|
||||
<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">自定义分数</span>
|
||||
<a-input-number v-model:value="item.wjScore" style="width: 120px" v-if="item.wjSfqh == '1'"></a-input-number>
|
||||
<span v-if="item.wjSfqh == '1'" @click="handleQiehuan(item, '0')" style="color: #9e9e9e">返回</span>
|
||||
<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
|
||||
icon="ant-design:delete-outlined"
|
||||
style="cursor: pointer; font-size: 20px; margin: 10px"
|
||||
@click="handleDelTigan(item, index)"
|
||||
v-if="!editDisabled"
|
||||
/></a-tooltip>
|
||||
</template>
|
||||
<a-row v-if="isShow">
|
||||
|
@ -195,6 +226,7 @@
|
|||
v-model:value="tmxx.itemTitle"
|
||||
:style="{ width: handinpwei(tmxx.itemTitle) }"
|
||||
:bordered="false"
|
||||
:disabled="editDisabled"
|
||||
/>
|
||||
<span style="color: #ecb646" v-if="item.itemSelected == tmxx.itemIndex">(正确答案)</span>
|
||||
<a-tooltip placement="topLeft" title="在下方添加新的选项"
|
||||
|
@ -202,12 +234,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>
|
||||
|
@ -225,33 +259,50 @@
|
|||
:bordered="false"
|
||||
:style="{ width: handinpwei(item.wjTitle) }"
|
||||
:auto-size="{ minRows: 1, maxRows: 5 }"
|
||||
:disabled="editDisabled"
|
||||
/>
|
||||
<span style="color: #c2bfbf">[多选]</span>
|
||||
</template>
|
||||
<template #extra>
|
||||
<a-tooltip placement="topLeft" title="题目分数" v-if="isShow">
|
||||
<a-select style="width: 120px" v-model:value="item.wjScore" placeholder="请选择分数" v-if="item.wjSfqh == '0'">
|
||||
<a-select
|
||||
style="width: 120px"
|
||||
v-model:value="item.wjScore"
|
||||
placeholder="请选择分数"
|
||||
v-if="item.wjSfqh == '0'"
|
||||
:disabled="editDisabled"
|
||||
>
|
||||
<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">自定义分数</span>
|
||||
<a-input-number v-model:value="item.wjScore" style="width: 120px" v-if="item.wjSfqh == '1'"></a-input-number>
|
||||
<span v-if="item.wjSfqh == '1'" @click="handleQiehuan(item, '0')" style="color: #9e9e9e">返回</span>
|
||||
<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
|
||||
icon="ant-design:delete-outlined"
|
||||
style="cursor: pointer; font-size: 20px; margin: 10px"
|
||||
@click="handleDelTigan(item, index)"
|
||||
v-if="!editDisabled"
|
||||
/></a-tooltip>
|
||||
</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">
|
||||
<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}} -->
|
||||
|
@ -261,6 +312,7 @@
|
|||
v-model:value="tmxx.itemTitle"
|
||||
:bordered="false"
|
||||
:style="{ width: handinpwei(tmxx.itemTitle) }"
|
||||
:disabled="editDisabled"
|
||||
/></a-checkbox>
|
||||
<span style="color: #ecb646" v-if="cheGrp(item.itemSelected, tmxx.itemIndex)">(正确答案)</span>
|
||||
<a-tooltip placement="topLeft" title="在下方添加新的选项"
|
||||
|
@ -268,12 +320,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>
|
||||
|
@ -291,27 +345,44 @@
|
|||
:bordered="false"
|
||||
:style="{ width: handinpwei(item.wjTitle) }"
|
||||
:auto-size="{ minRows: 1, maxRows: 5 }"
|
||||
:disabled="editDisabled"
|
||||
/>
|
||||
<span style="color: #c2bfbf">[填空]</span>
|
||||
</template>
|
||||
<template #extra>
|
||||
<a-tooltip placement="topLeft" title="题目分数" v-if="isShow">
|
||||
<a-select style="width: 120px" v-model:value="item.wjScore" placeholder="请选择分数" v-if="item.wjSfqh == '0'">
|
||||
<a-select
|
||||
style="width: 120px"
|
||||
v-model:value="item.wjScore"
|
||||
placeholder="请选择分数"
|
||||
v-if="item.wjSfqh == '0'"
|
||||
:disabled="editDisabled"
|
||||
>
|
||||
<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">自定义分数</span>
|
||||
<a-input-number v-model:value="item.wjScore" style="width: 120px" v-if="item.wjSfqh == '1'"></a-input-number>
|
||||
<span v-if="item.wjSfqh == '1'" @click="handleQiehuan(item, '0')" style="color: #9e9e9e">返回</span>
|
||||
<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
|
||||
icon="ant-design:delete-outlined"
|
||||
style="cursor: pointer; font-size: 20px; margin: 10px"
|
||||
@click="handleDelTigan(item, index)"
|
||||
v-if="!editDisabled"
|
||||
/></a-tooltip>
|
||||
</template>
|
||||
<a-row v-if="isShow">
|
||||
|
@ -322,6 +393,7 @@
|
|||
:bordered="false"
|
||||
style="width: 100%"
|
||||
:auto-size="{ minRows: 1, maxRows: 5 }"
|
||||
:disabled="editDisabled"
|
||||
/>
|
||||
</a-col>
|
||||
</a-row>
|
||||
|
@ -339,7 +411,7 @@
|
|||
</a-col>
|
||||
|
||||
<a-col :span="24" style="text-align: center; margin-top: 10px; margin-bottom: 40px">
|
||||
<a-button type="primary" @click="submitForm">保存</a-button>
|
||||
<a-button type="primary" @click="submitForm" v-if="!editDisabled">保存</a-button>
|
||||
<a-button type="primary" @click="reloadZy" style="margin-left: 15px">返回</a-button>
|
||||
</a-col>
|
||||
</a-row>
|
||||
|
@ -349,6 +421,105 @@
|
|||
</a-spin>
|
||||
</div>
|
||||
|
||||
<div v-if="showType == 3">
|
||||
<a-row>
|
||||
<a-col :span="24">
|
||||
<a-row>
|
||||
<a-col :span="20">
|
||||
<span class="title">统计分析</span>
|
||||
</a-col>
|
||||
<a-col :span="4" style="text-align: right">
|
||||
<a-button class="buttonClass" @click="reloadZy"><Icon icon="ant-design:export-outlined" />返回</a-button>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-divider />
|
||||
</a-col>
|
||||
<a-col :span="24">
|
||||
<a-row>
|
||||
<a-col :span="12" class="tjfx-col"> 测验名称:{{ zyInfo.title }} </a-col>
|
||||
<a-col :span="12" class="tjfx-col">
|
||||
测验时间:{{ dayjs(zyInfo.startTime).format('MM.DD HH:mm') }} ~ {{ dayjs(zyInfo.endTime).format('MM.DD HH:mm') }}
|
||||
</a-col>
|
||||
<a-col :span="8" class="tjfx-col"> 总人数:{{ zyInfo.xkrs }} </a-col>
|
||||
<a-col :span="8" class="tjfx-col"> 已完成人数:{{ zyInfo.ywcrs }} </a-col>
|
||||
<a-col :span="8" class="tjfx-col"> 未完成人数:{{ zyInfo.wwcrs }} </a-col>
|
||||
<a-col :span="24">
|
||||
<div class="region-title">基本信息</div>
|
||||
</a-col>
|
||||
<a-col :span="24" v-for="(item, index) in tiganData" :key="index">
|
||||
<div style="width: 100%">
|
||||
<!-- 单选题 -->
|
||||
<div style="width: 100%" v-if="item.wjType == 3">
|
||||
<!-- <span style="text-align: left;width: 50%;font-weight: bold;font-size: 18px;padding: 20px;">单选题</span> -->
|
||||
<!-- <span class="tjfx-zql">正确率:15%</span> -->
|
||||
<a-card>
|
||||
<template #title>
|
||||
<span>{{ index + 1 }}、</span><span v-html="item.wjTitle" style="white-space: pre-wrap; word-wrap: break-word"></span>
|
||||
</template>
|
||||
<template #extra v-if="zyInfo.atype == 6">
|
||||
<span style="margin-left: 40px">[单选题]</span>
|
||||
<span style="margin-left: 40px">题目分值: {{ item.wjScore }} 分</span>
|
||||
</template>
|
||||
<a-radio-group v-model:value="item.itemSelected" style="width: 100%" size="default" disabled>
|
||||
<div style="width: 100%" v-for="(tmxx, index2) in item.wjxWjxxTmxxList" :key="index2">
|
||||
<a-radio :value="tmxx.itemIndex + ``" style="width: 100%; margin-bottom: 5px">
|
||||
<span v-html="tmxx.itemTitle" style="width: 80%; font-size: 16px; color: #000"></span>
|
||||
<span v-if="tmxx.itemSelected == 'true'" style="color: #9e9e9e; margin-left: 30px; font-size: 12px">(正确答案)</span>
|
||||
<span class="tjfx-xzrs">选择人数:{{ tmxx.num }}人</span>
|
||||
</a-radio>
|
||||
</div>
|
||||
</a-radio-group>
|
||||
</a-card>
|
||||
</div>
|
||||
<!-- 多选题 -->
|
||||
<div style="width: 100%" v-else-if="item.wjType == 4">
|
||||
<!-- <span style="text-align: left;width: 50%;font-weight: bold;font-size: 18px;padding: 20px;">多选题</span> -->
|
||||
<!-- <span class="tjfx-zql">正确率:15%</span> -->
|
||||
<a-card>
|
||||
<template #title>
|
||||
<span>{{ index + 1 }}、</span><span v-html="item.wjTitle" style="white-space: pre-wrap; word-wrap: break-word" />
|
||||
</template>
|
||||
<template #extra v-if="zyInfo.atype == 6">
|
||||
<span style="margin-left: 40px">[多选题]</span>
|
||||
<span style="margin-left: 40px">题目分值: {{ item.wjScore }} 分</span>
|
||||
</template>
|
||||
<a-checkbox-group v-model:value="item.itemSelected" style="width: 100%" size="default" disabled>
|
||||
<a-row>
|
||||
<a-col :span="24" v-for="(tmxx, index2) in item.wjxWjxxTmxxList" :key="index2">
|
||||
<a-checkbox :value="tmxx.itemIndex" style="width: 100%; margin-bottom: 5px">
|
||||
<span v-html="tmxx.itemTitle" style="width: 80%; font-size: 16px; color: #000"></span>
|
||||
<span v-if="tmxx.itemSelected == 'true'" style="color: #9e9e9e; margin-left: 30px; font-size: 12px">(正确答案)</span>
|
||||
<span class="tjfx-xzrs">选择人数:{{ tmxx.num }}人</span>
|
||||
</a-checkbox>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-checkbox-group>
|
||||
</a-card>
|
||||
</div>
|
||||
<!-- 填空题 -->
|
||||
<div style="width: 100%" v-else-if="item.wjType == 5">
|
||||
<!-- <span style="text-align: left;width: 50%;font-weight: bold;font-size: 18px;padding: 20px;">填空题</span> -->
|
||||
<!-- <span class="tjfx-zql">正确率:15%</span> -->
|
||||
<a-card>
|
||||
<template #title>
|
||||
<span>{{ index + 1 }}、</span><span v-html="item.wjTitle" style="white-space: pre-wrap; word-wrap: break-word" />
|
||||
<span v-if="item.wjAnswer" style="color: #9e9e9e; margin-left: 30px; font-size: 12px">(正确答案:{{ item.wjAnswer }})</span>
|
||||
<span class="tjfx-xzrs" style="color: #9e9e9e">选择人数:{{ item.num }}人</span>
|
||||
</template>
|
||||
<template #extra v-if="zyInfo.atype == 6">
|
||||
<span style="margin-left: 40px">[填空题]</span>
|
||||
<span style="margin-left: 40px">题目分值: {{ item.wjScore }} 分</span>
|
||||
</template>
|
||||
</a-card>
|
||||
</div>
|
||||
<div v-else> 无对应类型 </div>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</div>
|
||||
|
||||
<div v-if="showType == 999">
|
||||
<a-row>
|
||||
<a-col :span="24"><span class="title">布置测验</span><a-divider /></a-col>
|
||||
|
@ -360,84 +531,213 @@
|
|||
<a-col :span="24">
|
||||
<a-row style="padding: 10px">
|
||||
<a-col :lg="24" v-for="(item, index) in tableData" style="padding: 0 5px 5px 5px" :key="index">
|
||||
<a-card
|
||||
:title="'11第' + item.sort + '次测验(占比' + item.score + '%)'"
|
||||
v-if="!item.endTime"
|
||||
class="cardClass"
|
||||
bodyStyle="background: #fff;"
|
||||
>
|
||||
<!-- :title="'11第' + item.sort + '次测验(占比' + item.score + '%)'" -->
|
||||
<!-- class="cardClass" -->
|
||||
<a-card v-if="!item.endTime" bodyStyle="background: #fff;">
|
||||
<template #title>第{{item.sort}}次测验:暂未设置测验信息 </template>
|
||||
<template #extra
|
||||
><span style="color: #ff8710; font-weight: bold"><Icon icon="ant-design:setting-outlined" /> 待设置</span>
|
||||
</template>
|
||||
<p class="sznrClass">尚未布置测验题目及具体要求</p>
|
||||
<div style="text-align: right">
|
||||
<a @click="handleEdit(item, false)">设置测验内容及要求</a>
|
||||
<a-divider type="vertical" />
|
||||
<a @click="handleDelete(item)">删除</a>
|
||||
</div>
|
||||
<!-- <p class="sznrClass">尚未布置测验题目及具体要求</p> -->
|
||||
<a-row>
|
||||
<a-col :span="12">
|
||||
<span style="margin-left: 10px">
|
||||
<a-dropdown>
|
||||
<a class="ant-dropdown-link" @click.prevent> <Icon icon="ant-design:setting-outlined" />设计测验 </a>
|
||||
<template #overlay>
|
||||
<a-menu>
|
||||
<a-menu-item>
|
||||
<a href="javascript:;" @click="handleEdit(item, false)">设置测验</a>
|
||||
</a-menu-item>
|
||||
<a-menu-item>
|
||||
<a href="javascript:;" @click="handleEdit(item, false)">修改题目</a>
|
||||
</a-menu-item>
|
||||
<a-menu-item>
|
||||
<a href="javascript:;" @click="handleEdit(item, true)">测验详情</a>
|
||||
</a-menu-item>
|
||||
</a-menu>
|
||||
</template>
|
||||
</a-dropdown>
|
||||
</span>
|
||||
<span style="margin-left: 30px">
|
||||
<a-dropdown>
|
||||
<a class="ant-dropdown-link" @click.prevent><Icon icon="ant-design:setting-outlined" />发送问卷 </a>
|
||||
<template #overlay>
|
||||
<a-menu>
|
||||
<a-menu-item>
|
||||
<a href="javascript:;" disabled style="color: #9e9e9e">链接&二维码</a>
|
||||
</a-menu-item>
|
||||
</a-menu>
|
||||
</template>
|
||||
</a-dropdown>
|
||||
</span>
|
||||
<span style="margin-left: 30px">
|
||||
<a-dropdown>
|
||||
<a class="ant-dropdown-link" @click.prevent><Icon icon="ant-design:setting-outlined" />测验结果 </a>
|
||||
<template #overlay>
|
||||
<a-menu>
|
||||
<a-menu-item>
|
||||
<a href="javascript:;" disabled style="color: #9e9e9e">测验结果</a>
|
||||
</a-menu-item>
|
||||
<a-menu-item>
|
||||
<a href="javascript:;" disabled style="color: #9e9e9e">统计分析</a>
|
||||
</a-menu-item>
|
||||
</a-menu>
|
||||
</template>
|
||||
</a-dropdown>
|
||||
</span>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<div style="text-align: right">
|
||||
<a @click="handleEdit(item, false)">设置测验内容及要求</a>
|
||||
<a-divider type="vertical" />
|
||||
<a @click="handleDelete(item)">删除</a>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-card>
|
||||
|
||||
<a-card
|
||||
:title="'12第' + item.sort + '次测验(占比' + item.score + '%)'"
|
||||
v-if="item.endTime && item.qpublish == '1'"
|
||||
class="cardClass"
|
||||
bodyStyle="background: #fff;"
|
||||
>
|
||||
<template #extra
|
||||
><span style="color: #02aa56; font-weight: bold"><Icon icon="ant-design:check-outlined" />已发布</span>
|
||||
<a-card v-if="item.endTime && item.qpublish == '1'" bodyStyle="background: #fff;">
|
||||
<template #title>
|
||||
<span>第{{item.sort}}次测验:{{ item.title }}</span>
|
||||
</template>
|
||||
<div class="ellip-title">
|
||||
<span class="ellipsis elli-title" :title="item.title">{{ item.title }}</span>
|
||||
<a class="button-zhta" @click="openXkrs(item)">{{ item.xkrs }}人选课</a>
|
||||
</div>
|
||||
<div style="width: 100%">
|
||||
<div class="ellip-word">测验开始时间:{{ item.startTime ? dayjs(item.startTime).format('YYYY.MM.DD HH:mm') : '未设置' }}</div>
|
||||
<div class="ellip-word">测验截止时间:{{ dayjs(item.endTime).format('YYYY.MM.DD HH:mm') }}</div>
|
||||
</div>
|
||||
<div style="width: 100%; display: flex">
|
||||
<div class="data-suggest zuanqu" @click="handleDjjgs(item, '0')"
|
||||
><span>{{ item.wwcrs }}人</span><span>待提交</span></div
|
||||
>
|
||||
<div class="data-suggest zuanqu" @click="handleDjjgs(item, '1')"
|
||||
><span>{{ item.ywcrs }}人</span><span>已提交</span></div
|
||||
>
|
||||
</div>
|
||||
|
||||
<div style="text-align: right; margin-top: 10px; margin-bottom: -10px; width: 100%">
|
||||
<!-- <a @click="handleEdit(item, true)" v-if="item.ytjnum > 0">编辑测验</a>
|
||||
<a @click="handleChehui(item)" v-if="item.ytjnum == 0">撤回测验</a>
|
||||
<a-divider type="vertical" />
|
||||
<a @click="handleZyxx(item, '')">批阅测验</a>
|
||||
<a-divider type="vertical" />
|
||||
<a @click="handleDelete(item)" v-if="item.ytjnum == '0'">删除</a> -->
|
||||
</div>
|
||||
<template #extra>
|
||||
<span>ID:{{ item.id }}</span>
|
||||
<span style="margin-left: 10px; color: #02aa56; font-weight: bold"><Icon icon="ant-design:check-outlined" />已发布</span>
|
||||
<span style="margin-left: 10px">{{ dayjs(item.endTime).format('MM.DD HH:mm') }}</span>
|
||||
</template>
|
||||
<a-row>
|
||||
<a-col :span="12">
|
||||
<span style="margin-left: 10px">
|
||||
<a-dropdown>
|
||||
<a class="ant-dropdown-link" @click.prevent> <Icon icon="ant-design:setting-outlined" />设计测验 </a>
|
||||
<template #overlay>
|
||||
<a-menu>
|
||||
<a-menu-item>
|
||||
<a href="javascript:;" disabled style="color: #9e9e9e">设置测验</a>
|
||||
</a-menu-item>
|
||||
<a-menu-item>
|
||||
<a href="javascript:;" disabled style="color: #9e9e9e">修改题目</a>
|
||||
</a-menu-item>
|
||||
<a-menu-item>
|
||||
<a href="javascript:;" disabled style="color: #9e9e9e">测验详情</a>
|
||||
</a-menu-item>
|
||||
</a-menu>
|
||||
</template>
|
||||
</a-dropdown>
|
||||
</span>
|
||||
<span style="margin-left: 30px">
|
||||
<a-dropdown>
|
||||
<a class="ant-dropdown-link" @click.prevent><Icon icon="ant-design:setting-outlined" />发送问卷 </a>
|
||||
<template #overlay>
|
||||
<a-menu>
|
||||
<a-menu-item>
|
||||
<a href="javascript:;">链接&二维码</a>
|
||||
<!-- <QrCode :value="qrCodeUrl" class="enter-x flex justify-center xl:justify-start" :width="280" /> -->
|
||||
<QrCode :value="goewm(item)" class="enter-x flex justify-center xl:justify-start" :width="280" />
|
||||
<span
|
||||
>链接:<a-input :value="goewm(item)" disabled style="width: 200px"></a-input>
|
||||
<a-button @click="copyToClipboard(item)">复制</a-button>
|
||||
</span>
|
||||
<!-- -->
|
||||
</a-menu-item>
|
||||
</a-menu>
|
||||
</template>
|
||||
</a-dropdown>
|
||||
</span>
|
||||
<span style="margin-left: 30px">
|
||||
<a-dropdown>
|
||||
<a class="ant-dropdown-link" @click.prevent><Icon icon="ant-design:setting-outlined" />测验结果 </a>
|
||||
<template #overlay>
|
||||
<a-menu>
|
||||
<a-menu-item>
|
||||
<a href="javascript:;" @click="handleDjjgs(item, '')">测验结果</a>
|
||||
</a-menu-item>
|
||||
<a-menu-item>
|
||||
<a href="javascript:;" @click="handleTjfx(item)">统计分析</a>
|
||||
</a-menu-item>
|
||||
</a-menu>
|
||||
</template>
|
||||
</a-dropdown>
|
||||
</span>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<div style="text-align: right">
|
||||
<a @click="handleEdit(item, true)" v-if="item.ytjnum > 0">编辑测验</a>
|
||||
<a-divider type="vertical" />
|
||||
<a @click="handleDelete(item)" v-if="item.ytjnum == '0'">删除</a>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-card>
|
||||
|
||||
<a-card
|
||||
:title="'13第' + item.sort + '次测验(占比' + item.score + '%)'"
|
||||
v-if="item.endTime && item.qpublish == '0'"
|
||||
class="cardClass"
|
||||
bodyStyle="background: #fff;"
|
||||
>
|
||||
<template #extra
|
||||
><span style="color: #ff8710; font-weight: bold"><Icon icon="ant-design:send-outlined" />待发布</span>
|
||||
<a-card v-if="item.endTime && item.qpublish == '0'" bodyStyle="background: #fff;">
|
||||
<template #title>
|
||||
<span>第{{item.sort}}次测验:{{ item.title }}</span>
|
||||
</template>
|
||||
<div class="ellip-title">
|
||||
<span class="ellipsis elli-title" :title="item.title">{{ item.title }}</span>
|
||||
<a class="button-zhta" @click="openXkrs(item)">{{ item.xkxs }}人选课</a>
|
||||
</div>
|
||||
<div style="width: 100%">
|
||||
<div class="ellip-word">测验开始时间:{{ item.startTime ? dayjs(item.startTime).format('YYYY.MM.DD HH:mm') : '未设置' }}</div>
|
||||
<div class="ellip-word">测验截止时间:{{ dayjs(item.endTime).format('YYYY.MM.DD HH:mm') }}</div>
|
||||
</div>
|
||||
<div style="height: 45px"> </div>
|
||||
<div style="text-align: right; margin-top: 30px">
|
||||
<a @click="handleEdit(item, false)">编辑测验</a>
|
||||
<a-divider type="vertical" />
|
||||
<a @click="handleFabu(item)">发布测验</a>
|
||||
<a-divider type="vertical" />
|
||||
<a @click="handleDelete(item)">删除</a>
|
||||
</div>
|
||||
<template #extra>
|
||||
<span>ID:{{ item.id }}</span>
|
||||
<span style="margin-left: 10px; color: #ff8710; font-weight: bold"><Icon icon="ant-design:send-outlined" />待发布</span>
|
||||
<span style="margin-left: 10px">{{ dayjs(item.endTime).format('MM.DD HH:mm') }}</span>
|
||||
</template>
|
||||
<a-row>
|
||||
<a-col :span="12">
|
||||
<span style="margin-left: 10px">
|
||||
<a-dropdown>
|
||||
<a class="ant-dropdown-link" @click.prevent><Icon icon="ant-design:setting-outlined" />设计测验 </a>
|
||||
<template #overlay>
|
||||
<a-menu>
|
||||
<a-menu-item>
|
||||
<a href="javascript:;" @click="handleEdit(item, false)">设置测验</a>
|
||||
</a-menu-item>
|
||||
<a-menu-item>
|
||||
<a href="javascript:;" @click="handleEdit(item, false)">修改题目</a>
|
||||
</a-menu-item>
|
||||
<a-menu-item>
|
||||
<a href="javascript:;" @click="handleEdit(item, true)">测验详情</a>
|
||||
</a-menu-item>
|
||||
</a-menu>
|
||||
</template>
|
||||
</a-dropdown>
|
||||
</span>
|
||||
<span style="margin-left: 30px">
|
||||
<a-dropdown>
|
||||
<a class="ant-dropdown-link" @click.prevent><Icon icon="ant-design:setting-outlined" />发送问卷 </a>
|
||||
<template #overlay>
|
||||
<a-menu>
|
||||
<a-menu-item>
|
||||
<a href="javascript:;" disabled style="color: #9e9e9e">链接&二维码</a>
|
||||
</a-menu-item>
|
||||
</a-menu>
|
||||
</template>
|
||||
</a-dropdown>
|
||||
</span>
|
||||
<span style="margin-left: 30px">
|
||||
<a-dropdown>
|
||||
<a class="ant-dropdown-link" @click.prevent><Icon icon="ant-design:setting-outlined" />测验结果 </a>
|
||||
<template #overlay>
|
||||
<a-menu>
|
||||
<a-menu-item>
|
||||
<a href="javascript:;" disabled style="color: #9e9e9e">测验结果</a>
|
||||
</a-menu-item>
|
||||
<a-menu-item>
|
||||
<a href="javascript:;" disabled style="color: #9e9e9e">统计分析</a>
|
||||
</a-menu-item>
|
||||
</a-menu>
|
||||
</template>
|
||||
</a-dropdown>
|
||||
</span>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<div style="text-align: right">
|
||||
<a @click="handleEdit(item, false)">编辑测验</a>
|
||||
<a-divider type="vertical" />
|
||||
<a @click="handleFabu(item)">发布测验</a>
|
||||
<a-divider type="vertical" />
|
||||
<a @click="handleDelete(item)">删除</a>
|
||||
</div>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-card>
|
||||
</a-col>
|
||||
</a-row>
|
||||
|
@ -466,12 +766,17 @@ import { getValueType } from '/@/utils';
|
|||
import JEditor from '/@/components/Form/src/jeecg/components/JEditor.vue';
|
||||
import { useUserStore } from '/@/store/modules/user';
|
||||
import draggable from 'vuedraggable';
|
||||
import { QrCode } from '/@/components/Qrcode/index';
|
||||
import { useGlobSetting } from '/@/hooks/setting';
|
||||
|
||||
import WjxWjxxTmlbDjjgsModal from '/@/views/kc/wjxWjxx/components/WjxWjxxTmlbDjjgsModal.vue';
|
||||
import XxhbbksListModal from '/@/views/kc/xxhbbks/XxhbbksListModal.vue';
|
||||
import KcTeachingUnitContentOneListModal from '/@/views/zy/zyInfo/zyCheckZcjc/KcTeachingUnitContentOneListModal.vue';
|
||||
import YinyongTikuListModal from '/@/views/kc/wjxWjxxTmlb/YinyongTikuListModal.vue';
|
||||
import YinyongTikuDcListModal from '/@/views/kc/wjxWjxxTmlb/YinyongTikuDcListModal.vue';
|
||||
import { create } from 'sortablejs';
|
||||
|
||||
const globSetting = useGlobSetting();
|
||||
|
||||
//当前路由信息
|
||||
const { currentRoute } = useRouter();
|
||||
|
@ -505,15 +810,16 @@ const tiganData = ref<any>([]);
|
|||
const isShow = ref<boolean>(false);
|
||||
const mainId = ref<string>('');
|
||||
const wjLeixing = ref<string>('6');
|
||||
const qrCodeUrl = ref<string>('');
|
||||
|
||||
//设置作业删除功能
|
||||
//设置测验删除功能
|
||||
const disabledDate = (current: Dayjs) => {
|
||||
return current && current < dayjs().subtract(1, 'days').endOf('day');
|
||||
};
|
||||
|
||||
//表单验证
|
||||
const validatorRules = {
|
||||
title: [{ required: true, message: '请输入作业名称!' }],
|
||||
title: [{ required: true, message: '请输入测验名称!' }],
|
||||
endTime: [{ required: true, message: '请输入结束时间!' }],
|
||||
};
|
||||
const { resetFields, validate, validateInfos } = useForm(zyInfo, validatorRules, { immediate: true });
|
||||
|
@ -544,6 +850,41 @@ const wrapperCol4 = reactive({
|
|||
sm: { span: 12 },
|
||||
});
|
||||
|
||||
//统计分析
|
||||
function handleTjfx(record) {
|
||||
console.log('🥺', record);
|
||||
zyInfo.value = record;
|
||||
defHttp.get({ url: '/wjxWjxxTmlb/wjxWjxxTmlb/getTmxxPeop', params: { id: record.id } }).then((res) => {
|
||||
tiganData.value = res;
|
||||
});
|
||||
|
||||
handleShowType(3);
|
||||
}
|
||||
|
||||
function handleChecked(record) {
|
||||
console.log('👙', record);
|
||||
record = record + '';
|
||||
console.log('🙃', record);
|
||||
}
|
||||
|
||||
function goewm(record) {
|
||||
var baseUrl = window.location.origin;
|
||||
var url = baseUrl + '/site/studentDjcy?cytitle=' + record.title + '&cyid=' + record.id + '&cyatype=' + record.atype + '&sfzd=0&sfbs=xs';
|
||||
return url;
|
||||
}
|
||||
|
||||
async function copyToClipboard(record) {
|
||||
try {
|
||||
var baseUrl = window.location.origin;
|
||||
var url = baseUrl + '/site/studentDjcy?cytitle=' + record.title + '&cyid=' + record.id + '&cyatype=' + record.atype + '&sfzd=0&sfbs=xs';
|
||||
await navigator.clipboard.writeText(url);
|
||||
createMessage.success('内容已复制到剪贴板');
|
||||
console.log('内容已复制到剪贴板');
|
||||
} catch (err) {
|
||||
console.error('复制到剪贴板失败:', err);
|
||||
}
|
||||
}
|
||||
|
||||
//切换题目分数类型
|
||||
function handleQiehuan(record, type) {
|
||||
console.log(`🚀 ~ handleQiehuan ~ type:`, type);
|
||||
|
@ -663,6 +1004,7 @@ function handleAddTmxx(record, index, list) {
|
|||
|
||||
list.push({ itemTitle: null, itemIndex: parseInt(itemIndex) + 1 });
|
||||
}
|
||||
|
||||
//删除选项
|
||||
function handleRemTmxx(record, index, list) {
|
||||
if (list.length <= 2) {
|
||||
|
@ -671,11 +1013,13 @@ function handleRemTmxx(record, index, list) {
|
|||
list.splice(index, 1);
|
||||
}
|
||||
}
|
||||
|
||||
//删除题目
|
||||
function handleDelTigan(record, index) {
|
||||
tiganData.value.splice(index, 1);
|
||||
}
|
||||
|
||||
//计算输入框宽度
|
||||
function handinpwei(value) {
|
||||
if (!value) {
|
||||
return '20rem';
|
||||
|
@ -689,6 +1033,7 @@ function handinpwei(value) {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
//添加单选题
|
||||
function addTigan(type) {
|
||||
console.log('😸', type);
|
||||
|
@ -715,10 +1060,12 @@ function addTigan(type) {
|
|||
{ itemTitle: null, itemIndex: '2' },
|
||||
],
|
||||
};
|
||||
console.log('💇♀️', params);
|
||||
list.push(params);
|
||||
console.log('👩🔬', list);
|
||||
tiganData.value = [...list];
|
||||
} else if (type == 4) {
|
||||
let chk= '';
|
||||
let chk = '';
|
||||
if (isShow.value) {
|
||||
chk = '1,2';
|
||||
}
|
||||
|
@ -795,7 +1142,7 @@ function handleFabu(record: Recordable) {
|
|||
okText: '确认',
|
||||
cancelText: '取消',
|
||||
onOk: () => {
|
||||
defHttp.get({ url: '/wjxWjxx/wjxWjxx/fbwj', params: { id: record.id, wjlx: wjLeixing } }).then((res) => {
|
||||
defHttp.get({ url: '/wjxWjxx/wjxWjxx/fbwj', params: { id: record.id, wjlx: wjLeixing.value } }).then((res) => {
|
||||
reloadZy();
|
||||
});
|
||||
},
|
||||
|
@ -815,7 +1162,7 @@ function handleZycs() {
|
|||
rwbh: rwbh,
|
||||
xqxn: xqxn,
|
||||
createBy: teano,
|
||||
atype: wjLeixing,
|
||||
atype: wjLeixing.value,
|
||||
});
|
||||
}
|
||||
} else if (changeZycs < dataList.length) {
|
||||
|
@ -971,13 +1318,79 @@ async function submitForm() {
|
|||
var endTimestamp = Date.parse(endTime);
|
||||
var startTimestamp = Date.parse(startTime);
|
||||
if (endTimestamp < startTimestamp) {
|
||||
createMessage.warning('作业发布时间不能大于作业截止时间!');
|
||||
createMessage.warning('测验发布时间不能大于测验结束时间!');
|
||||
confirmLoading.value = false;
|
||||
return;
|
||||
}
|
||||
}
|
||||
const data = tiganData.value;
|
||||
|
||||
const values = Object.assign([], data);
|
||||
if(values.length>0){
|
||||
var sfjx = "1";
|
||||
for(let i=0;i<values.length;i++){
|
||||
let param = values[i];
|
||||
|
||||
values[i].itemSelected = param.itemSelected+"";
|
||||
|
||||
|
||||
if(!param.wjTitle){
|
||||
createMessage.error('请填写题目信息');
|
||||
sfjx = "0";
|
||||
confirmLoading.value = false;
|
||||
return;
|
||||
}
|
||||
if(isShow.value){
|
||||
if(!param.wjScore){
|
||||
createMessage.error('请填写题目分数');
|
||||
sfjx = "0";
|
||||
confirmLoading.value = false;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
var wjType = param.wjType;
|
||||
if(wjType != 5){
|
||||
var itemlist = param.wjxWjxxTmxxList;
|
||||
for(let j=0;j < itemlist.length; j++){
|
||||
if(!itemlist[j].itemTitle){
|
||||
createMessage.error('请填写选项信息');
|
||||
sfjx = "0";
|
||||
confirmLoading.value = false;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if(isShow.value){
|
||||
var zqda = values[i].itemSelected;
|
||||
if(!zqda||zqda=='NaN'||zqda=='undefined'){
|
||||
createMessage.error('请选择正确答案');
|
||||
sfjx = "0";
|
||||
confirmLoading.value = false;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
}else{
|
||||
|
||||
if(isShow.value){
|
||||
var wjAnswer = values[i].wjAnswer;
|
||||
if(!wjAnswer||wjAnswer=='NaN'||wjAnswer=='undefined'){
|
||||
createMessage.error('请选择正确答案');
|
||||
sfjx = "0";
|
||||
confirmLoading.value = false;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if(sfjx=='0'){
|
||||
return;
|
||||
}
|
||||
}else{
|
||||
createMessage.error('至少创建一个试题');
|
||||
}
|
||||
|
||||
model.list = values;
|
||||
console.log('😨', model);
|
||||
confirmLoading.value = false;
|
||||
|
@ -999,6 +1412,7 @@ async function submitForm() {
|
|||
* 编辑事件
|
||||
*/
|
||||
function handleEdit(record, type) {
|
||||
console.log('🤲', record);
|
||||
if (!type) {
|
||||
isShow.value = true;
|
||||
} else {
|
||||
|
@ -1020,16 +1434,14 @@ function handleEdit(record, type) {
|
|||
zyInfo.value = record;
|
||||
dataKhnr.value = [];
|
||||
mainId.value = record.id;
|
||||
var kcnr = zyInfo.value.kcnr;
|
||||
if (kcnr) {
|
||||
defHttp.get({ url: '/teachingunitcontent/kcTeachingUnitContentOne/getAllList', params: { id: kcnr } }).then((res) => {
|
||||
dataKhnr.value = res;
|
||||
});
|
||||
}
|
||||
|
||||
defHttp.get({ url: '/wjxWjxxTmlb/wjxWjxxTmlb/queryByMainId', params: { id: record.id } }).then((res) => {
|
||||
tiganData.value = res;
|
||||
});
|
||||
handleShowType(2);
|
||||
}
|
||||
|
||||
//作业要求切换
|
||||
//测验要求切换
|
||||
function handleZyyqShow(type) {
|
||||
console.log('👯', type);
|
||||
if (type == 1) {
|
||||
|
@ -1045,7 +1457,7 @@ function reloadZy() {
|
|||
queryParamZy.value.pageSize = pageSize.value;
|
||||
queryParamZy.value.rwbh = rwbh;
|
||||
queryParamZy.value.xqxn = xqxn;
|
||||
queryParamZy.value.atype = wjLeixing;
|
||||
queryParamZy.value.atype = wjLeixing.value;
|
||||
defHttp.get({ url: '/wjxWjxx/wjxWjxx/list', params: queryParamZy.value }).then((res) => {
|
||||
total.value = res.total;
|
||||
pageNo.value = res.pages;
|
||||
|
@ -1067,7 +1479,7 @@ async function handleDelete(record) {
|
|||
createConfirm({
|
||||
iconType: 'warning',
|
||||
title: '删除',
|
||||
content: '您已经对作业的内容和要求进行了设置,如果继续删除,内容和要求将一并删除,确认进行删除吗?',
|
||||
content: '您已经对测验的内容和要求进行了设置,如果继续删除,内容和要求将一并删除,确认进行删除吗?',
|
||||
okText: '确认',
|
||||
cancelText: '取消',
|
||||
onOk: () => {
|
||||
|
@ -1078,9 +1490,10 @@ async function handleDelete(record) {
|
|||
deleteOne({ id: record.id }, reloadZy);
|
||||
}
|
||||
}
|
||||
|
||||
//新增一次测验
|
||||
function handleAddOne() {
|
||||
defHttp.post({ url: '/wjxWjxx/wjxWjxx/addOne', params: { rwbh, xqxn, atype: wjLeixing } }).then((res) => {
|
||||
defHttp.post({ url: '/wjxWjxx/wjxWjxx/addOne', params: { rwbh, xqxn, atype: wjLeixing.value } }).then((res) => {
|
||||
reloadZy();
|
||||
});
|
||||
}
|
||||
|
@ -1115,6 +1528,7 @@ function handleCheckZcjcSuccess(record) {
|
|||
dataKhnr.value = [];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 学生答卷列表
|
||||
*/
|
||||
|
@ -1122,6 +1536,7 @@ function handleDjjgs(record: Recordable, flag) {
|
|||
WjxWjxxTmlbDjjgsModalPage.value.disableSubmit = true;
|
||||
WjxWjxxTmlbDjjgsModalPage.value.edit(record, flag);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取选课人数
|
||||
*/
|
||||
|
@ -1296,4 +1711,27 @@ onMounted(() => {
|
|||
border-left: 5px solid #029c88;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.tjfx-col {
|
||||
font-size: 16px;
|
||||
padding: 8px 20px;
|
||||
line-height: 25px;
|
||||
}
|
||||
.tjfx-title {
|
||||
width: 90%;
|
||||
float: left;
|
||||
}
|
||||
.tjfx-type {
|
||||
width: 10%;
|
||||
float: left;
|
||||
}
|
||||
.tjfx-xzrs {
|
||||
margin-left: 30px;
|
||||
font-size: 12px;
|
||||
}
|
||||
.tjfx-zql {
|
||||
text-align: right;
|
||||
width: 50%;
|
||||
font-size: 16px;
|
||||
padding: 20px;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -12,13 +12,13 @@
|
|||
<div style="text-align: left;width: 100%;font-weight: bold;font-size: 18px;padding: 20px;">单选题</div>
|
||||
<a-card >
|
||||
<template #title>
|
||||
<span>{{index+1}}、</span><span v-html:value="item.wjTitle" style="white-space:pre-wrap;word-wrap : break-word"></span>
|
||||
<span>{{index+1}}、</span><span v-html="item.wjTitle" style="white-space:pre-wrap;word-wrap : break-word"></span>
|
||||
</template>
|
||||
<template #extra>
|
||||
<span style="margin-left: 40px;" v-if="isShow">题目分值: {{item.wjScore}} 分</span>
|
||||
</template>
|
||||
<a-radio-group v-model:value="item.itemSelected" style="width: 100%" size="default" :disabled="disabled">
|
||||
<div style="width: 100%" v-for="(tmxx,index) in item.wjxWjxxTmxxList">
|
||||
<div style="width: 100%" v-for="(tmxx,index) in item.wjxWjxxTmxxList" :key="index">
|
||||
<a-radio :value="tmxx.itemIndex+``" style="width: 100%;margin-bottom: 5px;">
|
||||
<span v-html:value="tmxx.itemTitle" style="width:80%;font-size: 16px;"></span>
|
||||
</a-radio>
|
||||
|
@ -31,14 +31,14 @@
|
|||
<div style="text-align: left;width: 100%;font-weight: bold;font-size: 18px;padding: 20px;">多选题</div>
|
||||
<a-card >
|
||||
<template #title>
|
||||
<span>{{index+1}}、</span><span v-html:value="item.wjTitle" style="white-space:pre-wrap;word-wrap : break-word"/>
|
||||
<span>{{index+1}}、</span><span v-html="item.wjTitle" style="white-space:pre-wrap;word-wrap : break-word"/>
|
||||
</template>
|
||||
<template #extra>
|
||||
<span style="margin-left: 40px;" v-if="isShow">题目分值: {{item.wjScore}} 分</span>
|
||||
</template>
|
||||
<a-checkbox-group v-model:value="item.itemSelected" style="width: 100%" size="default" :disabled="disabled">
|
||||
<a-row>
|
||||
<a-col :span="24" v-for="(tmxx,index) in item.wjxWjxxTmxxList">
|
||||
<a-col :span="24" v-for="(tmxx,index) in item.wjxWjxxTmxxList" :key="index">
|
||||
<a-checkbox :value="tmxx.itemIndex" style="width: 100%;margin-bottom: 5px;">
|
||||
<span v-html:value="tmxx.itemTitle" style="width:80%;font-size: 16px;"></span>
|
||||
</a-checkbox>
|
||||
|
@ -52,7 +52,7 @@
|
|||
<div style="text-align: left;width: 100%;font-weight: bold;font-size: 18px;padding: 20px;">填空题</div>
|
||||
<a-card >
|
||||
<template #title>
|
||||
<span>{{index+1}}、</span><span v-html:value="item.wjTitle" style="white-space:pre-wrap;word-wrap : break-word"/>
|
||||
<span>{{index+1}}、</span><span v-html="item.wjTitle" style="white-space:pre-wrap;word-wrap : break-word"/>
|
||||
</template>
|
||||
<template #extra>
|
||||
<span style="margin-left: 40px;" v-if="isShow">题目分值: {{item.wjScore}} 分</span>
|
||||
|
|
|
@ -0,0 +1,331 @@
|
|||
<template>
|
||||
<div id="siteMain">
|
||||
<div id="maxSite">
|
||||
<a-layout>
|
||||
<!-- 页头 -->
|
||||
<headerPage />
|
||||
<!-- 主体部分 -->
|
||||
<a-layout-content>
|
||||
<a-spin :spinning="confirmLoading" v-if="showType == 1">
|
||||
<a-row style="min-height: calc(80vh)">
|
||||
<a-col :span="24" style="overflow-y: scroll">
|
||||
<div style="text-align: center; width: 100%; font-weight: bold; font-size: 20px"> {{ title }}</div>
|
||||
<!-- 题干信息 -->
|
||||
<div style="width: 100%" v-for="(item, index) in tiganData" :key="index">
|
||||
<!-- 单选题 -->
|
||||
<div style="width: 100%" v-if="item.wjType == 3">
|
||||
<div style="text-align: left; width: 100%; font-weight: bold; font-size: 18px">单选题</div>
|
||||
<a-card>
|
||||
<template #title>
|
||||
<span>{{ index + 1 }}、</span><span v-html="item.wjTitle" style="white-space: pre-wrap; word-wrap: break-word"></span>
|
||||
</template>
|
||||
<template #extra>
|
||||
<span style="margin-left: 40px" v-if="isShow">题目分值: {{ item.wjScore }} 分</span>
|
||||
</template>
|
||||
<a-radio-group v-model:value="item.itemSelected" style="width: 100%" size="default" :disabled="disabled">
|
||||
<div style="width: 100%" v-for="(tmxx, index) in item.wjxWjxxTmxxList" :key="index">
|
||||
<a-radio :value="tmxx.itemIndex + ``" style="width: 100%; margin-bottom: 5px">
|
||||
<span v-html="tmxx.itemTitle" style="width: 80%; font-size: 16px"></span>
|
||||
</a-radio>
|
||||
</div>
|
||||
</a-radio-group>
|
||||
</a-card>
|
||||
</div>
|
||||
<!-- 多选题 -->
|
||||
<div style="width: 100%" v-else-if="item.wjType == 4">
|
||||
<div style="text-align: left; width: 100%; font-weight: bold; font-size: 18px">多选题</div>
|
||||
<a-card>
|
||||
<template #title>
|
||||
<span>{{ index + 1 }}、</span><span v-html="item.wjTitle" style="white-space: pre-wrap; word-wrap: break-word" />
|
||||
</template>
|
||||
<template #extra>
|
||||
<span style="margin-left: 40px" v-if="isShow">题目分值: {{ item.wjScore }} 分</span>
|
||||
</template>
|
||||
<a-checkbox-group v-model:value="item.itemSelected" style="width: 100%" size="default" :disabled="disabled">
|
||||
<a-row>
|
||||
<a-col :span="24" v-for="(tmxx, index) in item.wjxWjxxTmxxList" :key="index">
|
||||
<a-checkbox :value="tmxx.itemIndex" style="width: 100%; margin-bottom: 5px">
|
||||
<span v-html="tmxx.itemTitle" style="width: 80%; font-size: 16px"></span>
|
||||
</a-checkbox>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-checkbox-group>
|
||||
</a-card>
|
||||
</div>
|
||||
<!-- 多选题 -->
|
||||
<div style="width: 100%" v-else-if="item.wjType == 5">
|
||||
<div style="text-align: left; width: 100%; font-weight: bold; font-size: 18px">填空题</div>
|
||||
<a-card>
|
||||
<template #title>
|
||||
<span>{{ index + 1 }}、</span><span v-html="item.wjTitle" style="white-space: pre-wrap; word-wrap: break-word" />
|
||||
</template>
|
||||
<template #extra>
|
||||
<span style="margin-left: 40px" v-if="isShow">题目分值: {{ item.wjScore }} 分</span>
|
||||
</template>
|
||||
<a-row>
|
||||
<a-col :span="24">
|
||||
<a-textarea
|
||||
placeholder="请填写答案"
|
||||
v-model:value="item.wjAnswer"
|
||||
style="width: 100%"
|
||||
:auto-size="{ minRows: 2, maxRows: 5 }"
|
||||
:disabled="disabled"
|
||||
/>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-card>
|
||||
</div>
|
||||
<div v-else> 无对应类型 </div>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="24" style="text-align: center">
|
||||
<a-button type="primary" @click="submitForm">提交</a-button>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-spin>
|
||||
<div v-if="showType == 2" style="width: 100%; text-align: center;min-height: 500px;">
|
||||
<div style="margin-top: 200px;"
|
||||
>您已提交了测验,请勿重复提交!<a-button
|
||||
type="primary"
|
||||
@click="
|
||||
() => {
|
||||
router.push({ path: '/site/index' });
|
||||
}
|
||||
"
|
||||
>返回</a-button
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="showType == 3" style="width: 100%; text-align: center;min-height: 500px;">
|
||||
<div style="margin-top: 200px;"
|
||||
>提交成功,请返回首页!<a-button
|
||||
type="primary"
|
||||
@click="
|
||||
() => {
|
||||
router.push({ path: '/site/index' });
|
||||
}
|
||||
"
|
||||
>返回</a-button
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div v-if="showType == 3" style="width: 100%; text-align: center">
|
||||
<div style="margin-top: 300px"
|
||||
>提交成功,请返回首页!<a-button
|
||||
type="primary"
|
||||
@click="
|
||||
() => {
|
||||
router.push({ path: '/site/index' });
|
||||
}
|
||||
"
|
||||
>返回</a-button
|
||||
>
|
||||
</div>
|
||||
</div> -->
|
||||
</a-layout-content>
|
||||
<!-- 页尾 -->
|
||||
<footerPage />
|
||||
</a-layout>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" name="wjxWjxx-add" setup>
|
||||
import { ref, nextTick, unref, defineExpose, onMounted } from 'vue';
|
||||
import { Icon } from '/@/components/Icon';
|
||||
import { useMessage } from '/@/hooks/web/useMessage';
|
||||
import { defHttp } from '/@/utils/http/axios';
|
||||
import { queryWjxWjxxTmxxListByMainId, queryDataById, saveOrUpdate, djtj } from '/@/views/kc/wjxWjxxTmlb/WjxWjxxTmlb.api';
|
||||
import headerPage from '/@/views/site/common/header.vue';
|
||||
import footerPage from '/@/views/site/common/footer.vue';
|
||||
|
||||
const title = ref<string>('');
|
||||
const mainId = ref<string>('');
|
||||
const isShow = ref<boolean>(false);
|
||||
const disabled = ref<boolean>(false);
|
||||
const confirmLoading = ref<boolean>(false);
|
||||
const tiganData = ref<any>([]);
|
||||
const tmxxPar = ref<any>({});
|
||||
const showType = ref<number>(1);
|
||||
// const openTime = ref<string>('');
|
||||
const { createMessage } = useMessage();
|
||||
import { useRouter } from 'vue-router';
|
||||
import { def } from '@vue/shared';
|
||||
|
||||
const emit = defineEmits(['ok', 'closeLoading']);
|
||||
//当前路由信息
|
||||
const { currentRoute } = useRouter();
|
||||
const router = useRouter();
|
||||
const { query } = unref(currentRoute);
|
||||
const { rwbh, xqxn, type, teano, cytitle, cyid, cyatype, sfzd, sfbs } = query; //获取传递参数
|
||||
//初始化
|
||||
function edit(record, isDisabled, type, flag) {
|
||||
console.log('👨👨👦', record, isDisabled, type, flag);
|
||||
// openTime.value = getCurrentTimeFormat();
|
||||
tiganData.value = [];
|
||||
disabled.value = isDisabled;
|
||||
if (type == '6') {
|
||||
isShow.value = true;
|
||||
} else if (type == '1') {
|
||||
isShow.value = false;
|
||||
}
|
||||
title.value = record.title;
|
||||
mainId.value = record.id;
|
||||
if (flag == 'ls') {
|
||||
defHttp.get({ url: '/wjxWjxxTmlb/wjxWjxxTmlb/queryByMainId', params: { id: record.id } }).then((res) => {
|
||||
// console.log(`🚀 ~ defHttp.get ~ res:`, res)
|
||||
let list = res;
|
||||
for (let i = 0; i < list.length; i++) {
|
||||
let par = list[i];
|
||||
if (disabled.value) {
|
||||
if (par.wjType == 4) {
|
||||
let lssj = par.itemSelected.split(',');
|
||||
const numArray = lssj.map((str) => parseInt(str));
|
||||
list[i].itemSelected = numArray;
|
||||
}
|
||||
}
|
||||
}
|
||||
tiganData.value = res;
|
||||
});
|
||||
} else {
|
||||
defHttp.get({ url: '/wjxWjxxTmlb/wjxWjxxTmlb/queryDjByMainId', params: { id: record.id } }).then((res) => {
|
||||
tiganData.value = res;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
//提交数据
|
||||
async function submitForm() {
|
||||
const data = tiganData.value;
|
||||
// console.log(`🚀 ~ submitForm ~ data:`, data)
|
||||
const values = Object.assign([], data);
|
||||
for (let i = 0; i < values.length; i++) {
|
||||
let param = values[i];
|
||||
if (param.wjType == 3 || param.wjType == 4) {
|
||||
if (param.itemSelected == null) {
|
||||
emit('closeLoading');
|
||||
createMessage.warning('有题目没有作答,请检查试卷,完成所有作答!');
|
||||
return;
|
||||
}
|
||||
values[i].itemSelected = param.itemSelected + '';
|
||||
} else if (param.wjType == 5) {
|
||||
if (param.wjAnswer == null || param.wjAnswer == '') {
|
||||
emit('closeLoading');
|
||||
createMessage.warning('有题目没有作答,请检查试卷,完成所有作答!');
|
||||
return;
|
||||
}
|
||||
}
|
||||
// values[i].openTime = openTime.value;
|
||||
}
|
||||
const isUpdate = false;
|
||||
console.log('👨🚒', values);
|
||||
showType.value = 3;
|
||||
//保存成功
|
||||
await djtj(values, isUpdate);
|
||||
}
|
||||
|
||||
function getCurrentTimeFormat() {
|
||||
const now = new Date();
|
||||
const year = now.getFullYear();
|
||||
const month = now.getMonth() + 1;
|
||||
const day = now.getDate();
|
||||
const hour = now.getHours();
|
||||
const minute = now.getMinutes();
|
||||
const second = now.getSeconds();
|
||||
|
||||
return `${year}-${padZero(month)}-${padZero(day)} ${padZero(hour)}:${padZero(minute)}:${padZero(second)}`;
|
||||
}
|
||||
|
||||
function padZero(num) {
|
||||
return num < 10 ? `0${num}` : `${num}`;
|
||||
}
|
||||
|
||||
// 自动请求并暴露内部方法
|
||||
onMounted(() => {
|
||||
//获取是否答过题
|
||||
defHttp.get({ url: '/wjxWjxx/wjxWjxx/querySfdtById', params: { id: cyid } }).then((res) => {
|
||||
console.log('🎅', res);
|
||||
var num = res.num;
|
||||
console.log('🧛', num);
|
||||
if(num && parseInt(num)>0){
|
||||
showType.value = 2;
|
||||
}else{
|
||||
showType.value = 1;
|
||||
edit({ id: cyid, title: cytitle }, false, cyatype, sfbs);
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
defineExpose({
|
||||
edit,
|
||||
submitForm,
|
||||
});
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
/deep/span.ant-radio + * {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/deep/.ant-checkbox-wrapper {
|
||||
box-sizing: border-box;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
color: rgba(0, 0, 0, 0.85);
|
||||
font-size: 14px;
|
||||
font-variant: tabular-nums;
|
||||
line-height: 1.5715;
|
||||
list-style: none;
|
||||
font-feature-settings: tnum;
|
||||
display: inline-flex;
|
||||
align-items: baseline;
|
||||
line-height: unset;
|
||||
cursor: pointer;
|
||||
width: 80%;
|
||||
}
|
||||
/deep/.ant-checkbox + span {
|
||||
padding-right: 8px;
|
||||
padding-left: 8px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#siteMain {
|
||||
// font-size: ;
|
||||
// height: 100%;
|
||||
background: #f3f3f4;
|
||||
#maxSite {
|
||||
//最大宽度
|
||||
max-width: 1170px;
|
||||
//居中
|
||||
margin: 0 auto;
|
||||
.rowGutter {
|
||||
margin-top: 1rem;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.ant-layout-header {
|
||||
color: #fff;
|
||||
background: #1ab394;
|
||||
}
|
||||
.ant-layout-footer {
|
||||
line-height: 1.5;
|
||||
background: #fff;
|
||||
}
|
||||
.ant-layout-sider {
|
||||
color: #fff;
|
||||
line-height: 120px;
|
||||
background: #3ba0e9;
|
||||
}
|
||||
.ant-layout-content {
|
||||
min-height: 120px;
|
||||
color: #000;
|
||||
line-height: 120px;
|
||||
background: #f3f3f4;
|
||||
}
|
||||
.dictBox :deep(.ant-select) {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -17,7 +17,7 @@
|
|||
</a-menu-item>
|
||||
<a-menu-item key="sub1">
|
||||
<template #icon>
|
||||
<PieChartOutlined />
|
||||
<BarChartOutlined />
|
||||
</template>
|
||||
<span @click="getGzt('kcjs')">课程简介</span>
|
||||
<!-- <template #title>教学内容</template>
|
||||
|
@ -26,13 +26,13 @@
|
|||
</a-menu-item >
|
||||
<a-menu-item key="sub2">
|
||||
<template #icon>
|
||||
<PieChartOutlined />
|
||||
<SnippetsOutlined />
|
||||
</template>
|
||||
<span @click="getGzt('dqzy')">课程作业</span>
|
||||
</a-menu-item>
|
||||
<a-menu-item key="sub21">
|
||||
<template #icon>
|
||||
<PieChartOutlined />
|
||||
<AppstoreAddOutlined />
|
||||
</template>
|
||||
<span @click="getGzt('kcjc')">课堂测验</span>
|
||||
</a-menu-item>
|
||||
|
@ -110,7 +110,7 @@ import { ref, onMounted, unref,defineExpose } from 'vue';
|
|||
import { getUserSf, getSysConfig } from '/@/views/site/utils/index';
|
||||
import { defHttp } from '/@/utils/http/axios';
|
||||
import { useRouter } from 'vue-router';
|
||||
import { MailOutlined, AppstoreOutlined, SettingOutlined, MenuUnfoldOutlined,PieChartOutlined } from '@ant-design/icons-vue';
|
||||
import { MailOutlined, AppstoreOutlined, SettingOutlined, MenuUnfoldOutlined,PieChartOutlined,BarChartOutlined,SnippetsOutlined,AppstoreAddOutlined } from '@ant-design/icons-vue';
|
||||
|
||||
import headerPage from '/@/views/site/common/header.vue';
|
||||
import footerPage from '/@/views/site/common/footer.vue';
|
||||
|
|
|
@ -44,7 +44,7 @@
|
|||
<div style="margin-top: 5px;">{{index2+1}}、{{item.content}}</div>
|
||||
</a-col>
|
||||
<a-col :span="2" style="text-align:right">
|
||||
<a-button type="primary" @click="openKecheng(item)" style="margin-left:10px;">已读</a-button>
|
||||
<a-button type="primary" @click="openKecheng(item)" style="margin-left:10px;">已办</a-button>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-col>
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
</a-menu-item>
|
||||
<a-menu-item key="sub2">
|
||||
<template #icon>
|
||||
<PieChartOutlined />
|
||||
<BarChartOutlined />
|
||||
</template>
|
||||
<span @click="getGzt('kcjs')">课程简介</span>
|
||||
</a-menu-item>
|
||||
|
@ -31,13 +31,13 @@
|
|||
</a-sub-menu> -->
|
||||
<a-menu-item key="sub4">
|
||||
<template #icon>
|
||||
<PieChartOutlined />
|
||||
<SnippetsOutlined />
|
||||
</template>
|
||||
<span @click="getGzt('dqzy')">课程作业</span>
|
||||
</a-menu-item>
|
||||
<a-menu-item key="sub7">
|
||||
<template #icon>
|
||||
<PieChartOutlined />
|
||||
<AppstoreAddOutlined />
|
||||
</template>
|
||||
<span @click="getGzt('kcjc')">课程测验</span>
|
||||
</a-menu-item>
|
||||
|
@ -73,21 +73,21 @@
|
|||
<a-menu-item key="min2">
|
||||
<span @click="getGzt('kcjs')">课程简介</span>
|
||||
</a-menu-item>
|
||||
<a-menu-item key="min3">
|
||||
<!-- <a-menu-item key="min3">
|
||||
<span @click="getGzt('stuJiaoXueDanYuanNeiRong')">教学单元</span>
|
||||
</a-menu-item>
|
||||
</a-menu-item> -->
|
||||
<a-menu-item key="min4">
|
||||
<span @click="getGzt('dqzy')">课程作业</span>
|
||||
</a-menu-item>
|
||||
<a-menu-item key="min5">
|
||||
<span @click="getGzt('kcjc')">课程测验</span>
|
||||
</a-menu-item>
|
||||
<a-menu-item key="min6">
|
||||
<!-- <a-menu-item key="min6">
|
||||
<span @click="getGzt('dcwj')">问卷调查</span>
|
||||
</a-menu-item>
|
||||
<a-menu-item key="min7">
|
||||
<span @click="getGzt('tlq')">讨论区</span>
|
||||
</a-menu-item>
|
||||
</a-menu-item> -->
|
||||
</a-sub-menu>
|
||||
</a-menu>
|
||||
</a-col>
|
||||
|
@ -106,7 +106,7 @@
|
|||
import headerPage from '/@/views/site/common/header.vue';
|
||||
import footerPage from '/@/views/site/common/footer.vue';
|
||||
import dqxqkc from '/@/views/site/renKeJiaoCheng/checkKecheng/dqxqkc.vue';
|
||||
import { MailOutlined, AppstoreOutlined, SettingOutlined, MenuUnfoldOutlined,PieChartOutlined } from '@ant-design/icons-vue';
|
||||
import { MailOutlined, AppstoreOutlined, SettingOutlined, MenuUnfoldOutlined,PieChartOutlined,BarChartOutlined,SnippetsOutlined,AppstoreAddOutlined } from '@ant-design/icons-vue';
|
||||
|
||||
|
||||
const maxClassName = ref<any>({});
|
||||
|
|
|
@ -33,11 +33,11 @@
|
|||
<template #zzdfaction="{ text, record }">
|
||||
<a-popover title="得分情况">
|
||||
<template #content>
|
||||
<p>作业得分:{{ record.stuscore&&item.scoreFabu=='1' ? record.stuscore : '未评' }}分</p>
|
||||
<p v-if="record.jxfs">互评奖励:{{ record.jxfs&&item.scoreFabu=='1' ? record.jxfs : '未评' }}分</p>
|
||||
<p>作业得分:{{ record.stuscore&&record.scoreFabu=='1' ? record.stuscore : '未评' }}分</p>
|
||||
<p v-if="record.jxfs">互评奖励:{{ record.jxfs&&record.scoreFabu=='1' ? record.jxfs : '未评' }}分</p>
|
||||
</template>
|
||||
<div class="Score-List-row">
|
||||
<span class="List-row-number">{{ record.zzdf&&item.scoreFabu=='1' ? record.zzdf : '未评' }}分</span>
|
||||
<span class="List-row-number">{{ record.zzdf&&record.scoreFabu=='1' ? record.zzdf : '未评' }}分</span>
|
||||
</div>
|
||||
</a-popover>
|
||||
</template>
|
||||
|
@ -47,16 +47,16 @@
|
|||
<template #content>
|
||||
<a-row style="width:350px;">
|
||||
<a-col :span="12">
|
||||
<span class="zyCon-word">维普资源库查重:</span>{{ getCctype(record, '1') }}
|
||||
<span class="zyCon-word" style="cursor: pointer" @click="handleOpenCcjg(record, '0')">维普资源库查重:</span>{{ getCctype(record, '1') }}
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<span class="zyCon-word">本次作业查重:</span>{{ getCctype(record, '2') }}
|
||||
<span class="zyCon-word" style="cursor: pointer" @click="handleOpenCcjg(record, '1')">本次作业查重:</span>{{ getCctype(record, '2') }}
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<span class="zyCon-word">学校作业库查重:</span>{{ getCctype(record, '4') }}
|
||||
<span class="zyCon-word" style="cursor: pointer" @click="handleOpenCcjg(record, '3')">学校作业库查重:</span>{{ getCctype(record, '4') }}
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<span class="zyCon-word">Aigc查重:</span>{{ getCctype(record, '3') }}
|
||||
<span class="zyCon-word" style="cursor: pointer" @click="handleOpenCcjg(record, '2')">Aigc查重:</span>{{ getCctype(record, '3') }}
|
||||
</a-col>
|
||||
</a-row>
|
||||
</template>
|
||||
|
@ -173,6 +173,54 @@ function handleDetail(record: Recordable) {
|
|||
}
|
||||
|
||||
|
||||
function handleOpenCcjg(record, type) {
|
||||
console.log('🤷', record);
|
||||
var text = '0';
|
||||
if (type == '0') {
|
||||
if (record.wwcc == 'true') {
|
||||
text = '1';
|
||||
} else {
|
||||
text = '0';
|
||||
}
|
||||
} else if (type == '1') {
|
||||
if (record.nwcc == 'true') {
|
||||
text = '1';
|
||||
} else {
|
||||
text = '0';
|
||||
}
|
||||
} else if (type == '2') {
|
||||
if (record.aigccc == 'true') {
|
||||
text = '1';
|
||||
} else {
|
||||
text = '0';
|
||||
}
|
||||
} else if (type == '3') {
|
||||
if (record.xncc == 'true') {
|
||||
text = '1';
|
||||
} else {
|
||||
text = '0';
|
||||
}
|
||||
}
|
||||
if (text == '0') {
|
||||
createMessage.error('此项不查重,请更换查询');
|
||||
return;
|
||||
}
|
||||
defHttp.get({ url: '/zyCcjg/zyCcjg/getCcjg', params: { zyStuId: record.stuId, ccType: type } }).then((res) => {
|
||||
console.log('🧙♂️', res);
|
||||
if(res){
|
||||
var url = res.paperviewurl;
|
||||
if (url) {
|
||||
window.open(url, '_blank');
|
||||
} else {
|
||||
createMessage.error('当前暂无结果');
|
||||
}
|
||||
|
||||
}else{
|
||||
createMessage.error('当前暂无结果');
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
function getCctype(record, type) {
|
||||
var text = '-';
|
||||
if (type == '1') {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<div style="background: #fff; overflow-y: auto; overflow-x: hidden; margin: 10px 5px">
|
||||
<div style="background: #fff; overflow-y: auto; overflow-x: hidden; margin: 10px 5px">
|
||||
<!--查询区域-->
|
||||
<!-- <div class="jeecg-basic-table-form-container">
|
||||
<a-form @keyup.enter.native="searchQuery" :model="queryParam" :label-col="labelCol" :wrapper-col="wrapperCol">
|
||||
|
@ -21,19 +21,29 @@
|
|||
</a-form>
|
||||
</div> -->
|
||||
<a-row>
|
||||
<a-col :span="24" v-for="(item, index) in tableData" :key="index" style="padding: 0px 0px 5px 5px; border-radius: 10px; overflow: hidden;">
|
||||
<div style="width: 100%; height:40px;border-radius: 10px 10px 0 0; background-color: #e6f8f4">
|
||||
<a-col :span="24" style="height:40px; line-height:40px; padding-left:15px; color:#333; overflow: hidden;" >
|
||||
<!-- <div style="font-size: 18px;font-weight: bold;" class="ellipsis">{{item.title}}</div> -->
|
||||
<div style="font-size: 18px; font-weight: bold">第{{ item.sort }}次作业(本次作业在期末成绩中的占比:{{item.zyzb}}%)</div>
|
||||
</a-col>
|
||||
<a-col :span="24" v-for="(item, index) in tableData" :key="index" style="padding: 0px 0px 5px 5px; border-radius: 10px; overflow: hidden">
|
||||
<div style="width: 100%; height: 40px; border-radius: 10px 10px 0 0; background-color: #e6f8f4">
|
||||
<a-col :span="24" style="height: 40px; line-height: 40px; padding-left: 15px; color: #333; overflow: hidden">
|
||||
<!-- <div style="font-size: 18px;font-weight: bold;" class="ellipsis">{{item.title}}</div> -->
|
||||
<div style="font-size: 18px; font-weight: bold">第{{ item.sort }}次作业(本次作业在期末成绩中的占比:{{ item.zyzb }}%)</div>
|
||||
</a-col>
|
||||
</div>
|
||||
<a-card style="height:240px; border: 1px solid #eeeeee">
|
||||
<a-card style="height: 240px; border: 1px solid #eeeeee">
|
||||
<div class="rotate" :style="classFun(item)">{{ callText(item) }}</div>
|
||||
<a-row style="top: -60px; position: relative">
|
||||
<a-col :span="24" class="zytitle" :title="item.title" @click="handleDetail(item)"><span class="zytitle-back">{{ item.title }}</span></a-col>
|
||||
<a-col :span="12" class="zyCon"><span class="zyCon-word">作业时间:</span>{{ dayjs(item.startTime).format('YYYY.MM.DD HH:mm') }} ~ {{ dayjs(item.endTime).format('YYYY.MM.DD HH:mm') }}</a-col>
|
||||
<a-col :span="12" class="zyCon"><span class="zyCon-word">互评时间:</span><span v-if="item.xshpkg == '1'">{{ dayjs(item.xshpkssj).format('YYYY.MM.DD HH:mm') }} ~ {{ dayjs(item.xshpjssj).format('YYYY.MM.DD HH:mm') }}</span><span v-else>未设置互评</span></a-col>
|
||||
<a-col :span="24" class="zytitle" :title="item.title" @click="handleDetail(item)"
|
||||
><span class="zytitle-back">{{ item.title }}</span></a-col
|
||||
>
|
||||
<a-col :span="12" class="zyCon"
|
||||
><span class="zyCon-word">作业时间:</span>{{ dayjs(item.startTime).format('YYYY.MM.DD HH:mm') }} ~
|
||||
{{ dayjs(item.endTime).format('YYYY.MM.DD HH:mm') }}</a-col
|
||||
>
|
||||
<a-col :span="12" class="zyCon"
|
||||
><span class="zyCon-word">互评时间:</span
|
||||
><span v-if="item.xshpkg == '1'"
|
||||
>{{ dayjs(item.xshpkssj).format('YYYY.MM.DD HH:mm') }} ~ {{ dayjs(item.xshpjssj).format('YYYY.MM.DD HH:mm') }}</span
|
||||
><span v-else>未设置互评</span></a-col
|
||||
>
|
||||
<a-col :span="12" class="zyCon Score-List">
|
||||
<!-- <div class="Score-List-row">
|
||||
<span class="List-row-number">{{ item.stuscore ? item.stuscore : '未评' }}分</span>
|
||||
|
@ -47,42 +57,45 @@
|
|||
<span class="List-row-number">{{ item.jxfs ? item.jxfs : '未评' }}分</span>
|
||||
<span class="List-row-word">互评奖励</span>
|
||||
</div> -->
|
||||
<a-popover title="得分情况">
|
||||
<template #content>
|
||||
<p>作业得分:{{ item.stuscore&&item.scoreFabu=='1' ? item.stuscore : '未评' }}分</p>
|
||||
<p v-if="item.jxfs">互评奖励:{{ item.jxfs&&item.scoreFabu=='1' ? item.jxfs : '未评' }}分</p>
|
||||
</template>
|
||||
<div class="Score-List-row">
|
||||
<span class="List-row-number">{{ item.zzdf&&item.scoreFabu=='1' ? item.zzdf : '未评' }}分</span>
|
||||
<span class="List-row-word">总分</span>
|
||||
</div>
|
||||
</a-popover>
|
||||
<a-popover title="查重情况">
|
||||
<template #content>
|
||||
<a-row style="width:350px;">
|
||||
<a-col :span="12">
|
||||
<span class="zyCon-word">维普资源库查重:</span>{{ getCctype(item, '1') }}
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<span class="zyCon-word">本次作业查重:</span>{{ getCctype(item, '2') }}
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<span class="zyCon-word">学校作业库查重:</span>{{ getCctype(item, '4') }}
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<span class="zyCon-word">Aigc查重:</span>{{ getCctype(item, '3') }}
|
||||
</a-col>
|
||||
</a-row>
|
||||
<!-- <p><span class="zyCon-word">维普资源库查重:</span>{{ getCctype(item, '1') }}</p>
|
||||
<a-popover title="得分情况">
|
||||
<template #content>
|
||||
<p>作业得分:{{ item.stuscore && item.scoreFabu == '1' ? item.stuscore : '未评' }}分</p>
|
||||
<p v-if="item.jxfs">互评奖励:{{ item.jxfs && item.scoreFabu == '1' ? item.jxfs : '未评' }}分</p>
|
||||
</template>
|
||||
<div class="Score-List-row">
|
||||
<span class="List-row-number">{{ item.zzdf && item.scoreFabu == '1' ? item.zzdf : '未评' }}分</span>
|
||||
<span class="List-row-word">总分</span>
|
||||
</div>
|
||||
</a-popover>
|
||||
<a-popover title="查重情况">
|
||||
<template #content>
|
||||
<a-row style="width: 350px">
|
||||
<a-col :span="12">
|
||||
<span class="zyCon-word" style="cursor: pointer" @click="handleOpenCcjg(item, '0')">维普资源库查重:</span
|
||||
>{{ getCctype(item, '1') }}
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<span class="zyCon-word" style="cursor: pointer" @click="handleOpenCcjg(item, '1')">本次作业查重:</span
|
||||
>{{ getCctype(item, '2') }}
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<span class="zyCon-word" style="cursor: pointer" @click="handleOpenCcjg(item, '3')">学校作业库查重:</span
|
||||
>{{ getCctype(item, '4') }}
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<span class="zyCon-word" style="cursor: pointer" @click="handleOpenCcjg(item, '2')">Aigc查重:</span>{{ getCctype(item, '3') }}
|
||||
</a-col>
|
||||
</a-row>
|
||||
<!-- <p><span class="zyCon-word">维普资源库查重:</span>{{ getCctype(item, '1') }}</p>
|
||||
<p><span class="zyCon-word">本次作业查重:</span>{{ getCctype(item, '2') }}</p>
|
||||
<p><span class="zyCon-word">学校作业库查重:</span>{{ getCctype(item, '4') }}</p>
|
||||
<p><span class="zyCon-word">Aigc查重:</span>{{ getCctype(item, '3') }}</p> -->
|
||||
</template>
|
||||
<div class="Score-List-row">
|
||||
<span class="List-row-number">{{ item.zgccl&&item.zgccl!='0'?item.zgccl:'-' }}</span>
|
||||
<span class="List-row-word">查重率</span>
|
||||
</div>
|
||||
</a-popover>
|
||||
</template>
|
||||
<div class="Score-List-row">
|
||||
<span class="List-row-number">{{ item.zgccl && item.zgccl != '0' ? item.zgccl : '-' }}</span>
|
||||
<span class="List-row-word">查重率</span>
|
||||
</div>
|
||||
</a-popover>
|
||||
<!-- <div class="Score-List-row">
|
||||
<span class="List-row-number">{{ item.zgccl?item.zgccl:'-' }}</span>
|
||||
<span class="List-row-word">查重率</span>
|
||||
|
@ -96,20 +109,19 @@
|
|||
<div style="float: left" class="wpopen" :title="item.xnsftg" @click="handleOpenCcjg(item, '3')"><span class="zyCon-word">学校作业库查重:</span>{{ getCctype(item, '4') }}</div>
|
||||
<div style="float: right" class="wpopen" :title="item.aigcsftg" @click="handleOpenCcjg(item, '2')"><span class="zyCon-word">Aigc查重:</span>{{ getCctype(item, '3') }}</div>
|
||||
</a-col> -->
|
||||
<a-col :span="24" style="text-align: left; border-top: 1px solid #f6f6f6; padding-top:10px">
|
||||
<a-button class="zyCon-button" type="primary" @click="handleDetail(item)">
|
||||
详情
|
||||
</a-button>
|
||||
<a-button class="zyCon-button" type="primary" @click="handleShangchuan(item)" v-if="!item.stuFilePath">
|
||||
上传
|
||||
</a-button>
|
||||
<a-button class="zyCon-button" type="primary" @click="handleDownload(item)" v-if="item.stuFilePath">
|
||||
下载
|
||||
</a-button>
|
||||
<a-button class="zyCon-button" type="primary" @click="handlePreview(item)" v-if="item.stuFilePath">
|
||||
预览
|
||||
</a-button>
|
||||
<a-button class="zyCon-button" type="primary" @click="handleHuping(item)" v-if="handleSfkshp(item)==1 || handleSfkshp(item)==2" :disabled="handleSfkshp(item)!=1" :title="handleSfkshp(item)==1?'':'未到互评时间或已过互评时间'">
|
||||
<a-col :span="24" style="text-align: left; border-top: 1px solid #f6f6f6; padding-top: 10px">
|
||||
<a-button class="zyCon-button" type="primary" @click="handleDetail(item)"> 详情 </a-button>
|
||||
<a-button class="zyCon-button" type="primary" @click="handleShangchuan(item)" v-if="!item.stuFilePath"> 上传 </a-button>
|
||||
<a-button class="zyCon-button" type="primary" @click="handleDownload(item)" v-if="item.stuFilePath"> 下载 </a-button>
|
||||
<a-button class="zyCon-button" type="primary" @click="handlePreview(item)" v-if="item.stuFilePath"> 预览 </a-button>
|
||||
<a-button
|
||||
class="zyCon-button"
|
||||
type="primary"
|
||||
@click="handleHuping(item)"
|
||||
v-if="handleSfkshp(item) == 1 || handleSfkshp(item) == 2"
|
||||
:disabled="handleSfkshp(item) != 1"
|
||||
:title="handleSfkshp(item) == 1 ? '' : '未到互评时间或已过互评时间'"
|
||||
>
|
||||
互评
|
||||
</a-button>
|
||||
</a-col>
|
||||
|
@ -118,7 +130,13 @@
|
|||
</a-col>
|
||||
<a-col :span="24">
|
||||
<div v-show="tableData.length > 0">
|
||||
<a-pagination v-model="current" :total="total" @change="handlePageChange" :pageSize="pageSize" style="text-align: right; margin-top:5px; margin-bottom:10px" />
|
||||
<a-pagination
|
||||
v-model="current"
|
||||
:total="total"
|
||||
@change="handlePageChange"
|
||||
:pageSize="pageSize"
|
||||
style="text-align: right; margin-top: 5px; margin-bottom: 10px"
|
||||
/>
|
||||
</div>
|
||||
<div v-show="tableData.length == 0">
|
||||
<a-empty />
|
||||
|
@ -182,13 +200,14 @@ const wrapperCol = reactive({
|
|||
sm: { span: 16 },
|
||||
});
|
||||
|
||||
function handleHpfs(record){
|
||||
function handleHpfs(record) {
|
||||
var href = '/stuzy/zyhpDetail';
|
||||
router.push({ path: href, query: { rwbh, xqxn, type, teano, zyStuId: record.stuId, mainId: record.id } });
|
||||
}
|
||||
|
||||
function handleOpenCcjg(record, type) {
|
||||
var text = "0";
|
||||
console.log('🤷', record);
|
||||
var text = '0';
|
||||
if (type == '0') {
|
||||
if (record.wwcc == 'true') {
|
||||
text = '1';
|
||||
|
@ -214,17 +233,23 @@ function handleOpenCcjg(record, type) {
|
|||
text = '0';
|
||||
}
|
||||
}
|
||||
if(text == '0'){
|
||||
createMessage.error("此项不查重,请更换查询");
|
||||
if (text == '0') {
|
||||
createMessage.error('此项不查重,请更换查询');
|
||||
return;
|
||||
}
|
||||
defHttp.get({ url: '/zyCcjg/zyCcjg/getCcjg', params: { zyStuId: record.stuId, ccType: type } }).then((res) => {
|
||||
console.log('🧙♂️', res);
|
||||
if(res){
|
||||
var url = res.paperviewurl;
|
||||
if(url){
|
||||
if (url) {
|
||||
window.open(url, '_blank');
|
||||
} else {
|
||||
createMessage.error('当前暂无结果');
|
||||
}
|
||||
|
||||
}else{
|
||||
createMessage.error("当前暂无结果");
|
||||
createMessage.error('当前暂无结果');
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -236,9 +261,9 @@ function handleSfkshp(record) {
|
|||
var nowTime = new Date();
|
||||
if (record.stuFilePath && sfkshp == '1' && nowTime.getTime() >= xshpkssj.getTime() && nowTime.getTime() <= xshpjssj.getTime()) {
|
||||
return 1;
|
||||
}else if(record.stuFilePath && sfkshp == '1'){
|
||||
return 2
|
||||
}else{
|
||||
} else if (record.stuFilePath && sfkshp == '1') {
|
||||
return 2;
|
||||
} else {
|
||||
return 3;
|
||||
}
|
||||
}
|
||||
|
@ -459,71 +484,71 @@ onMounted(() => {
|
|||
}
|
||||
.zyCon {
|
||||
line-height: 30px;
|
||||
color: #999;
|
||||
color: #999;
|
||||
}
|
||||
.rotate {
|
||||
transform: rotate(45deg);
|
||||
background: linear-gradient(90deg, #93d861, #8ddc53, #35C495);
|
||||
background: linear-gradient(90deg, #93d861, #8ddc53, #35c495);
|
||||
color: #fff;
|
||||
padding:17px 10px 10px 10px;
|
||||
padding: 17px 10px 10px 10px;
|
||||
position: relative;
|
||||
top: -68px;
|
||||
right: -400px;
|
||||
text-align: center;
|
||||
font-size: 12px;
|
||||
}
|
||||
.wpopen:hover{
|
||||
.wpopen:hover {
|
||||
cursor: pointer;
|
||||
color:#18a689;
|
||||
color: #18a689;
|
||||
}
|
||||
.zyCon-word{
|
||||
.zyCon-word {
|
||||
color: #333;
|
||||
}
|
||||
.Score-List{
|
||||
.Score-List {
|
||||
display: flex;
|
||||
padding: 10px 0;
|
||||
}
|
||||
.Score-List-row{
|
||||
.Score-List-row {
|
||||
display: flex;
|
||||
width: 50%;
|
||||
flex-direction:column;
|
||||
flex-direction: column;
|
||||
margin-right: 10px;
|
||||
justify-content: center;
|
||||
text-align: center;
|
||||
background: #f7f7f7;
|
||||
padding: 10px 0;
|
||||
}
|
||||
.List-row-number{
|
||||
font-weight: bold;
|
||||
.List-row-number {
|
||||
font-weight: bold;
|
||||
font-size: 18px;
|
||||
color: #ffa200;
|
||||
}
|
||||
.Score-List-row :hover{
|
||||
.Score-List-row :hover {
|
||||
color: #1ab394;
|
||||
cursor: pointer;
|
||||
}
|
||||
.List-row-word{
|
||||
.List-row-word {
|
||||
color: #999;
|
||||
font-size: 12px;
|
||||
font-size: 12px;
|
||||
}
|
||||
.zyCon-button{
|
||||
.zyCon-button {
|
||||
margin-right: 10px;
|
||||
}
|
||||
.zytitle{
|
||||
.zytitle {
|
||||
overflow: hidden; /* 确保超出容器的内容被裁剪 */
|
||||
white-space: nowrap; /* 确保文本在一行内显示 */
|
||||
text-overflow: ellipsis; /* 超出部分显示省略号 */
|
||||
margin-left: -24px;
|
||||
margin-top:5px;
|
||||
margin-bottom:8px;
|
||||
margin-top: 5px;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
.zytitle-back{
|
||||
.zytitle-back {
|
||||
background: linear-gradient(90deg, #cdf0e9, #edfaf7);
|
||||
cursor: pointer;
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
text-indent:20px;
|
||||
text-indent: 20px;
|
||||
padding: 5px 15px;
|
||||
border-radius:0 30px 30px 0;
|
||||
border-radius: 0 30px 30px 0;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -134,7 +134,7 @@
|
|||
<a-form-item label="作业要求" v-bind="validateInfos.content">
|
||||
<j-editor v-model:value="zyInfo.content" v-if="zyyqShow" @blur="handleZyyqShow(0)" />
|
||||
<div style="color: #777777" v-html="zyInfo.content" v-if="!zyyqShow"></div>
|
||||
<div @click="handleZyyqShow(1)" class="tishi" :disabled="editDisabled">温馨提示:点击可编辑作业要求</div>
|
||||
<div @click="handleZyyqShow(1)" class="tishi" v-if="!editDisabled">温馨提示:点击可编辑作业要求</div>
|
||||
<!-- <div @click="handleZyyqShow(1)"><span style="cursor: pointer; color: #18a689">温馨提示:点击可编辑作业要求</span></div> -->
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
@ -162,7 +162,7 @@
|
|||
<a-form-item label="">
|
||||
<j-editor v-model:value="zyInfo.pfbz" v-if="pfbzShow" @blur="handlePfbzShow(0)" />
|
||||
<div v-html="zyInfo.pfbz" v-if="!pfbzShow"></div>
|
||||
<div class="tishi" @click="handlePfbzShow(1)" :disabled="editDisabled">温馨提示:点击可编辑评分标准</div>
|
||||
<div class="tishi" @click="handlePfbzShow(1)" v-if="!editDisabled">温馨提示:点击可编辑评分标准</div>
|
||||
</a-form-item>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
@ -367,10 +367,10 @@
|
|||
</div>
|
||||
</template>
|
||||
<template #scoreaction="{ record }">
|
||||
<span style="color: #36b395; cursor: pointer" v-if="record.scoreFabu == '1'">
|
||||
<span style="color: #36b395; cursor: pointer" v-if="record.scoreFabu == '1' || !record.filePath">
|
||||
{{ record.score }}
|
||||
</span>
|
||||
<span style="color: #36b395; cursor: pointer" v-if="record.scoreFabu != '1'">
|
||||
<span style="color: #36b395; cursor: pointer" v-if="record.scoreFabu != '1' && record.filePath">
|
||||
<a-input v-model:value="record.score" style="width: 90%" @blur="handleChangeScore(record)" />
|
||||
</span>
|
||||
</template>
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
</a-col>
|
||||
<a-col :span="24" v-if="zyInfo.filePath">
|
||||
<a-form-item label="参考资料" >
|
||||
<span>{{ lastString(formData.filePath) }}</span>
|
||||
<a-button type="primary" style="margin-left: 10px" @click="downLoad(zyInfo.filePath)">下载</a-button>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
@ -195,6 +196,12 @@ const columnsKhnr = [
|
|||
},
|
||||
];
|
||||
|
||||
function lastString(record) {
|
||||
console.log('😓', record);
|
||||
const parts = record.split('/');
|
||||
console.log('🧔', parts);
|
||||
return parts[parts.length - 1];
|
||||
}
|
||||
//选择考察内容
|
||||
function handleKcnr(kcnr) {
|
||||
if(kcnr){
|
||||
|
|
Loading…
Reference in New Issue