修改bug

This commit is contained in:
yangjun 2024-05-24 15:31:26 +08:00
parent fdeaa26782
commit 66a878ee1d
13 changed files with 175 additions and 52 deletions

View File

@ -207,6 +207,7 @@ const site: AppRouteModule = {
title: '讨论区', title: '讨论区',
}, },
}, },
], ],
}; };

View File

@ -111,6 +111,14 @@ const zuoye: AppRouteModule = {
title: '教学资源库', title: '教学资源库',
}, },
}, },
{
path: 'dqkcCdxx',
name: 'dqkcCdxx',
component: () => import('/@/views/zy/zyInfoStudent/ZyCdxxList.vue'),
meta: {
title: '存档信息',
},
},
] ]
} }

View File

@ -13,8 +13,8 @@
<a-form-item label="测验类型"> <a-form-item label="测验类型">
<a-select placeholder="请选择问卷状态" ref="select" v-model:value="queryParam.flag"> <a-select placeholder="请选择问卷状态" ref="select" v-model:value="queryParam.flag">
<a-select-option value="">全部</a-select-option> <a-select-option value="">全部</a-select-option>
<a-select-option value="-1">答卷</a-select-option> <a-select-option value="-1">提交</a-select-option>
<a-select-option value="0">批卷</a-select-option> <a-select-option value="0">评分</a-select-option>
<a-select-option value="1">已完成</a-select-option> <a-select-option value="1">已完成</a-select-option>
</a-select> </a-select>
</a-form-item> </a-form-item>
@ -192,9 +192,9 @@
function getStatus(flag){ function getStatus(flag){
if(flag == '-1'){ if(flag == '-1'){
return "待答卷"; return "待提交";
}else if(flag == '0'){ }else if(flag == '0'){
return "待批卷"; return "待评分";
}else if(flag == '1'){ }else if(flag == '1'){
return "已完成"; return "已完成";
} }

View File

@ -13,8 +13,8 @@
<a-form-item label="测验类型"> <a-form-item label="测验类型">
<a-select placeholder="请选择问卷状态" ref="select" v-model:value="queryParam.flag"> <a-select placeholder="请选择问卷状态" ref="select" v-model:value="queryParam.flag">
<a-select-option value="">全部</a-select-option> <a-select-option value="">全部</a-select-option>
<a-select-option value="-1">答卷</a-select-option> <a-select-option value="-1">提交</a-select-option>
<a-select-option value="0">批卷</a-select-option> <a-select-option value="0">评分</a-select-option>
<a-select-option value="1">已完成</a-select-option> <a-select-option value="1">已完成</a-select-option>
</a-select> </a-select>
</a-form-item> </a-form-item>
@ -192,9 +192,9 @@
function getStatus(flag){ function getStatus(flag){
if(flag == '-1'){ if(flag == '-1'){
return "待答卷"; return "待提交";
}else if(flag == '0'){ }else if(flag == '0'){
return "待批卷"; return "待评分";
}else if(flag == '1'){ }else if(flag == '1'){
return "已完成"; return "已完成";
} }

View File

@ -160,6 +160,7 @@ import {ref, reactive, defineExpose, nextTick, defineProps, computed, onMounted,
} }
} }
} }
model.public = "0"
await saveOrUpdate(model, isUpdate.value) await saveOrUpdate(model, isUpdate.value)
.then((res) => { .then((res) => {
if (res.success) { if (res.success) {

View File

@ -13,10 +13,10 @@
<div> <div>
<span style="float: left;line-height: 30px; font-size: 18px; font-weight: bold;">教学大纲</span> <span style="float: left;line-height: 30px; font-size: 18px; font-weight: bold;">教学大纲</span>
<span style="width:300px;float: left;"> <span style="width:300px;float: left;">
<span style="float:left;"><j-upload v-model:value="jxdgInfo.filePath" maxCount="1" accept=".doc,.docx,.pdf" :forceAcceptVerify="true"></j-upload></span> <span style="float:left;"><j-upload v-model:value="jxdgInfo.filePath" maxCount="1" accept=".doc,.docx,.pdf" @change="jxdgChange" :forceAcceptVerify="true"></j-upload></span>
</span> </span>
<span style="float: right;"> <span style="float: right;">
<a-button type="primary" @click="addKcjsHandle(2)">提交</a-button> <!-- <a-button type="primary" @click="addKcjsHandle(2)">提交</a-button> -->
<a-button type="primary" style="margin-left:10px;" @click="openPdf(jxdgInfo)">预览</a-button> <a-button type="primary" style="margin-left:10px;" @click="openPdf(jxdgInfo)">预览</a-button>
</span> </span>
</div> </div>
@ -25,10 +25,10 @@
<div> <div>
<span style="float: left;line-height: 30px; font-size: 18px; font-weight: bold;">教学日历</span> <span style="float: left;line-height: 30px; font-size: 18px; font-weight: bold;">教学日历</span>
<span style="width:300px;float: left;"> <span style="width:300px;float: left;">
<span style="float:left;"><j-upload v-model:value="jxdgInfo.jxrlFilePath" maxCount="1" accept=".doc,.docx,.pdf" :forceAcceptVerify="true"></j-upload></span> <span style="float:left;"><j-upload v-model:value="jxdgInfo.jxrlFilePath" maxCount="1" accept=".doc,.docx,.pdf" @change="jxrlChange" :forceAcceptVerify="true"></j-upload></span>
</span> </span>
<span style="float: right;"> <span style="float: right;">
<a-button type="primary" @click="addKcjsHandle(3)">提交</a-button> <!-- <a-button type="primary" @click="addKcjsHandle(3)">提交</a-button> -->
<a-button type="primary" style="margin-left:10px;" @click="openJxrlPdf(jxdgInfo)">预览</a-button> <a-button type="primary" style="margin-left:10px;" @click="openJxrlPdf(jxdgInfo)">预览</a-button>
</span> </span>
</div> </div>
@ -115,9 +115,28 @@ const baseApiUrl = globSetting.domainUrl;
id:'', id:'',
filePath:null, filePath:null,
jxrlFilePath:null, jxrlFilePath:null,
kcjs:'' kcjs:'',
pdfPath:null,
jxrlPdfPath:null,
}); });
//
function jxdgChange(record){
console.log(`🚀 ~ jxdgChange ~ record:`, record)
var model = {id:jxdgInfo.value.id,filePath:record}
defHttp.post({ url: '/zyJxdg/zyJxdg/jxdgScfj', params: model }).then((res) => {
getKcjsJxdg();
});
}
function jxrlChange(record){
console.log(`🚀 ~ jxdgChange ~ record:`, record)
var model = {id:jxdgInfo.value.id,jxrlFilePath:record}
defHttp.post({ url: '/zyJxdg/zyJxdg/jxrlScfj', params: model }).then((res) => {
getKcjsJxdg();
});
}
// //
function handleYinyong(){ function handleYinyong(){
var record = {xqxn,rwbh} var record = {xqxn,rwbh}
@ -145,17 +164,23 @@ const baseApiUrl = globSetting.domainUrl;
} }
function openPdf(record){ function openPdf(record){
if(record.pdfPath){
var url2 = getFileAccessHttpUrl(record.pdfPath) var url2 = getFileAccessHttpUrl(record.pdfPath)
// console.log(`🚀 ~ openPdf ~ url2:`, url2)
let url = baseApiUrl+"/generic/web/viewer.html?file="+encodeURIComponent(url2); let url = baseApiUrl+"/generic/web/viewer.html?file="+encodeURIComponent(url2);
window.open(url,"_blank") window.open(url,"_blank")
}else{
createMessage.warning("暂无文件或文件上传中")
}
} }
function openJxrlPdf(record){ function openJxrlPdf(record){
if(record.jxrlPdfPath){
var url2 = getFileAccessHttpUrl(record.jxrlPdfPath) var url2 = getFileAccessHttpUrl(record.jxrlPdfPath)
// console.log(`🚀 ~ openPdf ~ url2:`, url2)
let url = baseApiUrl+"/generic/web/viewer.html?file="+encodeURIComponent(url2); let url = baseApiUrl+"/generic/web/viewer.html?file="+encodeURIComponent(url2);
window.open(url,"_blank") window.open(url,"_blank")
}else{
createMessage.warning("暂无文件或文件上传中")
}
} }
// //

View File

@ -23,6 +23,7 @@
<template #title>教学工具</template> <template #title>教学工具</template>
<a-menu-item key="6" @click="getGzt('dcwj')">问卷调查</a-menu-item> <a-menu-item key="6" @click="getGzt('dcwj')">问卷调查</a-menu-item>
<a-menu-item key="7" @click="getGzt('gongju')">到课率识别</a-menu-item> <a-menu-item key="7" @click="getGzt('gongju')">到课率识别</a-menu-item>
<a-menu-item key="8" @click="getGzt('zycd')">作业存档</a-menu-item>
</a-sub-menu> </a-sub-menu>
<a-menu-item key="sub4"> <a-menu-item key="sub4">
<span @click="getGzt('yiykzyk')">教学资源库</span> <span @click="getGzt('yiykzyk')">教学资源库</span>
@ -96,6 +97,8 @@
href = "/zy/dqkcJxzyk"; href = "/zy/dqkcJxzyk";
}else if(zytype=='tlq'){ }else if(zytype=='tlq'){
href = "/zy/dqkcTlq"; href = "/zy/dqkcTlq";
}else if(zytype=='zycd'){
href = "/zy/dqkcCdxx";
} }
router.push({path:href,query: {rwbh,xqxn,type}}); router.push({path:href,query: {rwbh,xqxn,type}});

