论文考核材料
This commit is contained in:
parent
8407632fdb
commit
d2beb7ad3d
|
@ -160,7 +160,6 @@ const props = defineProps({
|
||||||
}
|
}
|
||||||
|
|
||||||
function openWindow(record){
|
function openWindow(record){
|
||||||
console.log(record.ccjg);
|
|
||||||
window.open(record.ccjg,"_blank");
|
window.open(record.ccjg,"_blank");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -73,34 +73,34 @@
|
||||||
</template>
|
</template>
|
||||||
<!-- 自定义插槽 -->
|
<!-- 自定义插槽 -->
|
||||||
<template #ktbg_yl="{record}">
|
<template #ktbg_yl="{record}">
|
||||||
<a-button v-if="record.ktbg!=null&&record.ktbg!=''" size="large" preIcon="ant-design:eye-outlined" style="border: 0px;" @click="openWindow(record.ktbg)"></a-button>
|
<a-button v-if="record.ktbg!=null&&record.ktbg!=''" size="large" preIcon="ant-design:eye-outlined" style="border: 0px;" @click="handleYulan(record.ktbg)"></a-button>
|
||||||
</template>
|
</template>
|
||||||
<template #ktbg_xz="{record}">
|
<template #ktbg_xz="{record}">
|
||||||
<a-button v-if="record.ktbg!=null&&record.ktbg!=''" size="large" preIcon="ant-design:download-outlined" style="border: 0px;" @click="openWindowWithLoading(record.ktbg)"></a-button>
|
<a-button v-if="record.ktbg!=null&&record.ktbg!=''" size="large" preIcon="ant-design:download-outlined" style="border: 0px;" @click="handleDown(record.ktbg)"></a-button>
|
||||||
</template>
|
</template>
|
||||||
<template #ktbgshyj_yl="{record}">
|
<template #ktbgshyj_yl="{record}">
|
||||||
<a-button v-if="record.ktbgshyj!=null&&record.ktbgshyj!=''" size="large" preIcon="ant-design:eye-outlined" style="border: 0px;" @click="openWindow(record.ktbgshyj)"></a-button>
|
<a-button v-if="record.ktbgshyj!=null&&record.ktbgshyj!=''" size="large" preIcon="ant-design:eye-outlined" style="border: 0px;" @click="handleYulan(record.ktbgshyj)"></a-button>
|
||||||
</template>
|
</template>
|
||||||
<template #ktbgshyj_xz="{record}">
|
<template #ktbgshyj_xz="{record}">
|
||||||
<a-button v-if="record.ktbgshyj!=null&&record.ktbgshyj!=''" size="large" preIcon="ant-design:download-outlined" style="border: 0px;" @click="openWindowWithLoading(record.ktbgshyj)"></a-button>
|
<a-button v-if="record.ktbgshyj!=null&&record.ktbgshyj!=''" size="large" preIcon="ant-design:download-outlined" style="border: 0px;" @click="handleDown(record.ktbgshyj)"></a-button>
|
||||||
</template>
|
</template>
|
||||||
<template #zqjc_yl="{record}">
|
<template #zqjc_yl="{record}">
|
||||||
<a-button v-if="record.zqjc!=null&&record.zqjc!=''" size="large" preIcon="ant-design:eye-outlined" style="border: 0px;" @click="openWindow(record.zqjc)"></a-button>
|
<a-button v-if="record.zqjc!=null&&record.zqjc!=''" size="large" preIcon="ant-design:eye-outlined" style="border: 0px;" @click="handleYulan(record.zqjc)"></a-button>
|
||||||
</template>
|
</template>
|
||||||
<template #zqjc_xz="{record}">
|
<template #zqjc_xz="{record}">
|
||||||
<a-button v-if="record.zqjc!=null&&record.zqjc!=''" size="large" preIcon="ant-design:download-outlined" style="border: 0px;" @click="openWindowWithLoading(record.zqjc)"></a-button>
|
<a-button v-if="record.zqjc!=null&&record.zqjc!=''" size="large" preIcon="ant-design:download-outlined" style="border: 0px;" @click="handleDown(record.zqjc)"></a-button>
|
||||||
</template>
|
</template>
|
||||||
<template #lwzg_yl="{record}">
|
<template #lwzg_yl="{record}">
|
||||||
<a-button v-if="record.lwzg!=null&&record.lwzg!=''" size="large" preIcon="ant-design:eye-outlined" style="border: 0px;" @click="openWindow(record.lwzg)"></a-button>
|
<a-button v-if="record.lwzg!=null&&record.lwzg!=''" size="large" preIcon="ant-design:eye-outlined" style="border: 0px;" @click="handleYulan(record.lwzg)"></a-button>
|
||||||
</template>
|
</template>
|
||||||
<template #lwzg_xz="{record}">
|
<template #lwzg_xz="{record}">
|
||||||
<a-button v-if="record.lwzg!=null&&record.lwzg!=''" size="large" preIcon="ant-design:download-outlined" style="border: 0px;" @click="openWindowWithLoading(record.lwzg)"></a-button>
|
<a-button v-if="record.lwzg!=null&&record.lwzg!=''" size="large" preIcon="ant-design:download-outlined" style="border: 0px;" @click="handleDown(record.lwzg)"></a-button>
|
||||||
</template>
|
</template>
|
||||||
<template #jcbgdcl_yl="{record}">
|
<template #jcbgdcl_yl="{record}">
|
||||||
<a-button v-if="record.jcbgdcl!=null&&record.jcbgdcl!=''" size="large" preIcon="ant-design:eye-outlined" style="border: 0px;" @click="openWindow(record.jcbgdcl)"></a-button>
|
<a-button v-if="record.jcbgdcl!=null&&record.jcbgdcl!=''" size="large" preIcon="ant-design:eye-outlined" style="border: 0px;" @click="handleYulan(record.jcbgdcl)"></a-button>
|
||||||
</template>
|
</template>
|
||||||
<template #jcbgdcl_xz="{record}">
|
<template #jcbgdcl_xz="{record}">
|
||||||
<a-button v-if="record.jcbgdcl!=null&&record.jcbgdcl!=''" size="large" preIcon="ant-design:download-outlined" style="border: 0px;" @click="openWindowWithLoading(record.jcbgdcl)"></a-button>
|
<a-button v-if="record.jcbgdcl!=null&&record.jcbgdcl!=''" size="large" preIcon="ant-design:download-outlined" style="border: 0px;" @click="handleDown(record.jcbgdcl)"></a-button>
|
||||||
</template>
|
</template>
|
||||||
</BasicTable>
|
</BasicTable>
|
||||||
</div>
|
</div>
|
||||||
|
@ -116,6 +116,8 @@ import {ref, reactive, defineProps, nextTick, defineExpose} from 'vue';
|
||||||
import { useUserStore } from '/@/store/modules/user';
|
import { useUserStore } from '/@/store/modules/user';
|
||||||
import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue';
|
import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue';
|
||||||
import { useMessage } from '/@/hooks/web/useMessage';
|
import { useMessage } from '/@/hooks/web/useMessage';
|
||||||
|
import {getFileAccessHttpUrl} from "@/utils/common/compUtils";
|
||||||
|
import {encryptByBase64} from "@/utils/cipher";
|
||||||
|
|
||||||
const spinning = ref<boolean>(false);
|
const spinning = ref<boolean>(false);
|
||||||
const { createMessage, createConfirm } = useMessage();
|
const { createMessage, createConfirm } = useMessage();
|
||||||
|
@ -211,45 +213,20 @@ import {ref, reactive, defineProps, nextTick, defineExpose} from 'vue';
|
||||||
reload();
|
reload();
|
||||||
}
|
}
|
||||||
|
|
||||||
function openWindow(url){
|
/**
|
||||||
console.log(url);
|
* 预览
|
||||||
if(url!=null && url!=''){
|
*/
|
||||||
window.open(url,"_blank");
|
function handleYulan(record){
|
||||||
}
|
var file = getFileAccessHttpUrl(record.fwqPath) ;
|
||||||
|
console.log('🤬', file);
|
||||||
|
window.open('https://fileview.jeecg.com/onlinePreview?url=' + encodeURIComponent(encryptByBase64(file)));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 自定义下载事件,带加载中
|
* 下载
|
||||||
*/
|
*/
|
||||||
function openWindowWithLoading(url){
|
function handleDown(record){
|
||||||
if(url==null || url==''){
|
downloadFile(record.filePath)
|
||||||
return;
|
|
||||||
}
|
|
||||||
let xhr = new XMLHttpRequest();
|
|
||||||
spinning.value = true;
|
|
||||||
xhr.open('GET',url,true);
|
|
||||||
// xhr.onprogress = function (e){
|
|
||||||
// let percent = Math.floor(e.loaded / e.total * 100);//百分比加载,用于进度条
|
|
||||||
// console.log(percent);
|
|
||||||
// }
|
|
||||||
xhr.send();
|
|
||||||
xhr.responseType = "arraybuffer";
|
|
||||||
xhr.onreadystatechange = event =>{
|
|
||||||
console.log(xhr);
|
|
||||||
if(xhr.readyState == 4){
|
|
||||||
if(xhr.status == 200){
|
|
||||||
let fileName = url.substring(url.lastIndexOf("/")+1);
|
|
||||||
let blob = new Blob([xhr.response]);
|
|
||||||
const downLoadLink = document.createElement('a');
|
|
||||||
downLoadLink.download = fileName;
|
|
||||||
downLoadLink.href = URL.createObjectURL(blob);
|
|
||||||
downLoadLink.click();
|
|
||||||
}else if (xhr.status == 404){
|
|
||||||
createMessage.warning('没有找到可下载的资源!');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
spinning.value = false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function init(record) {
|
function init(record) {
|
||||||
|
|
Loading…
Reference in New Issue