修改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: '讨论区',
},
},
],
};

View File

@ -111,6 +111,14 @@ const zuoye: AppRouteModule = {
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-select placeholder="请选择问卷状态" ref="select" v-model:value="queryParam.flag">
<a-select-option value="">全部</a-select-option>
<a-select-option value="-1">答卷</a-select-option>
<a-select-option value="0">批卷</a-select-option>
<a-select-option value="-1">提交</a-select-option>
<a-select-option value="0">评分</a-select-option>
<a-select-option value="1">已完成</a-select-option>
</a-select>
</a-form-item>
@ -192,9 +192,9 @@
function getStatus(flag){
if(flag == '-1'){
return "待答卷";
return "待提交";
}else if(flag == '0'){
return "待批卷";
return "待评分";
}else if(flag == '1'){
return "已完成";
}

View File

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

View File

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

View File

@ -13,10 +13,10 @@
<div>
<span style="float: left;line-height: 30px; font-size: 18px; font-weight: bold;">教学大纲</span>
<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 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>
</span>
</div>
@ -25,10 +25,10 @@
<div>
<span style="float: left;line-height: 30px; font-size: 18px; font-weight: bold;">教学日历</span>
<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 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>
</span>
</div>
@ -115,9 +115,28 @@ const baseApiUrl = globSetting.domainUrl;
id:'',
filePath: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(){
var record = {xqxn,rwbh}
@ -145,17 +164,23 @@ const baseApiUrl = globSetting.domainUrl;
}
function openPdf(record){
var url2 = getFileAccessHttpUrl(record.pdfPath)
// console.log(`🚀 ~ openPdf ~ url2:`, url2)
let url = baseApiUrl+"/generic/web/viewer.html?file="+encodeURIComponent(url2);
window.open(url,"_blank")
if(record.pdfPath){
var url2 = getFileAccessHttpUrl(record.pdfPath)
let url = baseApiUrl+"/generic/web/viewer.html?file="+encodeURIComponent(url2);
window.open(url,"_blank")
}else{
createMessage.warning("暂无文件或文件上传中")
}
}
function openJxrlPdf(record){
var url2 = getFileAccessHttpUrl(record.jxrlPdfPath)
// console.log(`🚀 ~ openPdf ~ url2:`, url2)
let url = baseApiUrl+"/generic/web/viewer.html?file="+encodeURIComponent(url2);
window.open(url,"_blank")
if(record.jxrlPdfPath){
var url2 = getFileAccessHttpUrl(record.jxrlPdfPath)
let url = baseApiUrl+"/generic/web/viewer.html?file="+encodeURIComponent(url2);
window.open(url,"_blank")
}else{
createMessage.warning("暂无文件或文件上传中")
}
}
//

View File

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

View File

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

View File

@ -1,5 +1,5 @@
<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>
</a-modal>
</template>
@ -9,7 +9,7 @@
import ZyGonggaoForm from './ZyGonggaoForm.vue'
const title = ref<string>('');
const width = ref<number>(800);
const width = ref<string>('95%');
const visible = ref<boolean>(false);
const disableSubmit = ref<boolean>(false);
const registerForm = ref();

View File

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

View File

@ -5,9 +5,11 @@ const { createConfirm } = useMessage();
enum Api {
list = '/zyInfoStudent/zyInfoStudent/list',
cdxxlist = '/zyInfoStudent/zyInfoStudent/cdxxlist',
save='/zyInfoStudent/zyInfoStudent/add',
edit='/zyInfoStudent/zyInfoStudent/edit',
zyscStu='/zyInfoStudent/zyInfoStudent/zyscStu',
editCdlx='/zyInfoStudent/zyInfoStudent/editCdlx',
deleteOne = '/zyInfoStudent/zyInfoStudent/delete',
deleteBatch = '/zyInfoStudent/zyInfoStudent/deleteBatch',
importExcel = '/zyInfoStudent/zyInfoStudent/importExcel',
@ -30,6 +32,7 @@ export const getImportUrl = Api.importExcel;
* @param 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: '学生学号',
align: "center",
dataIndex: 'createBy'
dataIndex: 'createBy',
width: '100px'
},
{
title: '提交时间',
align: "center",
dataIndex: 'createTime'
dataIndex: 'createTime',
width: '100px'
},
{
title: '评分',
@ -47,6 +49,7 @@ export const columns: BasicColumn[] = [
align: "center",
dataIndex: 'wwsftg',
slots: { customRender: 'wwsftgaction' },
width: '100px'
},
// {
// title: '内网相似率',
@ -58,6 +61,7 @@ export const columns: BasicColumn[] = [
align: "center",
dataIndex: 'nwsftg',
slots: { customRender: 'nwsftgaction' },
width: '100px'
},
// {
// title: 'aigc相似率',
@ -69,9 +73,76 @@ export const columns: BasicColumn[] = [
align: "center",
dataIndex: 'aigcsftg',
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[] = [
{

View File

@ -22,13 +22,6 @@
</div> -->
<!--引用表格-->
<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 }">
<TableAction :actions="getTableAction(record)" />
@ -87,7 +80,7 @@
<!-- 表单区域 -->
<ZyInfoStudentModal ref="registerModal" @success="handleSuccess"></ZyInfoStudentModal>
<ZyInfoStudentScoreModal ref="registerScoreModal" @success="handleSuccess"></ZyInfoStudentScoreModal>
<SzybStudentModal ref="SzybStudentModalpage" @success="handleSuccess"></SzybStudentModal>
</div>
</template>
@ -100,6 +93,7 @@
import { downloadFile } from '/@/utils/common/renderUtils';
import ZyInfoStudentModal from './components/ZyInfoStudentModal.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 ZyInfoStudentScoreModal from '/@/views/zy/zyInfoStudent/components/ZyInfoStudentScoreModal.vue'
import { useGlobSetting } from '/@/hooks/setting';
@ -117,16 +111,16 @@
const toggleSearchStatus = ref<boolean>(false);
const registerModal = ref();
const registerScoreModal = ref();
const SzybStudentModalpage = ref();
//table
const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({
tableProps: {
title: '学生提交作业',
api: list,
columns,
canResize:false,
useSearchForm: false,
actionColumn: {
width: 320,
width: '300px',
// fixed: 'right',
},
beforeFetch: (params) => {
@ -208,6 +202,12 @@
registerModal.value.edit(record);
}
//
function handleSzyb(record: Recordable){
SzybStudentModalpage.value.disabled = false;
SzybStudentModalpage.value.edit(record);
}
/**
* 删除事件
*/
@ -240,18 +240,23 @@
if(record.filePath){
if(record.scoreFabu=='1'){
var list = [
{
label: '详情',
onClick: handleDetail.bind(null, record),
},
{
label: '下载',
onClick: handleDown.bind(null, record),
{
label: '详情',
onClick: handleDetail.bind(null, record),
},
{
label: '预览',
onClick: yulanFile.bind(null, record),
}];
{
label: '设置样本',
onClick: handleSzyb.bind(null, record),
},
{
label: '下载',
onClick: handleDown.bind(null, record),
},
{
label: '预览',
onClick: yulanFile.bind(null, record),
}
];
return list;
}else{
var list = [