View File

@ -44,8 +44,8 @@
content: '', content: '',
}); });
const { createMessage } = useMessage(); const { createMessage } = useMessage();
const labelCol = ref<any>({ xs: { span: 24 }, sm: { span: 5 } }); const labelCol = ref<any>({ xs: { span: 24 }, sm: { span: 2 } });
const wrapperCol = ref<any>({ xs: { span: 24 }, sm: { span: 16 } }); const wrapperCol = ref<any>({ xs: { span: 24 }, sm: { span: 21 } });
const confirmLoading = ref<boolean>(false); const confirmLoading = ref<boolean>(false);
// //
const validatorRules = { const validatorRules = {

View File

@ -1,5 +1,5 @@
<template> <template>
<a-modal :title="title" :width="width" :visible="visible" @ok="handleOk" :okButtonProps="{ class: { 'jee-hidden': disableSubmit } }" @cancel="handleCancel" cancelText="关闭"> <a-modal :title="title" :width="width" :visible="visible" @ok="handleOk" style="top: 20px" :okButtonProps="{ class: { 'jee-hidden': disableSubmit } }" @cancel="handleCancel" cancelText="关闭">
<ZyGonggaoForm ref="registerForm" @ok="submitCallback" :formDisabled="disableSubmit" :formBpm="false"></ZyGonggaoForm> <ZyGonggaoForm ref="registerForm" @ok="submitCallback" :formDisabled="disableSubmit" :formBpm="false"></ZyGonggaoForm>
</a-modal> </a-modal>
</template> </template>
@ -9,7 +9,7 @@
import ZyGonggaoForm from './ZyGonggaoForm.vue' import ZyGonggaoForm from './ZyGonggaoForm.vue'
const title = ref<string>(''); const title = ref<string>('');
const width = ref<number>(800); const width = ref<string>('95%');
const visible = ref<boolean>(false); const visible = ref<boolean>(false);
const disableSubmit = ref<boolean>(false); const disableSubmit = ref<boolean>(false);
const registerForm = ref(); const registerForm = ref();

View File

@ -129,11 +129,11 @@
} }
function callText(record){ function callText(record){
if(record.score){ if(record.score){
return "已评分"; return "已完成";
}else if(record.stuFilePath){ }else if(record.stuFilePath){
return "已提交"; return "待评分";
}else{ }else{
return "提交"; return "提交";
} }
} }
/** /**

View File

@ -5,9 +5,11 @@ const { createConfirm } = useMessage();
enum Api { enum Api {
list = '/zyInfoStudent/zyInfoStudent/list', list = '/zyInfoStudent/zyInfoStudent/list',
cdxxlist = '/zyInfoStudent/zyInfoStudent/cdxxlist',
save='/zyInfoStudent/zyInfoStudent/add', save='/zyInfoStudent/zyInfoStudent/add',
edit='/zyInfoStudent/zyInfoStudent/edit', edit='/zyInfoStudent/zyInfoStudent/edit',
zyscStu='/zyInfoStudent/zyInfoStudent/zyscStu', zyscStu='/zyInfoStudent/zyInfoStudent/zyscStu',
editCdlx='/zyInfoStudent/zyInfoStudent/editCdlx',
deleteOne = '/zyInfoStudent/zyInfoStudent/delete', deleteOne = '/zyInfoStudent/zyInfoStudent/delete',
deleteBatch = '/zyInfoStudent/zyInfoStudent/deleteBatch', deleteBatch = '/zyInfoStudent/zyInfoStudent/deleteBatch',
importExcel = '/zyInfoStudent/zyInfoStudent/importExcel', importExcel = '/zyInfoStudent/zyInfoStudent/importExcel',
@ -30,6 +32,7 @@ export const getImportUrl = Api.importExcel;
* @param params * @param params
*/ */
export const list = (params) => defHttp.get({ url: Api.list, params }); export const list = (params) => defHttp.get({ url: Api.list, params });
export const cdxxlist = (params) => defHttp.get({ url: Api.cdxxlist, params });
/** /**
* *
@ -78,3 +81,9 @@ export const zyscStu = (params, isUpdate) => {
} }
export const editCdlx = (params, isUpdate) => {
let url = Api.editCdlx;
return defHttp.post({ url: url, params }, { isTransformResponse: false });
}

View File

@ -12,12 +12,14 @@ export const columns: BasicColumn[] = [
{ {
title: '学生学号', title: '学生学号',
align: "center", align: "center",
dataIndex: 'createBy' dataIndex: 'createBy',
width: '100px'
}, },
{ {
title: '提交时间', title: '提交时间',
align: "center", align: "center",
dataIndex: 'createTime' dataIndex: 'createTime',
width: '100px'
}, },
{ {
title: '评分', title: '评分',
@ -47,6 +49,7 @@ export const columns: BasicColumn[] = [
align: "center", align: "center",
dataIndex: 'wwsftg', dataIndex: 'wwsftg',
slots: { customRender: 'wwsftgaction' }, slots: { customRender: 'wwsftgaction' },
width: '100px'
}, },
// { // {
// title: '内网相似率', // title: '内网相似率',
@ -58,6 +61,7 @@ export const columns: BasicColumn[] = [
align: "center", align: "center",
dataIndex: 'nwsftg', dataIndex: 'nwsftg',
slots: { customRender: 'nwsftgaction' }, slots: { customRender: 'nwsftgaction' },
width: '100px'
}, },
// { // {
// title: 'aigc相似率', // title: 'aigc相似率',
@ -69,9 +73,76 @@ export const columns: BasicColumn[] = [
align: "center", align: "center",
dataIndex: 'aigcsftg', dataIndex: 'aigcsftg',
slots: { customRender: 'aigcsftgaction' }, slots: { customRender: 'aigcsftgaction' },
width: '100px'
},
{
title: '存档类型',
align: "center",
dataIndex: 'cdlx_dictText',
width: '100px'
}, },
]; ];
//列表数据
export const cdxxcolumns: BasicColumn[] = [
{
title: '作业名称',
align: "center",
dataIndex: 'zyname'
},
{
title: '学生姓名',
align: "center",
dataIndex: 'studentName'
},
{
title: '学生学号',
align: "center",
dataIndex: 'createBy',
width: '100px'
},
{
title: '提交时间',
align: "center",
dataIndex: 'createTime',
width: '100px'
},
{
title: '评分',
align: "center",
dataIndex: 'score',
width: '80px'
},
{
title: '外网检测',
align: "center",
dataIndex: 'wwsftg',
slots: { customRender: 'wwsftgaction' },
width: '100px'
},
{
title: '内网检测',
align: "center",
dataIndex: 'nwsftg',
slots: { customRender: 'nwsftgaction' },
width: '100px'
},
{
title: 'aigc检测',
align: "center",
dataIndex: 'aigcsftg',
slots: { customRender: 'aigcsftgaction' },
width: '100px'
},
{
title: '存档类型',
align: "center",
dataIndex: 'cdlx_dictText',
width: '100px'
},
];
//查询数据 //查询数据
export const searchFormSchema: FormSchema[] = [ export const searchFormSchema: FormSchema[] = [
{ {

View File

@ -22,13 +22,6 @@
</div> --> </div> -->
<!--引用表格--> <!--引用表格-->
<BasicTable @register="registerTable" style="margin-top: 20px;"> <BasicTable @register="registerTable" style="margin-top: 20px;">
<!--插槽:table标题-->
<template #tableTitle>
<!-- <div style="padding: 10px;">
<span style="background: green;color:#fff;padding: 5px 15px;margin-left:20px;">通过</span>
<span style="background: red;color:#fff;padding: 5px 15px;margin-left:20px;">未通过</span>
</div> -->
</template>
<!--操作栏--> <!--操作栏-->
<template #action="{ record }"> <template #action="{ record }">
<TableAction :actions="getTableAction(record)" /> <TableAction :actions="getTableAction(record)" />
@ -87,7 +80,7 @@
<!-- 表单区域 --> <!-- 表单区域 -->
<ZyInfoStudentModal ref="registerModal" @success="handleSuccess"></ZyInfoStudentModal> <ZyInfoStudentModal ref="registerModal" @success="handleSuccess"></ZyInfoStudentModal>
<ZyInfoStudentScoreModal ref="registerScoreModal" @success="handleSuccess"></ZyInfoStudentScoreModal> <ZyInfoStudentScoreModal ref="registerScoreModal" @success="handleSuccess"></ZyInfoStudentScoreModal>
<SzybStudentModal ref="SzybStudentModalpage" @success="handleSuccess"></SzybStudentModal>
</div> </div>
</template> </template>
@ -100,6 +93,7 @@
import { downloadFile } from '/@/utils/common/renderUtils'; import { downloadFile } from '/@/utils/common/renderUtils';
import ZyInfoStudentModal from './components/ZyInfoStudentModal.vue' import ZyInfoStudentModal from './components/ZyInfoStudentModal.vue'
import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue'; import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue';
import SzybStudentModal from '/@/views/zy/zyInfoStudent/components/SzybStudentModal.vue';
import { getFileAccessHttpUrl } from '/@/utils/common/compUtils'; import { getFileAccessHttpUrl } from '/@/utils/common/compUtils';
import ZyInfoStudentScoreModal from '/@/views/zy/zyInfoStudent/components/ZyInfoStudentScoreModal.vue' import ZyInfoStudentScoreModal from '/@/views/zy/zyInfoStudent/components/ZyInfoStudentScoreModal.vue'
import { useGlobSetting } from '/@/hooks/setting'; import { useGlobSetting } from '/@/hooks/setting';
@ -117,16 +111,16 @@
const toggleSearchStatus = ref<boolean>(false); const toggleSearchStatus = ref<boolean>(false);
const registerModal = ref(); const registerModal = ref();
const registerScoreModal = ref(); const registerScoreModal = ref();
const SzybStudentModalpage = ref();
//table //table
const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({ const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({
tableProps: { tableProps: {
title: '学生提交作业',
api: list, api: list,
columns, columns,
canResize:false, canResize:false,
useSearchForm: false, useSearchForm: false,
actionColumn: { actionColumn: {
width: 320, width: '300px',
// fixed: 'right', // fixed: 'right',
}, },
beforeFetch: (params) => { beforeFetch: (params) => {
@ -208,6 +202,12 @@
registerModal.value.edit(record); registerModal.value.edit(record);
} }
//
function handleSzyb(record: Recordable){
SzybStudentModalpage.value.disabled = false;
SzybStudentModalpage.value.edit(record);
}
/** /**
* 删除事件 * 删除事件
*/ */
@ -244,6 +244,10 @@
label: '详情', label: '详情',
onClick: handleDetail.bind(null, record), onClick: handleDetail.bind(null, record),
}, },
{
label: '设置样本',
onClick: handleSzyb.bind(null, record),
},
{ {
label: '下载', label: '下载',
onClick: handleDown.bind(null, record), onClick: handleDown.bind(null, record),
@ -251,7 +255,8 @@
{ {
label: '预览', label: '预览',
onClick: yulanFile.bind(null, record), onClick: yulanFile.bind(null, record),
}]; }
];
return list; return list;
}else{ }else{
var list = [ var list = [