修改bug
This commit is contained in:
parent
b4a7b8f07e
commit
4bd1531ef5
File diff suppressed because it is too large
Load Diff
|
@ -6,7 +6,7 @@
|
||||||
<a-tabs v-model:activeKey="activeKey" style="padding: 10px">
|
<a-tabs v-model:activeKey="activeKey" style="padding: 10px">
|
||||||
<a-tab-pane key="1" tab="未读">
|
<a-tab-pane key="1" tab="未读">
|
||||||
<div style="width: 100%; text-align: right; ">
|
<div style="width: 100%; text-align: right; ">
|
||||||
<RouterLink target='_blank' to="/site/teacherYiyueMore">查看更多</RouterLink>
|
<RouterLink target='_blank' to="/site/teacherWeiduMore">查看更多</RouterLink>
|
||||||
</div>
|
</div>
|
||||||
<div style="min-height: 70px">
|
<div style="min-height: 70px">
|
||||||
<a-row>
|
<a-row>
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
<a-layout-content>
|
<a-layout-content>
|
||||||
<a-card class="rowGutter" id="jcgkkDom">
|
<a-card class="rowGutter" id="jcgkkDom">
|
||||||
<template #title>
|
<template #title>
|
||||||
<div style="font-size: 24px; font-weight: bold">已读信息</div>
|
<div style="font-size: 24px; font-weight: bold">未读信息</div>
|
||||||
</template>
|
</template>
|
||||||
<a-row :gutter="[16, 16]" style="margin-top: 20px">
|
<a-row :gutter="[16, 16]" style="margin-top: 20px">
|
||||||
<a-col v-for="(item, index) in listData" :key="index" :span="24">
|
<a-col v-for="(item, index) in listData" :key="index" :span="24">
|
||||||
|
@ -17,7 +17,7 @@
|
||||||
<div style="margin-top: 5px">{{ index + 1 }}、{{ item.content }}</div>
|
<div style="margin-top: 5px">{{ index + 1 }}、{{ item.content }}</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="2" style="text-align: right">
|
<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-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
|
|
@ -380,7 +380,7 @@ import { Input, Popover, Pagination, Empty, Affix as aAffix } from 'ant-design-v
|
||||||
import { defHttp } from '/@/utils/http/axios';
|
import { defHttp } from '/@/utils/http/axios';
|
||||||
import { useMessage } from '/@/hooks/web/useMessage';
|
import { useMessage } from '/@/hooks/web/useMessage';
|
||||||
import { useRouter } from 'vue-router';
|
import { useRouter } from 'vue-router';
|
||||||
import { randomString, simpleDebounce, getFileAccessHttpUrl } from '/@/utils/common/compUtils';
|
import { randomString, simpleDebounce, getFileAccessHttpUrl, baseApiUrl } from '/@/utils/common/compUtils';
|
||||||
import { useFileList } from '/@/components/jeecg/comment/useComment';
|
import { useFileList } from '/@/components/jeecg/comment/useComment';
|
||||||
|
|
||||||
import draggable from 'vuedraggable';
|
import draggable from 'vuedraggable';
|
||||||
|
@ -391,6 +391,11 @@ import stuIndex from './stuIndex.vue';
|
||||||
import { downloadFile as ajaxDownloadFileFn } from '/@/api/common/api';
|
import { downloadFile as ajaxDownloadFileFn } from '/@/api/common/api';
|
||||||
import zykYylistPage from '/@/views/zyk/ZykInfoYinyongModal.vue';
|
import zykYylistPage from '/@/views/zyk/ZykInfoYinyongModal.vue';
|
||||||
|
|
||||||
|
import Base64 from 'crypto-js/enc-base64';
|
||||||
|
import { dataURLtoBlob, urlToBase64 } from '/@/utils/file/base64Conver';
|
||||||
|
import UTF8 from 'crypto-js/enc-utf8';
|
||||||
|
import { encryptByBase64 } from '/@/utils/cipher';
|
||||||
|
|
||||||
const spinning = ref<boolean>(false);
|
const spinning = ref<boolean>(false);
|
||||||
//当前路由信息
|
//当前路由信息
|
||||||
const { currentRoute } = useRouter();
|
const { currentRoute } = useRouter();
|
||||||
|
@ -416,6 +421,8 @@ const videoOpen = ref<boolean>(false);
|
||||||
const controls = ref(true);
|
const controls = ref(true);
|
||||||
const autoplay = ref(false);
|
const autoplay = ref(false);
|
||||||
const loop = ref(false);
|
const loop = ref(false);
|
||||||
|
// 文件预览地址的domain 在后台配置的
|
||||||
|
let onlinePreviewDomain = '';
|
||||||
|
|
||||||
const playVideoInFullscreen = async () => {
|
const playVideoInFullscreen = async () => {
|
||||||
console.log('💋', videoPlayer);
|
console.log('💋', videoPlayer);
|
||||||
|
@ -472,7 +479,7 @@ enum Api {
|
||||||
delThree = '/teachingunitcontent/kcTeachingUnitContentThree/delete',
|
delThree = '/teachingunitcontent/kcTeachingUnitContentThree/delete',
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleView(urlPath){
|
function handleView(urlPath) {
|
||||||
// var url = 'http://127.0.0.1:8080/file/test.txt'; //要预览文件的访问地址
|
// var url = 'http://127.0.0.1:8080/file/test.txt'; //要预览文件的访问地址
|
||||||
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(base64Encode(url)));
|
// window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(base64Encode(url)));
|
||||||
}
|
}
|
||||||
|
@ -801,20 +808,47 @@ function editThreePage(two, three, threeIndex) {
|
||||||
threePageData.value = { two, three, threeIndex };
|
threePageData.value = { two, three, threeIndex };
|
||||||
}
|
}
|
||||||
|
|
||||||
function viewThreePage(three) {
|
async function viewThreePage(three) {
|
||||||
console.log('🙇♂️', three);
|
console.log('🙇♂️', three);
|
||||||
|
|
||||||
if (three.value.type == 'video') {
|
if (three.type == 'video') {
|
||||||
handleVideo(three);
|
handleVideo(three);
|
||||||
} else if (three.value.type == 'document') {
|
} else if (three.type == 'document') {
|
||||||
|
// var file = 'https://kczxcs.nenu.edu.cn/jeecg-boot/temp/0731课程作业问题汇总_1722673666833.docx';
|
||||||
|
// var file = baseApiUrl + "/"+three.filePath;
|
||||||
|
// console.log('🤬', file);
|
||||||
|
// let url = getFileAccessHttpUrl(encodeURIComponent(file));
|
||||||
|
// var t2 = encryptByBase64(url);
|
||||||
|
// window.open('https://fileview.jeecg.com/onlinePreview?url=' + encodeURIComponent(t2));
|
||||||
|
|
||||||
} else if (three.value.type == 'richText') {
|
// var file = 'https://kczxcs.nenu.edu.cn/jeecg-boot/temp/ylhpsf.pdf';
|
||||||
|
var file = baseApiUrl + "/"+three.filePath;
|
||||||
|
console.log('🤬', file);
|
||||||
|
// let url = getFileAccessHttpUrl(encodeURIComponent(file));
|
||||||
|
// var t2 = encryptByBase64(url);
|
||||||
|
window.open('https://fileview.jeecg.com/onlinePreview?url=' + encodeURIComponent(encryptByBase64(file)));
|
||||||
|
|
||||||
|
|
||||||
|
} else if (three.type == 'richText') {
|
||||||
threePageOpen.value = true;
|
threePageOpen.value = true;
|
||||||
threePageDisableSubmit.value = true;
|
threePageDisableSubmit.value = true;
|
||||||
threePageData.value = { three };
|
threePageData.value = { three };
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const getViewFileDomain = () => defHttp.get({ url: '/sys/comment/getFileViewDomain' });
|
||||||
|
/**
|
||||||
|
* 初始化domain
|
||||||
|
*/
|
||||||
|
async function initViewDomain() {
|
||||||
|
if (!onlinePreviewDomain) {
|
||||||
|
onlinePreviewDomain = await getViewFileDomain();
|
||||||
|
}
|
||||||
|
if (!onlinePreviewDomain.startsWith('http')) {
|
||||||
|
onlinePreviewDomain = 'http://' + onlinePreviewDomain;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function delThree(e, two, three) {
|
function delThree(e, two, three) {
|
||||||
stop(e);
|
stop(e);
|
||||||
delThreeFetch({ id: three.id }).then((res) => {
|
delThreeFetch({ id: three.id }).then((res) => {
|
||||||
|
|
|
@ -213,12 +213,13 @@
|
||||||
import { defHttp } from '/@/utils/http/axios';
|
import { defHttp } from '/@/utils/http/axios';
|
||||||
import { useMessage } from "/@/hooks/web/useMessage";
|
import { useMessage } from "/@/hooks/web/useMessage";
|
||||||
import { useRouter } from 'vue-router';
|
import { useRouter } from 'vue-router';
|
||||||
import { randomString, simpleDebounce, getFileAccessHttpUrl } from '/@/utils/common/compUtils'
|
import { randomString, simpleDebounce, getFileAccessHttpUrl, baseApiUrl } from '/@/utils/common/compUtils'
|
||||||
|
|
||||||
import draggable from 'vuedraggable';
|
import draggable from 'vuedraggable';
|
||||||
import JUpload from '/@/components/Form/src/jeecg/components/JUpload/JUpload.vue';
|
import JUpload from '/@/components/Form/src/jeecg/components/JUpload/JUpload.vue';
|
||||||
import JEditor from '/@/components/Form/src/jeecg/components/JEditor.vue';
|
import JEditor from '/@/components/Form/src/jeecg/components/JEditor.vue';
|
||||||
import downloadAssembly from '/@/views/zy/jiaoXueDanYuanNeiRong/downloadAssembly.vue';
|
import downloadAssembly from '/@/views/zy/jiaoXueDanYuanNeiRong/downloadAssembly.vue';
|
||||||
|
import { encryptByBase64 } from '/@/utils/cipher';
|
||||||
|
|
||||||
//当前路由信息
|
//当前路由信息
|
||||||
const { currentRoute } = useRouter();
|
const { currentRoute } = useRouter();
|
||||||
|
@ -550,9 +551,17 @@ function handleVideo(three){
|
||||||
}
|
}
|
||||||
|
|
||||||
function viewThreePage(three) {
|
function viewThreePage(three) {
|
||||||
threePageOpen.value = true;
|
if (three.type == 'video') {
|
||||||
threePageDisableSubmit.value = true;
|
handleVideo(three);
|
||||||
threePageData.value = { three };
|
} else if (three.type == 'document') {
|
||||||
|
var file = baseApiUrl + "/"+three.filePath;
|
||||||
|
window.open('https://fileview.jeecg.com/onlinePreview?url=' + encodeURIComponent(encryptByBase64(file)));
|
||||||
|
} else if (three.type == 'richText') {
|
||||||
|
threePageOpen.value = true;
|
||||||
|
threePageDisableSubmit.value = true;
|
||||||
|
threePageData.value = { three };
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function threePageHandleOk(){
|
function threePageHandleOk(){
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
<a-col :span="24" class="zyCon">
|
<a-col :span="24" class="zyCon">
|
||||||
<span style="text-align: left;width:50%;display: block;float:left;">作业得分:{{ item.stuscore ? item.stuscore : '未评' }}分</span>
|
<span style="text-align: left;width:50%;display: block;float:left;">作业得分:{{ item.stuscore ? item.stuscore : '未评' }}分</span>
|
||||||
<span style="text-align: right;width:50%;display: block;float:left;" class="wpopen" v-if="handleSfkshp(item)" @click="handleHpfs(item)">互评分数:{{ item.xshpfs ? item.xshpfs : '未评' }}分</span>
|
<span style="text-align: right;width:50%;display: block;float:left;" class="wpopen" v-if="handleSfkshp(item)" @click="handleHpfs(item)">互评分数:{{ item.xshpfs ? item.xshpfs : '未评' }}分</span>
|
||||||
<span style="text-align: left;width:50%;display: block;float:left;" v-if="handleSfkshp(item)">绩效分数:{{ item.jxfs ? item.jxfs : '未评' }}分</span>
|
<span style="text-align: left;width:50%;display: block;float:left;" v-if="handleSfkshp(item)">互评奖励:{{ item.jxfs ? item.jxfs : '未评' }}分</span>
|
||||||
<span style="text-align: right;width:50%;display: block;float:left;">总分:{{ item.zzdf ? item.zzdf : '未评' }}分</span>
|
<span style="text-align: right;width:50%;display: block;float:left;">总分:{{ item.zzdf ? item.zzdf : '未评' }}分</span>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="24" class="zyCon">
|
<a-col :span="24" class="zyCon">
|
||||||
|
|
|
@ -113,7 +113,8 @@ d<template>
|
||||||
<a-form-item label="作业要求" v-bind="validateInfos.content">
|
<a-form-item label="作业要求" v-bind="validateInfos.content">
|
||||||
<j-editor v-model:value="zyInfo.content" v-if="zyyqShow" @blur="handleZyyqShow(0)" />
|
<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 style="color: #777777" v-html="zyInfo.content" v-if="!zyyqShow"></div>
|
||||||
<div @click="handleZyyqShow(1)"><span style="cursor: pointer; color: #18a689">温馨提示:点击可编辑作业要求</span></div>
|
<div @click="handleZyyqShow(1)" class="tishi" v-if="zyInfo.xshpkg == '1'">温馨提示:点击可编辑作业要求</div>
|
||||||
|
<!-- <div @click="handleZyyqShow(1)"><span style="cursor: pointer; color: #18a689">温馨提示:点击可编辑作业要求</span></div> -->
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
|
@ -143,6 +144,7 @@ d<template>
|
||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<div class="region">
|
<div class="region">
|
||||||
<div class="region-title">学生互评</div>
|
<div class="region-title">学生互评</div>
|
||||||
|
<div style="float:right;margin-right:8px;" v-if="zyInfo.xshpkg == '1'"><span style="color:#18a689; cursor: pointer;" @click="handleHpsf">预览互评算法</span></div>
|
||||||
<a-form-item label="学生互评">
|
<a-form-item label="学生互评">
|
||||||
<div class="tishi" v-if="zyInfo.xshpkg == '1'">温馨提示:每份作业至少互评3次,每个学生互评5份作业</div>
|
<div class="tishi" v-if="zyInfo.xshpkg == '1'">温馨提示:每份作业至少互评3次,每个学生互评5份作业</div>
|
||||||
<j-dict-select-tag
|
<j-dict-select-tag
|
||||||
|
@ -183,7 +185,7 @@ d<template>
|
||||||
style="margin-top: 15px"
|
style="margin-top: 15px"
|
||||||
/> -->
|
/> -->
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item label="互评开始时间" :labelCol="labelCol3" :wrapperCol="wrapperCol3">
|
<a-form-item label="互评开始时间" :labelCol="labelCol2" :wrapperCol="wrapperCol2">
|
||||||
<a-date-picker
|
<a-date-picker
|
||||||
placeholder="请选择互评开始时间"
|
placeholder="请选择互评开始时间"
|
||||||
v-model:value="zyInfo.xshpkssj"
|
v-model:value="zyInfo.xshpkssj"
|
||||||
|
@ -194,7 +196,7 @@ d<template>
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
/>
|
/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item label="互评结束时间" :labelCol="labelCol3" :wrapperCol="wrapperCol3">
|
<a-form-item label="互评结束时间" :labelCol="labelCol2" :wrapperCol="wrapperCol2">
|
||||||
<a-date-picker
|
<a-date-picker
|
||||||
placeholder="请选择互评结束时间"
|
placeholder="请选择互评结束时间"
|
||||||
v-model:value="zyInfo.xshpjssj"
|
v-model:value="zyInfo.xshpjssj"
|
||||||
|
@ -249,7 +251,7 @@ d<template>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="24" style="text-align: left; margin-top: 10px; margin-bottom: 40px; margin-left: 140px">
|
<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">保存</a-button>
|
||||||
<a-button type="primary" @click="reloadZy" style="margin-left: 15px">返回</a-button>
|
<a-button type="primary" @click="reloadZy" style="margin-left: 15px">返回</a-button>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
@ -1154,7 +1156,7 @@ const columnsCcjg = [
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '查重率',
|
title: '查重率(%)',
|
||||||
dataIndex: 'percentage',
|
dataIndex: 'percentage',
|
||||||
key: 'percentage',
|
key: 'percentage',
|
||||||
},
|
},
|
||||||
|
|
|
@ -94,7 +94,7 @@ export const newcolumns: BasicColumn[] = [
|
||||||
slots: { customRender: 'xshpfsaction' },
|
slots: { customRender: 'xshpfsaction' },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '绩效分',
|
title: '互评奖励',
|
||||||
align: "center",
|
align: "center",
|
||||||
dataIndex: 'jxzf',
|
dataIndex: 'jxzf',
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,6 +1,11 @@
|
||||||
<template>
|
<template>
|
||||||
<div style="background: #fff; margin: 10px 0;padding:10px;">
|
<div style="background: #fff; margin: 10px 0;padding:10px;">
|
||||||
<div style="text-align: right;width:100%;"><a-button type="primary" @click="handleback">返回</a-button></div>
|
<div style="width:100%;">
|
||||||
|
<a-row>
|
||||||
|
<a-col :span="12" style="text-align: left;"><span style="color:#18a689; cursor: pointer;" @click="handleHpsf">预览互评算法</span></a-col>
|
||||||
|
<a-col :span="12" style="text-align: right;"><a-button type="primary" @click="handleback">返回</a-button></a-col>
|
||||||
|
</a-row>
|
||||||
|
</div>
|
||||||
<a-tabs v-model:activeKey="activeKey" @change="handleChange">
|
<a-tabs v-model:activeKey="activeKey" @change="handleChange">
|
||||||
<a-tab-pane key="1" tab="待互评">
|
<a-tab-pane key="1" tab="待互评">
|
||||||
<ZyInfoStudentHpList ref="dhpPage"/>
|
<ZyInfoStudentHpList ref="dhpPage"/>
|
||||||
|
@ -20,9 +25,12 @@ import { ref, reactive, onMounted, unref } from 'vue';
|
||||||
import ZyInfoStudentHpList from '/@/views/zy/zyInfoStudentHp/ZyInfoStudentHpList.vue'
|
import ZyInfoStudentHpList from '/@/views/zy/zyInfoStudentHp/ZyInfoStudentHpList.vue'
|
||||||
import ZyInfoStudentHpYpyList from '/@/views/zy/zyInfoStudentHp/ZyInfoStudentHpYpyList.vue'
|
import ZyInfoStudentHpYpyList from '/@/views/zy/zyInfoStudentHp/ZyInfoStudentHpYpyList.vue'
|
||||||
import ZyInfoStudentHpMyhpfsList from '/@/views/zy/zyInfoStudentHp/ZyInfoStudentHpMyhpfsList.vue'
|
import ZyInfoStudentHpMyhpfsList from '/@/views/zy/zyInfoStudentHp/ZyInfoStudentHpMyhpfsList.vue'
|
||||||
|
import { useGlobSetting } from '/@/hooks/setting';
|
||||||
|
|
||||||
import { useRouter } from 'vue-router';
|
import { useRouter } from 'vue-router';
|
||||||
import { defHttp } from '/@/utils/http/axios';
|
import { defHttp } from '/@/utils/http/axios';
|
||||||
|
const globSetting = useGlobSetting();
|
||||||
|
const baseApiUrl = globSetting.domainUrl;
|
||||||
var activeKey = ref('1');
|
var activeKey = ref('1');
|
||||||
const dhpPage = ref();
|
const dhpPage = ref();
|
||||||
const yhpPage = ref();
|
const yhpPage = ref();
|
||||||
|
@ -42,6 +50,14 @@ function handleChange(record) {
|
||||||
wdhpPage.value.reload();
|
wdhpPage.value.reload();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//预览互评算法
|
||||||
|
function handleHpsf(){
|
||||||
|
// openByUrl({url:'/downPath/ylhpsf.pdf',target: '_blank',fileName:'算法说明.pdf'})
|
||||||
|
// window.open(pdfUrl.value, '_blank');
|
||||||
|
// window.open(require('../../../downPath/ylhpsf.pdf'), '_blank');
|
||||||
|
window.open(baseApiUrl+'/temp/ylhpsf.pdf');
|
||||||
|
}
|
||||||
function handleback(){
|
function handleback(){
|
||||||
var href = "/stuzy/studentDqzy";
|
var href = "/stuzy/studentDqzy";
|
||||||
router.push({path:href,query: {rwbh,xqxn,type,teano}});
|
router.push({path:href,query: {rwbh,xqxn,type,teano}});
|
||||||
|
|
Loading…
Reference in New Issue