perf: office文件预览
This commit is contained in:
parent
28abad0276
commit
27158e1ee7
@ -96,9 +96,10 @@ class FileController extends AbstractController
|
||||
{
|
||||
$id = Request::input('id');
|
||||
//
|
||||
$permission = 0;
|
||||
if (Base::isNumber($id)) {
|
||||
User::auth();
|
||||
$file = File::permissionFind(intval($id));
|
||||
$file = File::permissionFind(intval($id), 0, $permission);
|
||||
} elseif ($id) {
|
||||
$fileLink = FileLink::whereCode($id)->first();
|
||||
$file = $fileLink?->file;
|
||||
@ -108,7 +109,10 @@ class FileController extends AbstractController
|
||||
} else {
|
||||
return Base::retError('参数错误');
|
||||
}
|
||||
return Base::retSuccess('success', $file);
|
||||
//
|
||||
$array = $file->toArray();
|
||||
$array['permission'] = $permission;
|
||||
return Base::retSuccess('success', $array);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -164,7 +164,7 @@ export default {
|
||||
"callbackUrl": 'http://nginx/api/file/content/office?id=' + fileKey + '&token=' + this.userToken,
|
||||
}
|
||||
};
|
||||
if (this.isPreview) {
|
||||
if (this.readOnly) {
|
||||
config.editorConfig.mode = "view";
|
||||
config.editorConfig.callbackUrl = null;
|
||||
if (!config.editorConfig.user.id) {
|
||||
|
@ -280,11 +280,11 @@
|
||||
|
||||
<!--查看/修改文件-->
|
||||
<DrawerOverlay
|
||||
v-model="editShow"
|
||||
v-model="fileShow"
|
||||
class="page-file-drawer"
|
||||
:mask-closable="false">
|
||||
<FileContent v-if="editInfo.permission > 0" v-model="editShow" :file="editInfo"/>
|
||||
<FilePreview v-else-if="editInfo.permission > -1" :file="editInfo"/>
|
||||
<FilePreview v-if="fileInfo.permission === 0" :file="fileInfo"/>
|
||||
<FileContent v-else v-model="fileShow" :file="fileInfo"/>
|
||||
</DrawerOverlay>
|
||||
|
||||
</div>
|
||||
@ -384,8 +384,8 @@ export default {
|
||||
linkData: {},
|
||||
linkLoad: 0,
|
||||
|
||||
editShow: false,
|
||||
editInfo: {permission: -1},
|
||||
fileShow: false,
|
||||
fileInfo: {permission: -1},
|
||||
|
||||
uploadDir: false,
|
||||
uploadIng: 0,
|
||||
@ -499,9 +499,9 @@ export default {
|
||||
this.$store.state.method.setStorage("fileTableMode", val)
|
||||
},
|
||||
|
||||
editShow(val) {
|
||||
fileShow(val) {
|
||||
if (val) {
|
||||
this.$store.dispatch("websocketPath", "file/content/" + this.editInfo.id);
|
||||
this.$store.dispatch("websocketPath", "file/content/" + this.fileInfo.id);
|
||||
} else {
|
||||
this.$store.dispatch("websocketPath", "file");
|
||||
this.getFileList();
|
||||
@ -754,8 +754,8 @@ export default {
|
||||
if (this.$Electron) {
|
||||
this.openSingle(item);
|
||||
} else {
|
||||
this.editInfo = item;
|
||||
this.editShow = true;
|
||||
this.fileInfo = item;
|
||||
this.fileShow = true;
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -1,19 +1,20 @@
|
||||
<template>
|
||||
<div class="electron-file">
|
||||
<div class="single-file">
|
||||
<PageTitle :title="fileInfo.name"/>
|
||||
<Loading v-if="loadIng > 0"/>
|
||||
<template v-else>
|
||||
<FilePreview v-if="code" :code="code" :file="fileInfo"/>
|
||||
<FilePreview v-if="code || fileInfo.permission === 0" :code="code" :file="fileInfo"/>
|
||||
<FileContent v-else v-model="fileShow" :file="fileInfo"/>
|
||||
</template>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.electron-file {
|
||||
.single-file {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.file-content {
|
||||
.file-content,
|
||||
.file-preview {
|
||||
border-radius: 0;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user