添加调查问卷功能

This commit is contained in:
yangjun 2025-02-05 11:00:21 +08:00
parent 86ea17180e
commit ee0b14366e
8 changed files with 2601 additions and 28 deletions

View File

@ -90,7 +90,7 @@ const zuoye: AppRouteModule = {
{
path: 'dcwjWenjuan',
name: 'dcwjWenjuan',
component: () => import('/@/views/kc/wjxDcwj/WjxDcwjMainList.vue'),
component: () => import('/@/views/kc/wjxCswj/WjxDcwjV2List.vue'),
meta: {
title: '调查问卷',
},

View File

@ -4,13 +4,18 @@ import { rules} from '/@/utils/helper/validator';
import { render } from '/@/utils/common/renderUtils';
//列表数据
export const columns: BasicColumn[] = [
// {
// title: '任务编号',
// align: "center",
// dataIndex: 'rwbh'
// },
{
title: '任务编号',
title: '助教工号',
align: "center",
dataIndex: 'rwbh'
dataIndex: 'zjbh'
},
{
title: '助教',
title: '助教名称',
align: "center",
dataIndex: 'zjbh_dictText'
},

View File

@ -5,8 +5,8 @@
<a-form @keyup.enter.native="searchQuery" :model="queryParam" :label-col="labelCol" :wrapper-col="wrapperCol">
<a-row :gutter="24">
<a-col :lg="8">
<a-form-item label="助教号">
<j-input placeholder="请输入助教号" v-model:value="queryParam.zjbh"></j-input>
<a-form-item label="助教号">
<j-input placeholder="请输入助教号" v-model:value="queryParam.zjbh"></j-input>
</a-form-item>
</a-col>
<a-col :lg="8">
@ -25,14 +25,14 @@
</a-form>
</div>
<!--引用表格-->
<BasicTable @register="registerTable" :rowSelection="rowSelection">
<BasicTable @register="registerTable">
<!--插槽:table标题-->
<template #tableTitle>
<a-button type="primary" @click="handleAdd" preIcon="ant-design:plus-outlined"> 新增</a-button>
</template>
<!--操作栏-->
<template #action="{ record }">
<TableAction :actions="getTableAction(record)" :dropDownActions="getDropDownAction(record)"/>
<TableAction :actions="getTableAction(record)" />
</template>
<!--字段回显插槽-->
<template #htmlSlot="{text}">
@ -156,10 +156,17 @@ const { rwbh,xqxn } = query;//获取传递参数
*/
function getTableAction(record) {
return [
// {
// label: '',
// onClick: handleEdit.bind(null, record),
// },
{
label: '编辑',
onClick: handleEdit.bind(null, record),
},
label: '删除',
popConfirm: {
title: '是否确认删除',
confirm: handleDelete.bind(null, record),
}
}
];
}

View File

@ -1445,11 +1445,16 @@ function handleCallYinyong(record) {
console.log('😠', zyInfo);
// defHttp.get({ url: '/wjxWjxxTmlb/wjxWjxxTmlb/queryByMainId', params: { id: yyzyid } }).then((res) => {
// console.log('🥴', res);
// tiganData.value = res;
// console.log('🧞1111111111', tiganData.value);
// });
defHttp.get({ url: '/wjxWjxxTmlb/wjxWjxxTmlb/queryByMainId', params: { id: yyzyid } }).then((res) => {
console.log('🥴', res);
for(var i=0;i<res.length;i++){
res[i].createBy = null;
res[i].createTime = null;
res[i].wjLeixing = wjLeixing.value;
}
tiganData.value = res;
console.log('🧞1111111111', tiganData.value);
});
}

File diff suppressed because it is too large Load Diff

View File

@ -44,6 +44,9 @@
<a-col :span="24" class="zyCon">
时间{{dayjs(item.startTime).format('YYYY.MM.DD')}} - {{dayjs(item.endTime).format('YYYY.MM.DD')}}
</a-col>
<a-col :span="24" class="ellipsis" :title="item.errorMsg" v-if="item.errorMsg" style="color: red;">
{{item.errorMsg}}
</a-col>
<!-- <a-col :span="16" class="zyCon">
<a-col :span="24" class="zyCon">{{item.startTime}}</a-col>
<a-col :span="24" class="zyCon">{{item.endTime}}</a-col>
@ -52,7 +55,7 @@
</a-col>
<a-col :span="24" style="text-align:center;margin-top:20px;">
<a-button type="primary" @click="handleDj(item)" style="margin-left:5px;padding: 0px 8px;background:rgb(28, 132, 198);" v-if="item.flag=='-1'">开始答卷</a-button>
<a-button type="primary" style="margin-left:5px;padding: 0px 8px;background:rgb(28, 132, 198);color:#ffffff;" v-if="item.flag=='0'" disabled>正在批</a-button>
<a-button type="primary" @click="handleDj(item)" style="margin-left:5px;padding: 0px 8px;background:rgb(28, 132, 198);color:#ffffff;" v-if="item.flag=='0'" >重新答</a-button>
<a-button type="primary" @click="handleDjjg(item)" style="margin-left:5px;padding: 0px 8px;background:rgb(28, 132, 198);" v-if="item.flag=='1'">查看答卷</a-button>
</a-col>
</a-row>
@ -197,7 +200,7 @@
if(flag == '-1'){
return "待提交";
}else if(flag == '0'){
return "待评分";
return "需重答";
}else if(flag == '1'){
return "已完成";
}

View File

@ -36,11 +36,11 @@
>所得分值<span class="answer-word"> {{ item.itemScore }}</span> </div
>
</template>
<a-radio-group v-model:value="item.itemSelected" style="width: 100%" size="default" disabled>
<a-radio-group v-model:value="item.itemSelected" style="width: 100%" size="default" disabled >
<div style="width: 100%" v-for="(tmxx, index) in item.wjxWjxxTmxxList">
<a-radio :value="tmxx.itemIndex + ``" style="width: 100%; margin-bottom: 5px">
<span v-html:value="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 v-if="tmxx.itemSelected == 'true' && djxxData.atype == 6" style="color: #9e9e9e; margin-left: 30px; font-size: 12px">(此选项是正确答案)</span>
</a-radio>
</div>
</a-radio-group>
@ -75,7 +75,7 @@
<div style="width: 100%" v-for="(tmxx, index) in item.wjxWjxxTmxxList">
<a-radio :value="tmxx.itemIndex + ``" style="width: 100%; margin-bottom: 5px">
<span v-html:value="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 v-if="tmxx.itemSelected == 'true' && djxxData.atype == 6" style="color: #9e9e9e; margin-left: 30px; font-size: 12px">(此选项是正确答案)</span>
</a-radio>
</div>
</a-radio-group>
@ -113,7 +113,7 @@
<!-- -{{tmxx}}- -->
<a-checkbox :value="tmxx.itemIndex" style="width: 100%; margin-bottom: 5px">
<span v-html:value="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 v-if="tmxx.itemSelected == 'true' && djxxData.atype == 6" style="color: #9e9e9e; margin-left: 30px; font-size: 12px">(此选项是正确答案)</span>
</a-checkbox>
</a-col>
</a-row>
@ -126,7 +126,7 @@
<a-card>
<template #title>
<span>{{ index + 1 }}</span><span v-html:value="item.wjTitle" style="white-space: pre-wrap; word-wrap: break-word" />
<span v-if="item.tktda" style="color: #9e9e9e; margin-left: 30px; font-size: 12px">(正确答案:{{ item.tktda }})</span>
<span v-if="item.tktda && djxxData.atype == 6" style="color: #9e9e9e; margin-left: 30px; font-size: 12px">(正确答案:{{ item.tktda }})</span>
<div v-if="item.picPath">
<j-upload
@ -203,7 +203,6 @@
:buttonVisible="false"
></j-upload>
</div>
<!-- <span v-if="item.tktda" style="color:#9e9e9e;margin-left:30px;font-size:12px;">(正确答案:{{item.tktda}})</span> -->
</template>
<template #extra v-if="djxxData.atype == 6">
<div style="margin-left: 40px"

View File

@ -63,11 +63,12 @@
<Icon icon="ant-design:team-outlined" />
<span>课程助教</span>
</a-menu-item >
<!--
<a-menu-item key="sub9">
<BlockOutlined />
<span @click="getGzt('dcwj')">问卷调查</span>
<a-menu-item key="sub12" @click="getGzt('dcwj')">
<Icon icon="ant-design:contacts-outlined" />
<span >问卷调查</span>
</a-menu-item>
<!--
<a-menu-item key="sub10">
<BlockOutlined />
<span @click="getGzt('yiykzyk')">教学资源库</span>