This commit is contained in:
qingjiao 2025-12-25 10:24:29 +08:00
parent 79b3bf6eaf
commit fd4bbe957b
2 changed files with 130 additions and 12 deletions

View File

@ -12,6 +12,7 @@
v-model="DataDB.SelectType"
placeholder="Select"
style="width: 180px;margin-left: 10px;"
@change="TypeClick"
>
<el-option
v-for="item in TypeOptions"
@ -28,16 +29,38 @@
style="width: 98%;"
height="calc(100vh - 200px)"
>
<el-table-column prop="Name" label="名称" align="center"/>
<el-table-column prop="Date_t" label="时间" align="center"/>
<el-table-column label="大小" align="center">
<el-table-column prop="Name" label="名称" align="center" sortable/>
<el-table-column prop="Version" label="版本号" align="center" sortable/>
<el-table-column label="存储方式" align="center" sortable>
<template #default="scope">
{{ Convert(scope.row.Size) }} MB
{{ scope.row.LinkFlag === 0 ? '文件' : '链接' }}
</template>
</el-table-column>
<el-table-column label="链接/大小" align="center" sortable>
<template #default="scope">
<el-link
type="primary"
v-if="scope.row.LinkFlag === 0"
>
{{ Convert(scope.row.Size) }} MB
</el-link>
<el-link
type="primary"
v-if="scope.row.LinkFlag === 1"
@click="CopyText(scope.row.Link)"
>
<el-tooltip :content="scope.row.Link" placement="top" :show-after="1000">
<span class="TextOverflow">
{{ scope.row.Link }}
</span>
</el-tooltip>
</el-link>
</template>
</el-table-column>
<el-table-column prop="Date_t" label="时间" align="center" sortable/>
<el-table-column label="操作" align="center" width="280">
<template #default="scope">
<el-link type="primary" @click.stop="Download(scope.row.ID)">
<el-link type="primary" @click.stop="Download(scope.row)">
下载
</el-link>
<el-link type="primary" @click.stop="UpLoad(scope.row)" style="margin-left: 10px;">
@ -144,6 +167,7 @@
:on-error="EUpload"
:auto-upload="false"
@close="CloseDialog"
:limit="1"
>
<el-button type="primary">
选择文件
@ -266,15 +290,32 @@ function GetData(){
const data = res.data;
if(data.Code === 1){
DataDB.tableData = data.list;
tableUpdate();
}
});
}
function tableUpdate(){
let list = [];
for (let i = 0; i < DataDB.tableData.length; i++){
const item = DataDB.tableData[i];
if(Number(item.Type) === Number(DataDB.SelectType)){
list.push(item);
}
}
DataDB.tableData = list;
}
function Convert(size){
const data = size / 1024 / 1024;
return data.toFixed(2);
}
function Download(ID){
const url = Api.GetOHBSVDownload + "?ID=" + ID;
function Download(Row){
let url = '';
if(Row.LinkFlag === 0){
url = Api.GetOHBSVDownload + "?ID=" + Row.ID;
}
else if(Row.LinkFlag === 1){
url = Row.Link;
}
window.open(url);
}
function Delete(ID){
@ -293,15 +334,15 @@ function Delete(ID){
}),(res)=>{
const data = res.data;
if(data.Code === 1){
ElMessage.success('删除成功!');
ElMessage.success('删除成功');
GetData();
}
else {
if(data.Code === 2){
ElMessage.error('权限认证失败!');
ElMessage.error('权限认证失败');
}
else {
ElMessage.error('删除失败!');
ElMessage.error('删除失败');
}
}
})
@ -348,6 +389,8 @@ function UpLoad(Row){
FormData.ID = Number(Row.ID);
FormData.Name = Row.Name;
FormData.Version = Row.Version;
FormData.Link = Row.Link;
FormData.LinkFlag = Row.LinkFlag;
dialogTableVisible2.value = true;
upload.value = false;
}
@ -355,8 +398,38 @@ function UpLoadQX(){
dialogTableVisible2.value = false;
}
function UpLoadQR(){
upload.value = true;
uploadRef.value.submit();
if(FormData.LinkFlag === 0){
if(DataDB.fileList.length === 0){
ElMessage.error('请选择文件');
return;
}
upload.value = true;
uploadRef.value.submit();
}
else{
RequestPost(Api.RevisePackage,JSON.stringify({
ID:Number(FormData.ID),
User:User.User,
Pwd:User.Pwd,
LinkFlag:Number(FormData.LinkFlag),
Link:FormData.Link,
}),(res)=>{
const data = res.data;
if(data.Code === 1){
ElMessage.success('修改成功');
dialogTableVisible2.value = false;
GetData();
}
else{
if(data.Code === 2){
ElMessage.error('权限认证失败');
}
else {
ElMessage.error('修改失败');
}
}
});
}
}
function BUpload(){
dialogTableVisible2.value = false;
@ -389,6 +462,50 @@ function CloseDialog(){
}
catch (e){}
}
function CopyText(txt){
if (navigator.clipboard && window.isSecureContext) {
// 使 Clipboard API
navigator.clipboard.writeText(txt).then(function() {
ElMessage.success('已复制文本')
}).catch(function(err) {
console.error('复制失败: ', err);
// Clipboard API 退
fallbackCopyText(txt);
});
} else {
// 使
fallbackCopyText(txt);
}
}
function fallbackCopyText(txt) {
const textArea = document.createElement('textarea');
textArea.value = txt;
textArea.style.cssText = ` position: fixed;
top: -9999px;
left: -9999px;
opacity: 0;
`;
document.body.appendChild(textArea);
textArea.focus();
textArea.select();
try {
const successful = document.execCommand('copy');
if (successful) {
ElMessage.success('已复制文本');
} else {
ElMessage.error('复制失败');
}
} catch (err) {
console.error('复制操作不被支持: ', err);
ElMessage.error('复制操作不被支持');
}
document.body.removeChild(textArea);
}
function TypeClick(){
GetData();
}
</script>
<style scoped>

View File

@ -17,6 +17,7 @@ export const Api = reactive({
GetOHBSVUpload: ref(RootURL + '/UI_3/Upload'),
AddData: ref(RootURL + '/UI_3/AddData'),
GetOHBSVDelete: ref(RootURL + '/UI_3/DeleteData'),
RevisePackage: ref(RootURL + '/UI_3/RevisePackage'),
});
export const User = reactive({
User:ref('-1'),