修改功能
This commit is contained in:
parent
a7aa31a923
commit
fa77f0c470
|
@ -160,7 +160,21 @@ import {ref, reactive, defineExpose, nextTick, defineProps, computed, onMounted,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
model.public = "0"
|
model.public = "0";
|
||||||
|
|
||||||
|
|
||||||
|
var endTime = model.endTime;
|
||||||
|
var startTime = model.startTime;
|
||||||
|
if (endTime && startTime) {
|
||||||
|
var endTimestamp = Date.parse(endTime);
|
||||||
|
var startTimestamp = Date.parse(startTime);
|
||||||
|
if (endTimestamp < startTimestamp) {
|
||||||
|
createMessage.warning('开始时间不能小于结束时间!');
|
||||||
|
confirmLoading.value = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
await saveOrUpdate(model, isUpdate.value)
|
await saveOrUpdate(model, isUpdate.value)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
"
|
"
|
||||||
class="addBtn"
|
class="addBtn"
|
||||||
title="预览"
|
title="预览"
|
||||||
><Icon icon="ant-design:fund-view-outlined" />预览</a-button
|
><Icon icon="ant-design:menu-unfold-outlined" />预览</a-button
|
||||||
>
|
>
|
||||||
<!-- <a-button @click="reload"><Icon icon="ant-design:reload-outlined"/>刷新</a-button> -->
|
<!-- <a-button @click="reload"><Icon icon="ant-design:reload-outlined"/>刷新</a-button> -->
|
||||||
</a-space>
|
</a-space>
|
||||||
|
@ -229,7 +229,7 @@
|
||||||
class="addBtn"
|
class="addBtn"
|
||||||
><Icon icon="ant-design:video-camera-add-outlined"
|
><Icon icon="ant-design:video-camera-add-outlined"
|
||||||
/></a-button>
|
/></a-button>
|
||||||
<a-button
|
<!-- <a-button
|
||||||
type="primary"
|
type="primary"
|
||||||
size="small"
|
size="small"
|
||||||
title="查看"
|
title="查看"
|
||||||
|
@ -237,7 +237,7 @@
|
||||||
@click="viewImage(three.filePath)"
|
@click="viewImage(three.filePath)"
|
||||||
class="addBtn"
|
class="addBtn"
|
||||||
><Icon icon="ant-design:file-pdf-outlined"
|
><Icon icon="ant-design:file-pdf-outlined"
|
||||||
/></a-button>
|
/></a-button> -->
|
||||||
<a-button
|
<a-button
|
||||||
type="primary"
|
type="primary"
|
||||||
size="small"
|
size="small"
|
||||||
|
@ -278,32 +278,6 @@
|
||||||
<!-- <a-button @click="sureChange" type="primary" style="margin-top: 100px">确定</a-button> -->
|
<!-- <a-button @click="sureChange" type="primary" style="margin-top: 100px">确定</a-button> -->
|
||||||
<!-- </template> -->
|
<!-- </template> -->
|
||||||
</draggable>
|
</draggable>
|
||||||
<a-modal
|
|
||||||
title="视频播放"
|
|
||||||
:width="800"
|
|
||||||
:visible="videoOpen"
|
|
||||||
:maskClosable="false"
|
|
||||||
:okButtonProps="{ class: { 'jee-hidden': true } }"
|
|
||||||
@cancel="videoHandleCancel"
|
|
||||||
cancelText="关闭"
|
|
||||||
>
|
|
||||||
<div style="text-align: center;width:100%;">
|
|
||||||
<video
|
|
||||||
style="text-align: center;"
|
|
||||||
ref="videoPlayer"
|
|
||||||
:controls="controls"
|
|
||||||
:autoplay="autoplay"
|
|
||||||
:loop="loop"
|
|
||||||
@loadedmetadata="playVideoInFullscreen"
|
|
||||||
>
|
|
||||||
<source :src="videoUrl" type="video/mp4" />
|
|
||||||
Your browser does not support the video tag.
|
|
||||||
</video>
|
|
||||||
|
|
||||||
<!-- <button @click="playVideo">开始播放</button>
|
|
||||||
<button @click="pauseVideo">停止播放</button> -->
|
|
||||||
</div>
|
|
||||||
</a-modal>
|
|
||||||
<a-modal
|
<a-modal
|
||||||
:title="threePageTitle"
|
:title="threePageTitle"
|
||||||
:width="800"
|
:width="800"
|
||||||
|
@ -326,7 +300,13 @@
|
||||||
style="border: 1px solid #dbdbdb; width: 80%"
|
style="border: 1px solid #dbdbdb; width: 80%"
|
||||||
/>
|
/>
|
||||||
<div v-else>{{ threePageData.three.title }}</div>
|
<div v-else>{{ threePageData.three.title }}</div>
|
||||||
<a-button v-if="!threePageDisableSubmit && (threePageData.three.type == 'video' || threePageData.three.type == 'document')" type="primary" @click="handleYinyong" style="float: right">引用</a-button>
|
<a-button
|
||||||
|
v-if="!threePageDisableSubmit && (threePageData.three.type == 'video' || threePageData.three.type == 'document')"
|
||||||
|
type="primary"
|
||||||
|
@click="handleYinyong"
|
||||||
|
style="float: right"
|
||||||
|
>引用</a-button
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
<div style="margin-top: 10px">
|
<div style="margin-top: 10px">
|
||||||
<template v-if="threePageData.three.type == 'video'">
|
<template v-if="threePageData.three.type == 'video'">
|
||||||
|
@ -361,20 +341,47 @@
|
||||||
</a-modal>
|
</a-modal>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<zykYylistPage ref="zykYylistPageRef" @success="handleYyOk"/>
|
<a-modal
|
||||||
|
title="视频播放"
|
||||||
|
:width="800"
|
||||||
|
:visible="videoOpen"
|
||||||
|
:maskClosable="false"
|
||||||
|
:okButtonProps="{ class: { 'jee-hidden': true } }"
|
||||||
|
@cancel="videoHandleCancel"
|
||||||
|
cancelText="关闭"
|
||||||
|
>
|
||||||
|
<div style="text-align: center; width: 100%">
|
||||||
|
<video
|
||||||
|
style="text-align: center"
|
||||||
|
ref="videoPlayer"
|
||||||
|
:controls="controls"
|
||||||
|
:autoplay="autoplay"
|
||||||
|
:loop="loop"
|
||||||
|
@loadedmetadata="playVideoInFullscreen"
|
||||||
|
:src="videoUrl"
|
||||||
|
>
|
||||||
|
<!-- <source :src="videoUrl" type="video/mp4" />
|
||||||
|
Your browser does not support the video tag. -->
|
||||||
|
</video>
|
||||||
|
|
||||||
|
<!-- <button @click="playVideo">开始播放</button>
|
||||||
|
<button @click="pauseVideo">停止播放</button> -->
|
||||||
|
</div>
|
||||||
|
</a-modal>
|
||||||
|
<zykYylistPage ref="zykYylistPageRef" @success="handleYyOk" />
|
||||||
<div class="example">
|
<div class="example">
|
||||||
<a-spin :spinning="spinning" size="large" tip="下载中..." />
|
<a-spin :spinning="spinning" size="large" tip="下载中..." />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" name="jiaoXueDanYuanNeiRongIndex" setup>
|
<script lang="ts" name="jiaoXueDanYuanNeiRongIndex" setup>
|
||||||
import { ref, reactive, onMounted,onUnmounted, unref, nextTick } from 'vue';
|
import { ref, reactive, onMounted, onUnmounted, unref, nextTick } from 'vue';
|
||||||
import { Input, Popover, Pagination, Empty, Affix as aAffix } from 'ant-design-vue';
|
import { Input, Popover, Pagination, Empty, Affix as aAffix } from 'ant-design-vue';
|
||||||
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 } 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';
|
||||||
import JUpload from '/@/components/Form/src/jeecg/components/JUpload/JUpload.vue';
|
import JUpload from '/@/components/Form/src/jeecg/components/JUpload/JUpload.vue';
|
||||||
|
@ -406,11 +413,13 @@ const threePageDisableSubmit = ref<boolean>(false);
|
||||||
const threePageData = ref<Object>(null);
|
const threePageData = ref<Object>(null);
|
||||||
const videoPlayer = ref(null);
|
const videoPlayer = ref(null);
|
||||||
const videoOpen = ref<boolean>(false);
|
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);
|
||||||
|
|
||||||
const playVideoInFullscreen = async () => {
|
const playVideoInFullscreen = async () => {
|
||||||
|
console.log('💋', videoPlayer);
|
||||||
|
console.log('🧵', videoPlayer.value);
|
||||||
if (videoPlayer.value) {
|
if (videoPlayer.value) {
|
||||||
try {
|
try {
|
||||||
// 使用原生DOM方法请求全屏
|
// 使用原生DOM方法请求全屏
|
||||||
|
@ -421,7 +430,6 @@ const videoOpen = ref<boolean>(false);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
const stuIndexRef = ref<any>();
|
const stuIndexRef = ref<any>();
|
||||||
const zykYylistPageRef = ref();
|
const zykYylistPageRef = ref();
|
||||||
|
|
||||||
|
@ -489,17 +497,17 @@ function handleYinyong() {
|
||||||
zykYylistPageRef.value.open();
|
zykYylistPageRef.value.open();
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleYyOk(record){
|
function handleYyOk(record) {
|
||||||
console.log(`🚀 ~ handleYyOk ~ record:`, record)
|
console.log(`🚀 ~ handleYyOk ~ record:`, record);
|
||||||
console.log(`🚀 ~ handleYyOk ~ threePageData:`, threePageData)
|
console.log(`🚀 ~ handleYyOk ~ threePageData:`, threePageData);
|
||||||
var fileName = record.substring(record.lastIndexOf('.')+1,record.length);
|
var fileName = record.substring(record.lastIndexOf('.') + 1, record.length);
|
||||||
if(threePageData.value.three.type == 'video' ){
|
if (threePageData.value.three.type == 'video') {
|
||||||
if(fileName == 'mp4' || fileName == 'webm' || fileName == 'ogv' ){
|
if (fileName == 'mp4' || fileName == 'webm' || fileName == 'ogv') {
|
||||||
threePageData.value.three.filePath = record;
|
threePageData.value.three.filePath = record;
|
||||||
}else{
|
} else {
|
||||||
createMessage.error('请引用视频文件,格式为:.mp4,.webm,.ogv');
|
createMessage.error('请引用视频文件,格式为:.mp4,.webm,.ogv');
|
||||||
}
|
}
|
||||||
}else if(threePageData.value.three.type == 'document' ){
|
} else if (threePageData.value.three.type == 'document') {
|
||||||
threePageData.value.three.filePath = record;
|
threePageData.value.three.filePath = record;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -512,7 +520,7 @@ function reloadStn() {
|
||||||
stuIndexRef.value.reload();
|
stuIndexRef.value.reload();
|
||||||
}
|
}
|
||||||
|
|
||||||
function videoHandleCancel(){
|
function videoHandleCancel() {
|
||||||
pauseVideo();
|
pauseVideo();
|
||||||
videoOpen.value = false;
|
videoOpen.value = false;
|
||||||
}
|
}
|
||||||
|
@ -537,27 +545,25 @@ const handleFullScreenChange = () => {
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
document.addEventListener('fullscreenchange', handleFullScreenChange);
|
document.addEventListener('fullscreenchange', handleFullScreenChange);
|
||||||
});
|
});
|
||||||
|
|
||||||
onUnmounted(() => {
|
onUnmounted(() => {
|
||||||
document.removeEventListener('fullscreenchange', handleFullScreenChange);
|
document.removeEventListener('fullscreenchange', handleFullScreenChange);
|
||||||
});
|
});
|
||||||
|
|
||||||
//视频预览
|
//视频预览
|
||||||
function handleVideo(three){
|
function handleVideo(three) {
|
||||||
let url = getFileAccessHttpUrl(three.filePath);
|
let url = getFileAccessHttpUrl(three.filePath);
|
||||||
console.log('视频预览-----》',url);
|
console.log('视频预览-----》', url);
|
||||||
videoOpen.value = true;
|
videoOpen.value = true;
|
||||||
videoUrl.value = url;
|
videoUrl.value = url;
|
||||||
playVideoInFullscreen();
|
playVideoInFullscreen();
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
playVideo();
|
playVideo();
|
||||||
}, 1000);
|
}, 1000);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// --------------------------视频------------------------------
|
// --------------------------视频------------------------------
|
||||||
|
|
||||||
|
|
||||||
async function loadData() {
|
async function loadData() {
|
||||||
dataSource.value = [];
|
dataSource.value = [];
|
||||||
let params = {
|
let params = {
|
||||||
|
@ -660,7 +666,7 @@ function changeInput(e, pdata, key) {
|
||||||
function addOne() {
|
function addOne() {
|
||||||
//调用后台保存(创建个新的)
|
//调用后台保存(创建个新的)
|
||||||
let nowData = createNoneData();
|
let nowData = createNoneData();
|
||||||
nowData.fabu=0;
|
nowData.fabu = 0;
|
||||||
dataSource.value.push(nowData);
|
dataSource.value.push(nowData);
|
||||||
refreshDataSort();
|
refreshDataSort();
|
||||||
addOneFetch(nowData).then((res) => {
|
addOneFetch(nowData).then((res) => {
|
||||||
|
@ -818,8 +824,6 @@ function downloadFile(three) {
|
||||||
openWindowWithLoading(url);
|
openWindowWithLoading(url);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function openWindowWithLoading(url) {
|
function openWindowWithLoading(url) {
|
||||||
spinning.value = true;
|
spinning.value = true;
|
||||||
let fileName = url.substring(url.lastIndexOf('/') + 1);
|
let fileName = url.substring(url.lastIndexOf('/') + 1);
|
||||||
|
@ -1080,7 +1084,7 @@ loadData();
|
||||||
align-items: center;
|
align-items: center;
|
||||||
height: 100vh; /* Full height of the viewport */
|
height: 100vh; /* Full height of the viewport */
|
||||||
}
|
}
|
||||||
|
|
||||||
video {
|
video {
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
height: auto;
|
height: auto;
|
||||||
|
|
|
@ -75,6 +75,17 @@
|
||||||
<a-space>
|
<a-space>
|
||||||
<a-button type="primary" size="small" title="下载" v-if="three.type == 'video' || three.type == 'document'" @click="downloadFile(three)" class="addBtn"><Icon icon="ant-design:vertical-align-bottom-outlined"/></a-button>
|
<a-button type="primary" size="small" title="下载" v-if="three.type == 'video' || three.type == 'document'" @click="downloadFile(three)" class="addBtn"><Icon icon="ant-design:vertical-align-bottom-outlined"/></a-button>
|
||||||
<a-button type="primary" size="small" title="查看" v-if="three.type == 'richText'" @click="viewThreePage(three)" class="addBtn"><Icon icon="ant-design:fund-view-outlined"/></a-button>
|
<a-button type="primary" size="small" title="查看" v-if="three.type == 'richText'" @click="viewThreePage(three)" class="addBtn"><Icon icon="ant-design:fund-view-outlined"/></a-button>
|
||||||
|
|
||||||
|
|
||||||
|
<a-button
|
||||||
|
type="primary"
|
||||||
|
size="small"
|
||||||
|
title="查看"
|
||||||
|
v-if="three.type == 'video'"
|
||||||
|
@click="handleVideo(three)"
|
||||||
|
class="addBtn"
|
||||||
|
><Icon icon="ant-design:video-camera-add-outlined"
|
||||||
|
/></a-button>
|
||||||
</a-space>
|
</a-space>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
|
@ -163,6 +174,33 @@
|
||||||
</a-card>
|
</a-card>
|
||||||
</a-modal>
|
</a-modal>
|
||||||
|
|
||||||
|
<a-modal
|
||||||
|
title="视频播放"
|
||||||
|
:width="800"
|
||||||
|
:visible="videoOpen"
|
||||||
|
:maskClosable="false"
|
||||||
|
:okButtonProps="{ class: { 'jee-hidden': true } }"
|
||||||
|
@cancel="videoHandleCancel"
|
||||||
|
cancelText="关闭"
|
||||||
|
>
|
||||||
|
<div style="text-align: center;width:100%;">
|
||||||
|
<video
|
||||||
|
style="text-align: center;"
|
||||||
|
ref="videoPlayer"
|
||||||
|
:controls="controls"
|
||||||
|
:autoplay="autoplay"
|
||||||
|
:loop="loop"
|
||||||
|
:src="videoUrl"
|
||||||
|
@loadedmetadata="playVideoInFullscreen"
|
||||||
|
>
|
||||||
|
<!-- <source type="video/mp4" /> -->
|
||||||
|
<!-- Your browser does not support the video tag. -->
|
||||||
|
</video>
|
||||||
|
|
||||||
|
<!-- <button @click="playVideo">开始播放</button>
|
||||||
|
<button @click="pauseVideo">停止播放</button> -->
|
||||||
|
</div>
|
||||||
|
</a-modal>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -170,7 +208,7 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" name="jiaoXueDanYuanNeiRongIndex" setup>
|
<script lang="ts" name="jiaoXueDanYuanNeiRongIndex" setup>
|
||||||
import { ref, reactive, onMounted, unref, nextTick, watch } from 'vue';
|
import { ref, reactive, onMounted,onUnmounted, unref, nextTick, watch } from 'vue';
|
||||||
import { Input, Popover, Pagination, Empty, Affix as aAffix } from 'ant-design-vue';
|
import { Input, Popover, Pagination, Empty, Affix as aAffix } from 'ant-design-vue';
|
||||||
import { defHttp } from '/@/utils/http/axios';
|
import { defHttp } from '/@/utils/http/axios';
|
||||||
import { useMessage } from "/@/hooks/web/useMessage";
|
import { useMessage } from "/@/hooks/web/useMessage";
|
||||||
|
@ -199,6 +237,27 @@
|
||||||
// });
|
// });
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const stuIndexRef = ref<any>();
|
||||||
|
const videoPlayer = ref(null);
|
||||||
|
const videoOpen = ref<boolean>(false);
|
||||||
|
const controls = ref(true);
|
||||||
|
const autoplay = ref(false)
|
||||||
|
const loop = ref(false);
|
||||||
|
const videoUrl = ref<String>('');
|
||||||
|
|
||||||
|
|
||||||
|
const playVideoInFullscreen = async () => {
|
||||||
|
if (videoPlayer.value) {
|
||||||
|
try {
|
||||||
|
// 使用原生DOM方法请求全屏
|
||||||
|
await videoPlayer.value.requestFullscreen();
|
||||||
|
} catch (err) {
|
||||||
|
console.error(err);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
const { createConfirm, createMessage } = useMessage();
|
const { createConfirm, createMessage } = useMessage();
|
||||||
const queryParam = ref<any>({});
|
const queryParam = ref<any>({});
|
||||||
|
@ -251,6 +310,58 @@
|
||||||
loadData();
|
loadData();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function reloadStn() {
|
||||||
|
stuIndexRef.value.reload();
|
||||||
|
}
|
||||||
|
|
||||||
|
function videoHandleCancel(){
|
||||||
|
pauseVideo();
|
||||||
|
videoOpen.value = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// --------------------------视频------------------------------
|
||||||
|
const playVideo = () => {
|
||||||
|
videoPlayer.value.play();
|
||||||
|
};
|
||||||
|
|
||||||
|
const pauseVideo = () => {
|
||||||
|
videoPlayer.value.pause();
|
||||||
|
};
|
||||||
|
const handleFullScreenChange = () => {
|
||||||
|
if (!document.fullscreenElement) {
|
||||||
|
console.log('Video exited fullscreen');
|
||||||
|
// 这里可以执行取消全屏后的逻辑
|
||||||
|
videoOpen.value = false;
|
||||||
|
videoPlayer.value.pause();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
document.addEventListener('fullscreenchange', handleFullScreenChange);
|
||||||
|
});
|
||||||
|
|
||||||
|
onUnmounted(() => {
|
||||||
|
document.removeEventListener('fullscreenchange', handleFullScreenChange);
|
||||||
|
});
|
||||||
|
|
||||||
|
//视频预览
|
||||||
|
function handleVideo(three){
|
||||||
|
let url = getFileAccessHttpUrl(three.filePath);
|
||||||
|
console.log('视频预览-----》',url);
|
||||||
|
videoOpen.value = true;
|
||||||
|
videoUrl.value = url;
|
||||||
|
playVideoInFullscreen();
|
||||||
|
setTimeout(() => {
|
||||||
|
playVideo();
|
||||||
|
}, 1000);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// --------------------------视频------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
async function loadData() {
|
async function loadData() {
|
||||||
dataSource.value = [];
|
dataSource.value = [];
|
||||||
let params = {
|
let params = {
|
||||||
|
|
|
@ -62,14 +62,14 @@
|
||||||
<span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
|
<span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
|
||||||
<span v-else >
|
<span v-else >
|
||||||
<a-button :ghost="true" type="primary" preIcon="ant-design:download-outlined" size="small" @click="downloadFile(text)">下载</a-button>
|
<a-button :ghost="true" type="primary" preIcon="ant-design:download-outlined" size="small" @click="downloadFile(text)">下载</a-button>
|
||||||
<a-button :ghost="true" type="primary" preIcon="ant-design:copy-outlined" size="small" @click="openPdf(record.pdfPath)" style="margin-left:5px;">预览</a-button>
|
<a-button :ghost="true" type="primary" preIcon="ant-design:menu-unfold-outlined" size="small" @click="openPdf(record.pdfPath)" style="margin-left:5px;">预览</a-button>
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
<template #fileSlot2="{text,record}">
|
<template #fileSlot2="{text,record}">
|
||||||
<span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
|
<span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
|
||||||
<span v-else >
|
<span v-else >
|
||||||
<a-button :ghost="true" type="primary" preIcon="ant-design:download-outlined" size="small" @click="downloadFile(text)">下载</a-button>
|
<a-button :ghost="true" type="primary" preIcon="ant-design:download-outlined" size="small" @click="downloadFile(text)">下载</a-button>
|
||||||
<a-button :ghost="true" type="primary" preIcon="ant-design:copy-outlined" size="small" @click="openPdf(record.jxrlPdfPath)" style="margin-left:5px;">预览</a-button>
|
<a-button :ghost="true" type="primary" preIcon="ant-design:menu-unfold-outlined" size="small" @click="openPdf(record.jxrlPdfPath)" style="margin-left:5px;">预览</a-button>
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</BasicTable>
|
</BasicTable>
|
||||||
|
|
|
@ -62,14 +62,14 @@
|
||||||
<span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
|
<span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
|
||||||
<span v-else >
|
<span v-else >
|
||||||
<a-button :ghost="true" type="primary" preIcon="ant-design:download-outlined" size="small" @click="downloadFile(text)">下载</a-button>
|
<a-button :ghost="true" type="primary" preIcon="ant-design:download-outlined" size="small" @click="downloadFile(text)">下载</a-button>
|
||||||
<a-button :ghost="true" type="primary" preIcon="ant-design:copy-outlined" size="small" @click="openPdf(record.pdfPath)" style="margin-left:5px;">预览</a-button>
|
<a-button :ghost="true" type="primary" preIcon="ant-design:menu-unfold-outlined" size="small" @click="openPdf(record.pdfPath)" style="margin-left:5px;">预览</a-button>
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
<template #fileSlot2="{text,record}">
|
<template #fileSlot2="{text,record}">
|
||||||
<span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
|
<span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
|
||||||
<span v-else >
|
<span v-else >
|
||||||
<a-button :ghost="true" type="primary" preIcon="ant-design:download-outlined" size="small" @click="downloadFile(text)">下载</a-button>
|
<a-button :ghost="true" type="primary" preIcon="ant-design:download-outlined" size="small" @click="downloadFile(text)">下载</a-button>
|
||||||
<a-button :ghost="true" type="primary" preIcon="ant-design:copy-outlined" size="small" @click="openPdf(record.jxrlPdfPath)" style="margin-left:5px;">预览</a-button>
|
<a-button :ghost="true" type="primary" preIcon="ant-design:menu-unfold-outlined" size="small" @click="openPdf(record.jxrlPdfPath)" style="margin-left:5px;">预览</a-button>
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</BasicTable>
|
</BasicTable>
|
||||||
|
|
|
@ -62,14 +62,14 @@
|
||||||
<span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
|
<span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
|
||||||
<span v-else >
|
<span v-else >
|
||||||
<a-button :ghost="true" type="primary" preIcon="ant-design:download-outlined" size="small" @click="downloadFile(text)">下载</a-button>
|
<a-button :ghost="true" type="primary" preIcon="ant-design:download-outlined" size="small" @click="downloadFile(text)">下载</a-button>
|
||||||
<a-button :ghost="true" type="primary" preIcon="ant-design:copy-outlined" size="small" @click="openPdf(record.pdfPath)" style="margin-left:5px;">预览</a-button>
|
<a-button :ghost="true" type="primary" preIcon="ant-design:menu-unfold-outlined" size="small" @click="openPdf(record.pdfPath)" style="margin-left:5px;">预览</a-button>
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
<template #fileSlot2="{text,record}">
|
<template #fileSlot2="{text,record}">
|
||||||
<span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
|
<span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
|
||||||
<span v-else >
|
<span v-else >
|
||||||
<a-button :ghost="true" type="primary" preIcon="ant-design:download-outlined" size="small" @click="downloadFile(text)">下载</a-button>
|
<a-button :ghost="true" type="primary" preIcon="ant-design:download-outlined" size="small" @click="downloadFile(text)">下载</a-button>
|
||||||
<a-button :ghost="true" type="primary" preIcon="ant-design:copy-outlined" size="small" @click="openPdf(record.jxrlPdfPath)" style="margin-left:5px;">预览</a-button>
|
<a-button :ghost="true" type="primary" preIcon="ant-design:menu-unfold-outlined" size="small" @click="openPdf(record.jxrlPdfPath)" style="margin-left:5px;">预览</a-button>
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</BasicTable>
|
</BasicTable>
|
||||||
|
|
|
@ -62,14 +62,14 @@
|
||||||
<span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
|
<span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
|
||||||
<span v-else >
|
<span v-else >
|
||||||
<a-button :ghost="true" type="primary" preIcon="ant-design:download-outlined" size="small" @click="downloadFile(text)">下载</a-button>
|
<a-button :ghost="true" type="primary" preIcon="ant-design:download-outlined" size="small" @click="downloadFile(text)">下载</a-button>
|
||||||
<a-button :ghost="true" type="primary" preIcon="ant-design:copy-outlined" size="small" @click="openPdf(record.pdfPath)" style="margin-left:5px;">预览</a-button>
|
<a-button :ghost="true" type="primary" preIcon="ant-design:menu-unfold-outlined" size="small" @click="openPdf(record.pdfPath)" style="margin-left:5px;">预览</a-button>
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
<template #fileSlot2="{text,record}">
|
<template #fileSlot2="{text,record}">
|
||||||
<span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
|
<span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
|
||||||
<span v-else >
|
<span v-else >
|
||||||
<a-button :ghost="true" type="primary" preIcon="ant-design:download-outlined" size="small" @click="downloadFile(text)">下载</a-button>
|
<a-button :ghost="true" type="primary" preIcon="ant-design:download-outlined" size="small" @click="downloadFile(text)">下载</a-button>
|
||||||
<a-button :ghost="true" type="primary" preIcon="ant-design:copy-outlined" size="small" @click="openPdf(record.jxrlPdfPath)" style="margin-left:5px;">预览</a-button>
|
<a-button :ghost="true" type="primary" preIcon="ant-design:menu-unfold-outlined" size="small" @click="openPdf(record.jxrlPdfPath)" style="margin-left:5px;">预览</a-button>
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</BasicTable>
|
</BasicTable>
|
||||||
|
|
|
@ -72,7 +72,7 @@
|
||||||
<span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
|
<span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
|
||||||
<span v-else >
|
<span v-else >
|
||||||
<a-button :ghost="true" type="primary" preIcon="ant-design:download-outlined" size="small" @click="downloadFile(text)">下载</a-button>
|
<a-button :ghost="true" type="primary" preIcon="ant-design:download-outlined" size="small" @click="downloadFile(text)">下载</a-button>
|
||||||
<a-button :ghost="true" type="primary" preIcon="ant-design:copy-outlined" size="small" @click="openPdf(record.pdfPath)" style="margin-left:5px;">预览</a-button>
|
<a-button :ghost="true" type="primary" preIcon="ant-design:menu-unfold-outlined" size="small" @click="openPdf(record.pdfPath)" style="margin-left:5px;">预览</a-button>
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</BasicTable>
|
</BasicTable>
|
||||||
|
|
|
@ -72,7 +72,7 @@
|
||||||
<span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
|
<span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
|
||||||
<span v-else >
|
<span v-else >
|
||||||
<a-button :ghost="true" type="primary" preIcon="ant-design:download-outlined" size="small" @click="downloadFile(text)">下载</a-button>
|
<a-button :ghost="true" type="primary" preIcon="ant-design:download-outlined" size="small" @click="downloadFile(text)">下载</a-button>
|
||||||
<a-button :ghost="true" type="primary" preIcon="ant-design:copy-outlined" size="small" @click="openPdf(record.pdfPath)" style="margin-left:5px;">预览</a-button>
|
<a-button :ghost="true" type="primary" preIcon="ant-design:menu-unfold-outlined" size="small" @click="openPdf(record.pdfPath)" style="margin-left:5px;">预览</a-button>
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</BasicTable>
|
</BasicTable>
|
||||||
|
|
|
@ -117,7 +117,7 @@
|
||||||
<span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
|
<span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
|
||||||
<span v-else >
|
<span v-else >
|
||||||
<a-button :ghost="true" type="primary" preIcon="ant-design:download-outlined" size="small" @click="downloadFile(text)">下载</a-button>
|
<a-button :ghost="true" type="primary" preIcon="ant-design:download-outlined" size="small" @click="downloadFile(text)">下载</a-button>
|
||||||
<a-button :ghost="true" type="primary" preIcon="ant-design:copy-outlined" size="small" @click="openPdf(record.pdfPath)" style="margin-left:5px;">预览</a-button>
|
<a-button :ghost="true" type="primary" preIcon="ant-design:menu-unfold-outlined" size="small" @click="openPdf(record.pdfPath)" style="margin-left:5px;">预览</a-button>
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
<template #wwsftgaction="{text,record}">
|
<template #wwsftgaction="{text,record}">
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
<a-col :lg="6">
|
<a-col :lg="6">
|
||||||
<a-button type="primary" preIcon="ant-design:search-outlined" @click="searchQuery">查询</a-button>
|
<a-button type="primary" preIcon="ant-design:search-outlined" @click="searchQuery">查询</a-button>
|
||||||
<a-button type="primary" @click="handleAdd" preIcon="ant-design:plus-outlined" style="margin-left: 8px"> 新增</a-button>
|
<a-button type="primary" @click="handleAdd" preIcon="ant-design:plus-outlined" style="margin-left: 8px"> 新增</a-button>
|
||||||
<a-button type="primary" @click="handleZtyl(0)" preIcon="ant-design:menu-unfold-outlined" style="margin-left: 8px"> 预览</a-button>
|
<a-button type="primary" @click="handleZtyl(0)" preIcon="ant-design:menu-unfold-outlined" style="margin-left: 8px"> 预览学生页面</a-button>
|
||||||
</a-col>
|
</a-col>
|
||||||
</span>
|
</span>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
@ -26,7 +26,7 @@
|
||||||
<a-col :span="24" v-for="(item, index) in tableData" :key="index" style="padding:10px;overflow:hidden;border-bottom: 1px solid #f0f0f0;">
|
<a-col :span="24" v-for="(item, index) in tableData" :key="index" style="padding:10px;overflow:hidden;border-bottom: 1px solid #f0f0f0;">
|
||||||
<div>
|
<div>
|
||||||
<a-row style="padding:10px;line-height: 30px;">
|
<a-row style="padding:10px;line-height: 30px;">
|
||||||
<a-col :span="item.ggStatus==0||item.ggStatus==2?20:24">
|
<a-col :span="20">
|
||||||
<span style="font-size: 16px;color: #515151 ;font-weight: bold; ">{{item.title}}</span>
|
<span style="font-size: 16px;color: #515151 ;font-weight: bold; ">{{item.title}}</span>
|
||||||
<span v-if="item.ggStatus==0" style="margin-left:15px;"><a-tag color="blue">草稿</a-tag></span>
|
<span v-if="item.ggStatus==0" style="margin-left:15px;"><a-tag color="blue">草稿</a-tag></span>
|
||||||
<span v-if="item.ggStatus==2" style="margin-left:15px;">
|
<span v-if="item.ggStatus==2" style="margin-left:15px;">
|
||||||
|
@ -35,14 +35,19 @@
|
||||||
<a @click="handleEdit(item)" style="margin-left:5px;padding: 0px 8px;" v-if="item.ggStatus==0||item.ggStatus==2" title="编辑"><Icon icon="ant-design:form-outlined"/></a>
|
<a @click="handleEdit(item)" style="margin-left:5px;padding: 0px 8px;" v-if="item.ggStatus==0||item.ggStatus==2" title="编辑"><Icon icon="ant-design:form-outlined"/></a>
|
||||||
<a-divider type="vertical" style="height: 30px; background-color: #7cb305" v-if="item.ggStatus==0||item.ggStatus==2"/>
|
<a-divider type="vertical" style="height: 30px; background-color: #7cb305" v-if="item.ggStatus==0||item.ggStatus==2"/>
|
||||||
<a @click="handleDelete(item)" style="margin-left:5px;padding: 0px 8px;" v-if="item.ggStatus==0||item.ggStatus==2" title="删除"><Icon icon="ant-design:delete-outlined" /></a>
|
<a @click="handleDelete(item)" style="margin-left:5px;padding: 0px 8px;" v-if="item.ggStatus==0||item.ggStatus==2" title="删除"><Icon icon="ant-design:delete-outlined" /></a>
|
||||||
<a @click="handleCh(item)" style="margin-left:5px;padding: 0px 8px;" v-if="item.ggStatus==1" title="撤回"><Icon icon="ant-design:rollback-outlined" /></a>
|
<!-- <a @click="handleCh(item)" style="margin-left:5px;padding: 0px 8px;" v-if="item.ggStatus==1" title="撤回"><Icon icon="ant-design:rollback-outlined" /></a> -->
|
||||||
</span>
|
</span>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="item.ggStatus==0||item.ggStatus==2?4:24">
|
<a-col :span="4" v-if="item.ggStatus==0||item.ggStatus==2">
|
||||||
<div v-if="item.ggStatus==0||item.ggStatus==2" style="text-align: right;color:#9e9e9e;">
|
<div style="text-align: right;color:#9e9e9e;">
|
||||||
<a-button type="primary" @click="handleFabu(item)">发布</a-button>
|
<a-button type="primary" @click="handleFabu(item)">发布</a-button>
|
||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
<a-col :span="4" v-if="item.ggStatus==1">
|
||||||
|
<div style="text-align: right;color:#9e9e9e;">
|
||||||
|
<a-button type="primary" @click="handleCh(item)">撤回</a-button>
|
||||||
|
</div>
|
||||||
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
<a-row style="padding:10px;">
|
<a-row style="padding:10px;">
|
||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
|
|
|
@ -36,12 +36,12 @@
|
||||||
<div style="float: left">评分:{{ item.stuscore ? item.stuscore : '未评' }}分</div>
|
<div style="float: left">评分:{{ item.stuscore ? item.stuscore : '未评' }}分</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="24" class="zyCon">
|
<a-col :span="24" class="zyCon">
|
||||||
<div style="float: left" :title="item.wwsftg">网络查重:{{ getCctype(item, '1') }}</div>
|
<div style="float: left" class="wpopen" :title="item.wwsftg" @click="handleOpenCcjg(item, '0')">网络查重:{{ getCctype(item, '1') }}</div>
|
||||||
<div style="float: right" :title="item.nwsftg">作业查重:{{ getCctype(item, '2') }}</div>
|
<div style="float: right" class="wpopen" :title="item.nwsftg" @click="handleOpenCcjg(item, '1')">作业查重:{{ getCctype(item, '2') }}</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="24" class="zyCon">
|
<a-col :span="24" class="zyCon">
|
||||||
<div style="float: left" :title="item.aigcsftg">Aigc查重:{{ getCctype(item, '3') }}</div>
|
<div style="float: left" class="wpopen" :title="item.aigcsftg" @click="handleOpenCcjg(item, '2')">Aigc查重:{{ getCctype(item, '3') }}</div>
|
||||||
<div style="float: right" :title="item.xnsftg">校内查重:{{ getCctype(item, '4') }}</div>
|
<div style="float: right" class="wpopen" :title="item.xnsftg" @click="handleOpenCcjg(item, '3')">校内查重:{{ getCctype(item, '4') }}</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="24" style="text-align: center; margin-top: 20px">
|
<a-col :span="24" style="text-align: center; margin-top: 20px">
|
||||||
<a-button type="primary" @click="handleDetail(item)" style="margin-left: 5px; background: rgb(28, 132, 198)">详情</a-button>
|
<a-button type="primary" @click="handleDetail(item)" style="margin-left: 5px; background: rgb(28, 132, 198)">详情</a-button>
|
||||||
|
@ -99,6 +99,7 @@ import ZyInfoDetailModal from './components/ZyInfoDetailModal.vue';
|
||||||
import ZyInfoStudentListModal from '/@/views/zy/zyInfoStudent/ZyInfoStudentListModal.vue';
|
import ZyInfoStudentListModal from '/@/views/zy/zyInfoStudent/ZyInfoStudentListModal.vue';
|
||||||
import ZyInfoStudentModal from '/@/views/zy/zyInfoStudent/components/ZyInfoStudentModal.vue';
|
import ZyInfoStudentModal from '/@/views/zy/zyInfoStudent/components/ZyInfoStudentModal.vue';
|
||||||
import XxhbbksListModal from '/@/views/kc/xxhbbks/XxhbbksListModal.vue';
|
import XxhbbksListModal from '/@/views/kc/xxhbbks/XxhbbksListModal.vue';
|
||||||
|
import { def } from '@vue/shared';
|
||||||
|
|
||||||
//当前路由信息
|
//当前路由信息
|
||||||
const { currentRoute } = useRouter();
|
const { currentRoute } = useRouter();
|
||||||
|
@ -130,12 +131,54 @@ const wrapperCol = reactive({
|
||||||
sm: { span: 16 },
|
sm: { span: 16 },
|
||||||
});
|
});
|
||||||
|
|
||||||
function handleSfkshp(record){
|
function handleOpenCcjg(record, type) {
|
||||||
|
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);
|
||||||
|
var url = res.paperviewurl;
|
||||||
|
if(url){
|
||||||
|
window.open(url, '_blank');
|
||||||
|
}else{
|
||||||
|
createMessage.error("当前暂无结果");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function handleSfkshp(record) {
|
||||||
var sfkshp = record.xshpkg;
|
var sfkshp = record.xshpkg;
|
||||||
var xshpkssj = new Date(record.xshpkssj);
|
var xshpkssj = new Date(record.xshpkssj);
|
||||||
var xshpjssj = new Date(record.xshpjssj);
|
var xshpjssj = new Date(record.xshpjssj);
|
||||||
var nowTime = new Date();
|
var nowTime = new Date();
|
||||||
if(sfkshp == '1' && nowTime.getTime()>=xshpkssj.getTime() && nowTime.getTime()<=xshpjssj.getTime()){
|
if (sfkshp == '1' && nowTime.getTime() >= xshpkssj.getTime() && nowTime.getTime() <= xshpjssj.getTime()) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
@ -381,4 +424,8 @@ onMounted(() => {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
}
|
}
|
||||||
|
.wpopen:hover{
|
||||||
|
cursor: pointer;
|
||||||
|
color:#18a689;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -254,9 +254,7 @@
|
||||||
<a-button type="primary" preIcon="ant-design:search-outlined" @click="searchQueryZyxq">查询</a-button>
|
<a-button type="primary" preIcon="ant-design:search-outlined" @click="searchQueryZyxq">查询</a-button>
|
||||||
<a-button type="primary" preIcon="ant-design:reload-outlined" @click="searchReset" style="margin-left: 8px">重置</a-button>
|
<a-button type="primary" preIcon="ant-design:reload-outlined" @click="searchReset" style="margin-left: 8px">重置</a-button>
|
||||||
<a-button type="primary" preIcon="ant-design:export-outlined" @click="onExportXls" style="margin-left: 8px"> 导出</a-button>
|
<a-button type="primary" preIcon="ant-design:export-outlined" @click="onExportXls" style="margin-left: 8px"> 导出</a-button>
|
||||||
<a-button type="primary" preIcon="ant-design:export-outlined" @click="batchHandleFabu" style="margin-left: 8px">
|
<a-button type="primary" preIcon="ant-design:export-outlined" @click="batchHandleFabu" style="margin-left: 8px">一键发布评分</a-button>
|
||||||
一键发布评分</a-button
|
|
||||||
>
|
|
||||||
<a-button type="primary" preIcon="ant-design:export-outlined" @click="reloadZy" style="margin-left: 8px"> 返回</a-button>
|
<a-button type="primary" preIcon="ant-design:export-outlined" @click="reloadZy" style="margin-left: 8px"> 返回</a-button>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
|
@ -484,6 +482,10 @@ const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({
|
||||||
columns: newcolumns,
|
columns: newcolumns,
|
||||||
canResize: false,
|
canResize: false,
|
||||||
useSearchForm: false,
|
useSearchForm: false,
|
||||||
|
pagination: {
|
||||||
|
current: 1,
|
||||||
|
pageSize: 1000,
|
||||||
|
},
|
||||||
actionColumn: {
|
actionColumn: {
|
||||||
width: '300px',
|
width: '300px',
|
||||||
// fixed: 'right',
|
// fixed: 'right',
|
||||||
|
@ -1108,6 +1110,32 @@ function handleDetail(record: Recordable) {
|
||||||
|
|
||||||
//查看作业信息
|
//查看作业信息
|
||||||
function handleZyxx(record, type) {
|
function handleZyxx(record, type) {
|
||||||
|
|
||||||
|
|
||||||
|
if(type == '1'){
|
||||||
|
if(!record.wtjnum || record.wtjnum == '0'){
|
||||||
|
createMessage.error("当前人数为0,不能进行查询")
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}else if(type == '2'){
|
||||||
|
if(!record.ytjnum || record.ytjnum == '0'){
|
||||||
|
createMessage.error("当前人数为0,不能进行查询")
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}else if(type == '3'){
|
||||||
|
if(!record.wpynum || record.wpynum == '0'){
|
||||||
|
createMessage.error("当前人数为0,不能进行查询")
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}else if(type == '4'){
|
||||||
|
if(!record.ypynum || record.ypynum == '0'){
|
||||||
|
createMessage.error("当前人数为0,不能进行查询")
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
zyInfo.value = record;
|
zyInfo.value = record;
|
||||||
handleShowType(3);
|
handleShowType(3);
|
||||||
queryType.value = type;
|
queryType.value = type;
|
||||||
|
|
|
@ -2,8 +2,11 @@
|
||||||
<a-spin :spinning="confirmLoading">
|
<a-spin :spinning="confirmLoading">
|
||||||
<a-form ref="formRef" class="antd-modal-form" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form ref="formRef" class="antd-modal-form" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-row>
|
<a-row>
|
||||||
|
<a-col :span="24" style="text-align: center;margin-top: 50px;">
|
||||||
|
<span>说明:可标记作业为【优秀】【良好】【及格】的作业结果</span>
|
||||||
|
</a-col>
|
||||||
<a-col :span="24" style="margin-top:30px;">
|
<a-col :span="24" style="margin-top:30px;">
|
||||||
<a-form-item label="存档类型" v-bind="validateInfos.cdlx">
|
<a-form-item label="标记作业" v-bind="validateInfos.cdlx">
|
||||||
<JDictSelectTag v-model:value="formData.cdlx" dictCode="cdlx" placeholder="请选择" />
|
<JDictSelectTag v-model:value="formData.cdlx" dictCode="cdlx" placeholder="请选择" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
* @param record
|
* @param record
|
||||||
*/
|
*/
|
||||||
function edit(record) {
|
function edit(record) {
|
||||||
title.value = disableSubmit.value ? '详情' : '编辑';
|
title.value = '标记作业';
|
||||||
visible.value = true;
|
visible.value = true;
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
registerForm.value.edit(record);
|
registerForm.value.edit(record);
|
||||||
|
|
|
@ -3,82 +3,95 @@
|
||||||
<a-form ref="formRef" class="antd-modal-form" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form ref="formRef" class="antd-modal-form" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-row>
|
<a-row>
|
||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<a-col :span="24">
|
<a-form ref="formRef" class="antd-modal-form" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-form ref="formRef" class="antd-modal-form" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-row>
|
||||||
<a-row>
|
<a-col :span="24">
|
||||||
<a-col :span="24">
|
<a-form-item label="作业题目">
|
||||||
<a-form-item label="作业题目">
|
{{zyInfo.title}}
|
||||||
{{zyInfo.title}}
|
</a-form-item>
|
||||||
</a-form-item>
|
</a-col>
|
||||||
</a-col>
|
<a-col :span="24" v-if="dataKhnr.length > 0">
|
||||||
<a-col :span="24" v-if="dataKhnr.length > 0">
|
<a-form-item label="考察内容">
|
||||||
<a-form-item label="考察内容">
|
<a-table :columns="columnsKhnr" rowKey="id" :data-source="dataKhnr" :pagination="false" />
|
||||||
<a-table :columns="columnsKhnr" rowKey="id" :data-source="dataKhnr" :pagination="false" />
|
</a-form-item>
|
||||||
</a-form-item>
|
</a-col>
|
||||||
</a-col>
|
<a-col :span="12">
|
||||||
<a-col :span="12">
|
<a-form-item label="作业截止时间" :labelCol="labelCol2" :wrapperCol="wrapperCol2">
|
||||||
<a-form-item label="作业截止时间" :labelCol="labelCol2" :wrapperCol="wrapperCol2">
|
{{zyInfo.endTime}}
|
||||||
{{zyInfo.endTime}}
|
</a-form-item>
|
||||||
</a-form-item>
|
</a-col>
|
||||||
</a-col>
|
<a-col :span="12">
|
||||||
<a-col :span="12">
|
<a-form-item label="作业发布时间" :labelCol="labelCol2" :wrapperCol="wrapperCol2">
|
||||||
<a-form-item label="作业发布时间" :labelCol="labelCol2" :wrapperCol="wrapperCol2">
|
{{zyInfo.startTime}}
|
||||||
{{zyInfo.startTime}}
|
</a-form-item>
|
||||||
</a-form-item>
|
</a-col>
|
||||||
</a-col>
|
<a-col :span="24">
|
||||||
<a-col :span="24">
|
<a-form-item label="作业要求" >
|
||||||
<a-form-item label="作业要求" >
|
<div v-html="zyInfo.content"></div>
|
||||||
<div v-html="zyInfo.content"></div>
|
</a-form-item>
|
||||||
</a-form-item>
|
</a-col>
|
||||||
</a-col>
|
<a-col :span="24" v-if="zyInfo.filePath">
|
||||||
<a-col :span="24" v-if="zyInfo.filePath">
|
<a-form-item label="参考资料" >
|
||||||
<a-form-item label="参考资料" >
|
<a-button type="primary" style="margin-left: 10px" @click="downLoad(zyInfo.filePath)">下载</a-button>
|
||||||
<a-button type="primary" style="margin-left: 10px" @click="downLoad(zyInfo.filePath)">下载</a-button>
|
</a-form-item>
|
||||||
</a-form-item>
|
</a-col>
|
||||||
</a-col>
|
|
||||||
|
|
||||||
<a-col :span="24" v-show="zyInfo.sturead=='1' && zyInfo.pfbz">
|
<a-col :span="24" v-show="zyInfo.sturead=='1' && zyInfo.pfbz">
|
||||||
<a-form-item label="评分标准" layout="inline">
|
<a-form-item label="评分标准" layout="inline">
|
||||||
<div v-html="zyInfo.pfbz"></div>
|
<div v-html="zyInfo.pfbz"></div>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<a-col :span="24">
|
||||||
|
<a-form-item label="查重设置" layout="inline">
|
||||||
|
<a-form-item label="检测通过率" :labelCol="labelCol3" :wrapperCol="wrapperCol3">
|
||||||
|
<span style="padding: 7px 20px"></span>
|
||||||
|
<a-input-number
|
||||||
|
v-model:value="zyInfo.wwtgl"
|
||||||
|
placeholder="检测通过率"
|
||||||
|
style="width: 60%"
|
||||||
|
:max="100"
|
||||||
|
:min="0"
|
||||||
|
disabled
|
||||||
|
>
|
||||||
|
<template #addonAfter> % </template>
|
||||||
|
</a-input-number>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
<a-form-item label="比对库设置" :labelCol="labelCol3" :wrapperCol="wrapperCol3">
|
||||||
<a-col :span="24">
|
<div style="padding: 7px 20px">维普</div>
|
||||||
<a-form-item label="查重设置" layout="inline">
|
<div style="padding: 0 40px">
|
||||||
<a-form-item label="检测通过率" :labelCol="labelCol3" :wrapperCol="wrapperCol3">
|
<a-checkbox v-model:checked="zyInfo.wwcc" style="margin-left: 10px" disabled
|
||||||
<span style="padding: 7px 20px"></span>
|
>维普资源库查重:中文科技期刊数据库、硕博学位论文库、高校特色论文库、互联网数据资源/互联网文档资源</a-checkbox
|
||||||
<a-input-number
|
|
||||||
v-model:value="zyInfo.wwtgl"
|
|
||||||
placeholder="检测通过率"
|
|
||||||
style="width: 60%"
|
|
||||||
:max="100"
|
|
||||||
:min="0"
|
|
||||||
disabled
|
|
||||||
>
|
>
|
||||||
<template #addonAfter> % </template>
|
<a-checkbox v-model:checked="zyInfo.xncc" disabled>学校作业库查重:历届学生提供的作业库内查重</a-checkbox>
|
||||||
</a-input-number>
|
<a-checkbox v-model:checked="zyInfo.nwcc" disabled>本次作业查重:本次学生提交的作业间查重</a-checkbox>
|
||||||
</a-form-item>
|
</div>
|
||||||
<a-form-item label="比对库设置" :labelCol="labelCol3" :wrapperCol="wrapperCol3">
|
<div style="padding: 7px 20px">AIGC</div>
|
||||||
<div style="padding: 7px 20px">维普</div>
|
<div style="padding: 0 40px">
|
||||||
<div style="padding: 0 40px">
|
<a-checkbox v-model:checked="zyInfo.aigccc" style="margin-left: 10px" disabled
|
||||||
<a-checkbox v-model:checked="zyInfo.wwcc" style="margin-left: 10px" disabled
|
>AIGC查重:检测作业是否部分或全部由AI模型生成</a-checkbox
|
||||||
>维普资源库查重:中文科技期刊数据库、硕博学位论文库、高校特色论文库、互联网数据资源/互联网文档资源</a-checkbox
|
>
|
||||||
>
|
</div>
|
||||||
<a-checkbox v-model:checked="zyInfo.xncc" disabled>学校作业库查重:历届学生提供的作业库内查重</a-checkbox>
|
|
||||||
<a-checkbox v-model:checked="zyInfo.nwcc" disabled>本次作业查重:本次学生提交的作业间查重</a-checkbox>
|
|
||||||
</div>
|
|
||||||
<div style="padding: 7px 20px">AIGC</div>
|
|
||||||
<div style="padding: 0 40px">
|
|
||||||
<a-checkbox v-model:checked="zyInfo.aigccc" style="margin-left: 10px" disabled
|
|
||||||
>AIGC查重:检测作业是否部分或全部由AI模型生成</a-checkbox
|
|
||||||
>
|
|
||||||
</div>
|
|
||||||
</a-form-item>
|
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-form-item>
|
||||||
</a-row>
|
</a-col>
|
||||||
</a-form>
|
<a-col :span="24" v-if="!isYl">
|
||||||
</a-col>
|
<a-form-item label="上传作业" v-bind="validateInfos.filePath">
|
||||||
|
<j-upload v-model:value="formData.filePath" :disabled="disabled" maxCount="1" accept=".doc,.docx,.pdf" :forceAcceptVerify="true" ></j-upload>
|
||||||
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
<a-col :span="24" v-if="isYl">
|
||||||
|
<span style="width:300px;float: left;">
|
||||||
|
<span style="float:left;">
|
||||||
|
<j-upload v-model:value="formData.stuFilePath" maxCount="1" accept=".doc,.docx,.pdf" :forceAcceptVerify="true"></j-upload>
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
<span style="float: right;">
|
||||||
|
<a-button type="primary" style="margin-left:10px;" @click="openPdf(formData)">预览</a-button>
|
||||||
|
</span>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
</a-form>
|
||||||
|
</a-col>
|
||||||
|
|
||||||
<!-- <a-col :span="24" style="padding: 30px 0 0 75px;">
|
<!-- <a-col :span="24" style="padding: 30px 0 0 75px;">
|
||||||
<div style="line-height:40px;">作业名称:{{zyInfo.title}}</div>
|
<div style="line-height:40px;">作业名称:{{zyInfo.title}}</div>
|
||||||
|
@ -89,21 +102,7 @@
|
||||||
<div v-if="zyInfo.filePath">附件:
|
<div v-if="zyInfo.filePath">附件:
|
||||||
<a-button type="primary" style="margin-left: 10px" @click="downLoad(zyInfo.filePath)">下载</a-button></div>
|
<a-button type="primary" style="margin-left: 10px" @click="downLoad(zyInfo.filePath)">下载</a-button></div>
|
||||||
</a-col> -->
|
</a-col> -->
|
||||||
<a-col :span="24" style="margin-top:30px;" v-if="!isYl">
|
|
||||||
<a-form-item label="上传作业" v-bind="validateInfos.filePath">
|
|
||||||
<j-upload v-model:value="formData.filePath" :disabled="disabled" maxCount="1" accept=".doc,.docx,.pdf" :forceAcceptVerify="true" ></j-upload>
|
|
||||||
</a-form-item>
|
|
||||||
</a-col>
|
|
||||||
<a-col :span="24" style="margin-top:30px;" v-if="isYl">
|
|
||||||
<span style="width:300px;float: left;">
|
|
||||||
<span style="float:left;">
|
|
||||||
<j-upload v-model:value="formData.stuFilePath" maxCount="1" accept=".doc,.docx,.pdf" :forceAcceptVerify="true"></j-upload>
|
|
||||||
</span>
|
|
||||||
</span>
|
|
||||||
<span style="float: right;">
|
|
||||||
<a-button type="primary" style="margin-left:10px;" @click="openPdf(formData)">预览</a-button>
|
|
||||||
</span>
|
|
||||||
</a-col>
|
|
||||||
</a-row>
|
</a-row>
|
||||||
</a-form>
|
</a-form>
|
||||||
</a-spin>
|
</a-spin>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<!-- <a-col :span="24">
|
<!-- <a-col :span="24">
|
||||||
<span style="margin-left: 8%;line-height:60px;">预设作业分值:{{zyInfo.score?zyInfo.score+"分 评分不能高于预设分值":'未设置 评分不能高于100分'}}</span>
|
<span style="margin-left: 8%;line-height:60px;">预设作业分值:{{zyInfo.score?zyInfo.score+"分 评分不能高于预设分值":'未设置 评分不能高于100分'}}</span>
|
||||||
</a-col> -->
|
</a-col> -->
|
||||||
<a-col :span="24">
|
<a-col :span="24" style="margin-top: 40px;">
|
||||||
<a-form-item label="评分" v-bind="validateInfos.score">
|
<a-form-item label="评分" v-bind="validateInfos.score">
|
||||||
<a-input-number v-model:value="formData.score" :max="100" :min="0" :disabled="disabled" style="width:100%;" @change="handleJyfz" ></a-input-number>
|
<a-input-number v-model:value="formData.score" :max="100" :min="0" :disabled="disabled" style="width:100%;" @change="handleJyfz" ></a-input-number>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
@ -166,7 +166,7 @@
|
||||||
|
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.antd-modal-form {
|
.antd-modal-form {
|
||||||
min-height: 300px !important;
|
min-height: 150px !important;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
padding: 24px 24px 24px 24px;
|
padding: 24px 24px 24px 24px;
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,7 +42,7 @@
|
||||||
</template>-->
|
</template>-->
|
||||||
<template #fileSlot="{ text }">
|
<template #fileSlot="{ text }">
|
||||||
<span v-if="!text" style="font-size: 12px; font-style: italic">无文件</span>
|
<span v-if="!text" style="font-size: 12px; font-style: italic">无文件</span>
|
||||||
<a-button v-else :ghost="true" type="primary" preIcon="ant-design:download-outlined" size="small" @click="openPdf(text)">预览</a-button>
|
<a-button v-else :ghost="true" type="primary" preIcon="ant-design:menu-unfold-outlined" size="small" @click="openPdf(text)">预览</a-button>
|
||||||
</template>
|
</template>
|
||||||
</BasicTable>
|
</BasicTable>
|
||||||
<!-- 表单区域 -->
|
<!-- 表单区域 -->
|
||||||
|
|
|
@ -42,7 +42,7 @@
|
||||||
</template>-->
|
</template>-->
|
||||||
<template #fileSlot="{ text }">
|
<template #fileSlot="{ text }">
|
||||||
<span v-if="!text" style="font-size: 12px; font-style: italic">无文件</span>
|
<span v-if="!text" style="font-size: 12px; font-style: italic">无文件</span>
|
||||||
<a-button v-else :ghost="true" type="primary" preIcon="ant-design:download-outlined" size="small" @click="openPdf(text)">预览</a-button>
|
<a-button v-else :ghost="true" type="primary" preIcon="ant-design:menu-unfold-outlined" size="small" @click="openPdf(text)">预览</a-button>
|
||||||
</template>
|
</template>
|
||||||
</BasicTable>
|
</BasicTable>
|
||||||
<!-- 表单区域 -->
|
<!-- 表单区域 -->
|
||||||
|
|
Loading…
Reference in New Issue