no message
@ -6,6 +6,7 @@ APP_URL=http://localhost
|
|||||||
|
|
||||||
APP_PORT=2222
|
APP_PORT=2222
|
||||||
APP_PORT_SSL=2223
|
APP_PORT_SSL=2223
|
||||||
|
APP_PORT_ONLYOFFICE=2224
|
||||||
|
|
||||||
LOG_CHANNEL=stack
|
LOG_CHANNEL=stack
|
||||||
LOG_LEVEL=debug
|
LOG_LEVEL=debug
|
||||||
|
@ -6,6 +6,7 @@ APP_URL=http://localhost
|
|||||||
|
|
||||||
APP_PORT=2222
|
APP_PORT=2222
|
||||||
APP_PORT_SSL=2223
|
APP_PORT_SSL=2223
|
||||||
|
APP_PORT_ONLYOFFICE=2224
|
||||||
|
|
||||||
LOG_CHANNEL=stack
|
LOG_CHANNEL=stack
|
||||||
LOG_LEVEL=debug
|
LOG_LEVEL=debug
|
||||||
|
@ -8,8 +8,10 @@ use App\Models\FileContent;
|
|||||||
use App\Models\FileUser;
|
use App\Models\FileUser;
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use App\Module\Base;
|
use App\Module\Base;
|
||||||
|
use App\Module\Ihttp;
|
||||||
use Arr;
|
use Arr;
|
||||||
use Request;
|
use Request;
|
||||||
|
use Response;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @apiDefine file
|
* @apiDefine file
|
||||||
@ -129,6 +131,9 @@ class FileController extends AbstractController
|
|||||||
'mind',
|
'mind',
|
||||||
'sheet',
|
'sheet',
|
||||||
'flow',
|
'flow',
|
||||||
|
'word',
|
||||||
|
'excel',
|
||||||
|
'ppt',
|
||||||
])) {
|
])) {
|
||||||
return Base::retError('类型错误');
|
return Base::retError('类型错误');
|
||||||
}
|
}
|
||||||
@ -254,30 +259,32 @@ class FileController extends AbstractController
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 文件内容
|
* 获取文件内容
|
||||||
*
|
*
|
||||||
* @apiParam {Number} id 文件ID
|
* @apiParam {Number} id 文件ID
|
||||||
*/
|
*/
|
||||||
public function content()
|
public function content()
|
||||||
{
|
{
|
||||||
$user = User::auth();
|
|
||||||
//
|
|
||||||
$id = intval(Request::input('id'));
|
$id = intval(Request::input('id'));
|
||||||
//
|
//
|
||||||
$file = File::allowFind($id);
|
$file = File::allowFind($id);
|
||||||
//
|
//
|
||||||
|
switch ($file->type) {
|
||||||
|
case "word":
|
||||||
|
return Response::download(resource_path('assets/statics/empty/empty.docx'));
|
||||||
|
|
||||||
|
case "excel":
|
||||||
|
return Response::download(resource_path('assets/statics/empty/empty.xlsx'));
|
||||||
|
|
||||||
|
case "ppt":
|
||||||
|
return Response::download(resource_path('assets/statics/empty/empty.pptx'));
|
||||||
|
|
||||||
|
default:
|
||||||
$content = FileContent::whereFid($file->id)->orderByDesc('id')->first();
|
$content = FileContent::whereFid($file->id)->orderByDesc('id')->first();
|
||||||
if (empty($content)) {
|
return Base::retSuccess('success', [
|
||||||
$content = FileContent::createInstance([
|
'content' => FileContent::formatContent($file->type, $content ? $content->content : [])
|
||||||
'fid' => $file->id,
|
|
||||||
'content' => '{}',
|
|
||||||
'userid' => $user->userid,
|
|
||||||
]);
|
]);
|
||||||
$content->save();
|
|
||||||
}
|
}
|
||||||
//
|
|
||||||
$content->content = $content->formatContent($file->type, $content->content);
|
|
||||||
return Base::retSuccess('success', $content);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -296,6 +303,10 @@ class FileController extends AbstractController
|
|||||||
//
|
//
|
||||||
$file = File::allowFind($id);
|
$file = File::allowFind($id);
|
||||||
//
|
//
|
||||||
|
if (in_array($file->type, ['word', 'excel', 'ppt'])) {
|
||||||
|
return Base::retError($file->type . ' 不支持此方式保存');
|
||||||
|
}
|
||||||
|
//
|
||||||
$text = '';
|
$text = '';
|
||||||
if ($file->type == 'document') {
|
if ($file->type == 'document') {
|
||||||
$data = Base::json2array($content);
|
$data = Base::json2array($content);
|
||||||
@ -333,6 +344,44 @@ class FileController extends AbstractController
|
|||||||
return Base::retSuccess('保存成功', $content);
|
return Base::retSuccess('保存成功', $content);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保存文件内容(office)
|
||||||
|
*
|
||||||
|
* @apiParam {Number} id 文件ID
|
||||||
|
*/
|
||||||
|
public function content__office()
|
||||||
|
{
|
||||||
|
$user = User::auth();
|
||||||
|
//
|
||||||
|
$id = intval(Request::input('id'));
|
||||||
|
$status = intval(Request::input('status'));
|
||||||
|
$key = Request::input('key');
|
||||||
|
$url = Request::input('url');
|
||||||
|
//
|
||||||
|
$file = File::allowFind($id);
|
||||||
|
//
|
||||||
|
if ($status === 2) {
|
||||||
|
$parse = parse_url($url);
|
||||||
|
$url = 'http://10.22.22.6' . $parse['query'] . '?' . $parse['query'];
|
||||||
|
$path = public_path('uploads/office/' . $file->id . '/' . $key);
|
||||||
|
Base::makeDir(dirname($path));
|
||||||
|
$res = Ihttp::download($url, $path);
|
||||||
|
if (Base::isSuccess($res)) {
|
||||||
|
FileContent::createInstance([
|
||||||
|
'fid' => $file->id,
|
||||||
|
'content' => [
|
||||||
|
'from' => $url,
|
||||||
|
'url' => 'uploads/office/' . $file->id . '/' . $key
|
||||||
|
],
|
||||||
|
'text' => '',
|
||||||
|
'size' => filesize($path),
|
||||||
|
'userid' => $user->userid,
|
||||||
|
])->save();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ['error' => 0];
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取共享信息
|
* 获取共享信息
|
||||||
*
|
*
|
||||||
|
@ -35,5 +35,8 @@ class VerifyCsrfToken extends Middleware
|
|||||||
|
|
||||||
// 保存文件内容
|
// 保存文件内容
|
||||||
'api/file/content/save/',
|
'api/file/content/save/',
|
||||||
|
|
||||||
|
// 保存文件内容(office)
|
||||||
|
'api/file/content/office/',
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
@ -79,6 +79,21 @@ services:
|
|||||||
ipv4_address: 10.22.22.5
|
ipv4_address: 10.22.22.5
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
|
office:
|
||||||
|
container_name: "dooteak-office-${DOCKER_ID}"
|
||||||
|
image: "onlyoffice/documentserver"
|
||||||
|
ports:
|
||||||
|
- "${APP_PORT_ONLYOFFICE}:80"
|
||||||
|
volumes:
|
||||||
|
- ./docker/office/data:/var/www/onlyoffice/Data
|
||||||
|
- ./docker/office/logs:/var/log/onlyoffice
|
||||||
|
environment:
|
||||||
|
TZ: "Asia/Shanghai"
|
||||||
|
networks:
|
||||||
|
extnetwork:
|
||||||
|
ipv4_address: 10.22.22.6
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
extnetwork:
|
extnetwork:
|
||||||
name: "dooteak-networks-${DOCKER_ID}"
|
name: "dooteak-networks-${DOCKER_ID}"
|
||||||
|
2
docker/office/.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
data
|
||||||
|
logs
|
129
resources/assets/js/components/OnlyOffice.vue
Normal file
@ -0,0 +1,129 @@
|
|||||||
|
<template>
|
||||||
|
<div class="component-only-office">
|
||||||
|
<div :id="this.id" class="placeholder"></div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.component-only-office {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
.placeholder {
|
||||||
|
flex: 1;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<script>
|
||||||
|
|
||||||
|
import {mapState} from "vuex";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
props: {
|
||||||
|
id: {
|
||||||
|
type: String,
|
||||||
|
default: () => {
|
||||||
|
return "office_" + Math.round(Math.random() * 10000);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
value: {
|
||||||
|
type: [Object, Array],
|
||||||
|
default: function () {
|
||||||
|
return {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
serverUrl: 'http://10.22.22.3/',
|
||||||
|
|
||||||
|
fileName: null,
|
||||||
|
fileType: null,
|
||||||
|
fileUrl: null,
|
||||||
|
|
||||||
|
docEditor: null,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
//
|
||||||
|
},
|
||||||
|
|
||||||
|
computed: {
|
||||||
|
...mapState(['userToken', 'userInfo']),
|
||||||
|
},
|
||||||
|
|
||||||
|
watch: {
|
||||||
|
value: {
|
||||||
|
handler(val) {
|
||||||
|
this.fileUrl = this.serverUrl + 'api/file/content/?id=' + val.id + '&token=' + this.userToken;
|
||||||
|
this.fileType = this.getType(val.type);
|
||||||
|
this.fileName = val.name;
|
||||||
|
},
|
||||||
|
immediate: true,
|
||||||
|
deep: true,
|
||||||
|
},
|
||||||
|
|
||||||
|
fileUrl: {
|
||||||
|
handler(url) {
|
||||||
|
if (!url) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
$A.loadScript("http://127.0.0.1:2224/web-apps/apps/api/documents/api.js", () => {
|
||||||
|
this.loadFile()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
immediate: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
getType(type) {
|
||||||
|
switch (type) {
|
||||||
|
case 'word':
|
||||||
|
return 'docx';
|
||||||
|
case 'excel':
|
||||||
|
return 'xlsx';
|
||||||
|
case 'ppt':
|
||||||
|
return 'pptx'
|
||||||
|
}
|
||||||
|
return '';
|
||||||
|
},
|
||||||
|
|
||||||
|
loadFile() {
|
||||||
|
if (!this.fileUrl) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (this.docEditor !== null) {
|
||||||
|
this.docEditor.destroyEditor();
|
||||||
|
this.docEditor = null;
|
||||||
|
}
|
||||||
|
//
|
||||||
|
const config = {
|
||||||
|
"document": {
|
||||||
|
"fileType": this.fileType,
|
||||||
|
"title": this.fileName + '.' + this.fileType,
|
||||||
|
"url": this.fileUrl,
|
||||||
|
},
|
||||||
|
"editorConfig": {
|
||||||
|
"mode": "edit",
|
||||||
|
"lang": "zh-CN",
|
||||||
|
"user": {
|
||||||
|
"id": this.userInfo.userid,
|
||||||
|
"name": this.userInfo.nickname
|
||||||
|
},
|
||||||
|
"callbackUrl": this.serverUrl + 'api/file/content/office?id=' + this.value.id + '&token=' + this.userToken,
|
||||||
|
}
|
||||||
|
};
|
||||||
|
this.docEditor = new DocsAPI.DocEditor(this.id, config);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
@ -12,7 +12,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<span slot="reference">[{{$L('未保存')}}*]</span>
|
<span slot="reference">[{{$L('未保存')}}*]</span>
|
||||||
</EPopover>
|
</EPopover>
|
||||||
{{file.name}}
|
{{formatName(file.name, file.type)}}
|
||||||
</div>
|
</div>
|
||||||
<div class="header-user">
|
<div class="header-user">
|
||||||
<ul>
|
<ul>
|
||||||
@ -57,8 +57,9 @@
|
|||||||
<Flow v-else-if="file.type=='flow'" ref="myFlow" v-model="contentDetail" @saveData="handleClick('saveBefore')"/>
|
<Flow v-else-if="file.type=='flow'" ref="myFlow" v-model="contentDetail" @saveData="handleClick('saveBefore')"/>
|
||||||
<Minder v-else-if="file.type=='mind'" ref="myMind" v-model="contentDetail" @saveData="handleClick('saveBefore')"/>
|
<Minder v-else-if="file.type=='mind'" ref="myMind" v-model="contentDetail" @saveData="handleClick('saveBefore')"/>
|
||||||
<LuckySheet v-else-if="file.type=='sheet'" ref="mySheet" v-model="contentDetail"/>
|
<LuckySheet v-else-if="file.type=='sheet'" ref="mySheet" v-model="contentDetail"/>
|
||||||
<div v-if="loadContent > 0" class="content-load"><Loading/></div>
|
<OnlyOffice v-else-if="['word', 'excel', 'ppt'].includes(file.type)" v-model="contentDetail"/>
|
||||||
</div>
|
</div>
|
||||||
|
<div v-if="loadContent > 0" class="content-load"><Loading/></div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -72,10 +73,11 @@ const MDEditor = () => import('../../../components/MDEditor/index');
|
|||||||
const TEditor = () => import('../../../components/TEditor');
|
const TEditor = () => import('../../../components/TEditor');
|
||||||
const LuckySheet = () => import('../../../components/LuckySheet');
|
const LuckySheet = () => import('../../../components/LuckySheet');
|
||||||
const Flow = () => import('../../../components/flow');
|
const Flow = () => import('../../../components/flow');
|
||||||
|
const OnlyOffice = () => import('../../../components/OnlyOffice');
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "FileContent",
|
name: "FileContent",
|
||||||
components: {TEditor, MDEditor, LuckySheet, Flow},
|
components: {TEditor, MDEditor, LuckySheet, Flow, OnlyOffice},
|
||||||
props: {
|
props: {
|
||||||
file: {
|
file: {
|
||||||
type: Object,
|
type: Object,
|
||||||
@ -168,6 +170,11 @@ export default {
|
|||||||
this.contentDetail = this.fileContent[this.fileId];
|
this.contentDetail = this.fileContent[this.fileId];
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (['word', 'excel', 'ppt'].includes(this.file.type)) {
|
||||||
|
this.contentDetail = $A.cloneJSON(this.file);
|
||||||
|
this.updateBak();
|
||||||
|
return;
|
||||||
|
}
|
||||||
this.loadIng++;
|
this.loadIng++;
|
||||||
this.loadContent++;
|
this.loadContent++;
|
||||||
this.$store.dispatch("call", {
|
this.$store.dispatch("call", {
|
||||||
@ -255,7 +262,18 @@ export default {
|
|||||||
unsaveSave() {
|
unsaveSave() {
|
||||||
this.handleClick('save');
|
this.handleClick('save');
|
||||||
this.unsaveTip = false;
|
this.unsaveTip = false;
|
||||||
|
},
|
||||||
|
|
||||||
|
formatName(name, type) {
|
||||||
|
if (type == 'word') {
|
||||||
|
name += ".docx";
|
||||||
|
} else if (type == 'excel') {
|
||||||
|
name += ".xlsx";
|
||||||
|
} else if (type == 'ppt') {
|
||||||
|
name += ".pptx";
|
||||||
}
|
}
|
||||||
|
return name;
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
@command="addFile">
|
@command="addFile">
|
||||||
<i class="taskfont"></i>
|
<i class="taskfont"></i>
|
||||||
<EDropdownMenu slot="dropdown" class="page-file-dropdown-menu">
|
<EDropdownMenu slot="dropdown" class="page-file-dropdown-menu">
|
||||||
<EDropdownItem v-for="(type, key) in types" :key="key" :command="type.value">
|
<EDropdownItem v-for="(type, key) in types" :key="key" :divided="!!type.divided" :command="type.value">
|
||||||
<div :class="['file-item ' + type.value]">{{$L('新建' + type.name)}}</div>
|
<div :class="['file-item ' + type.value]">{{$L('新建' + type.name)}}</div>
|
||||||
</EDropdownItem>
|
</EDropdownItem>
|
||||||
</EDropdownMenu>
|
</EDropdownMenu>
|
||||||
@ -98,7 +98,7 @@
|
|||||||
@on-enter="onEnter(item)"/>
|
@on-enter="onEnter(item)"/>
|
||||||
<div v-if="item._load" class="file-load"><Loading/></div>
|
<div v-if="item._load" class="file-load"><Loading/></div>
|
||||||
</div>
|
</div>
|
||||||
<div v-else class="file-name" :title="item.name">{{item.name}}</div>
|
<div v-else class="file-name" :title="item.name">{{formatName(item.name, item.type)}}</div>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
@ -159,10 +159,13 @@ export default {
|
|||||||
|
|
||||||
types: [
|
types: [
|
||||||
{value: 'folder', name: "目录"},
|
{value: 'folder', name: "目录"},
|
||||||
{value: 'document', name: "文本"},
|
{value: 'document', name: "文本", divided: true},
|
||||||
{value: 'mind', name: "脑图"},
|
{value: 'mind', name: "脑图"},
|
||||||
{value: 'sheet', name: "表格"},
|
{value: 'sheet', name: "表格"},
|
||||||
{value: 'flow', name: "流程图"},
|
{value: 'flow', name: "流程图"},
|
||||||
|
{value: 'word', name: " Word 文档", label: "Word", divided: true},
|
||||||
|
{value: 'excel', name: " Excel 工作表", label: "Excel"},
|
||||||
|
{value: 'ppt', name: " PPT 演示文稿", label: "PPT"},
|
||||||
],
|
],
|
||||||
|
|
||||||
tableHeight: 500,
|
tableHeight: 500,
|
||||||
@ -304,7 +307,7 @@ export default {
|
|||||||
}, array),
|
}, array),
|
||||||
]);
|
]);
|
||||||
} else {
|
} else {
|
||||||
// 编辑
|
// 编辑、查看
|
||||||
array.push(h('QuickEdit', {
|
array.push(h('QuickEdit', {
|
||||||
props: {
|
props: {
|
||||||
value: row.name,
|
value: row.name,
|
||||||
@ -328,7 +331,7 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, [
|
}, [
|
||||||
h('AutoTip', row.name)
|
h('AutoTip', this.formatName(row.name, row.type))
|
||||||
]));
|
]));
|
||||||
//
|
//
|
||||||
const iconArray = [];
|
const iconArray = [];
|
||||||
@ -384,7 +387,7 @@ export default {
|
|||||||
render: (h, {row}) => {
|
render: (h, {row}) => {
|
||||||
let type = this.types.find(({value}) => value == row.type);
|
let type = this.types.find(({value}) => value == row.type);
|
||||||
if (type) {
|
if (type) {
|
||||||
return h('AutoTip', type.name);
|
return h('AutoTip', type.label || type.name);
|
||||||
} else {
|
} else {
|
||||||
return h('div', '-')
|
return h('div', '-')
|
||||||
}
|
}
|
||||||
@ -417,6 +420,17 @@ export default {
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
||||||
|
formatName(name, type) {
|
||||||
|
if (type == 'word') {
|
||||||
|
name += ".docx";
|
||||||
|
} else if (type == 'excel') {
|
||||||
|
name += ".xlsx";
|
||||||
|
} else if (type == 'ppt') {
|
||||||
|
name += ".pptx";
|
||||||
|
}
|
||||||
|
return name;
|
||||||
|
},
|
||||||
|
|
||||||
getFileList() {
|
getFileList() {
|
||||||
this.loadIng++;
|
this.loadIng++;
|
||||||
this.$store.dispatch("getFiles", this.pid).then(() => {
|
this.$store.dispatch("getFiles", this.pid).then(() => {
|
||||||
|
@ -171,13 +171,14 @@
|
|||||||
.luckysheet {
|
.luckysheet {
|
||||||
border: 0;
|
border: 0;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.content-load {
|
.content-load {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 42px;
|
||||||
left: 0;
|
left: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
@ -187,7 +188,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
.luckysheet-input-box {
|
.luckysheet-input-box {
|
||||||
z-index: 99999 !important;
|
z-index: 99999 !important;
|
||||||
}
|
}
|
||||||
|
27
resources/assets/sass/pages/page-file.scss
vendored
@ -270,6 +270,15 @@
|
|||||||
&.flow:before {
|
&.flow:before {
|
||||||
background-image: url("../images/file/flow.svg");
|
background-image: url("../images/file/flow.svg");
|
||||||
}
|
}
|
||||||
|
&.word:before {
|
||||||
|
background-image: url("../images/file/word.svg");
|
||||||
|
}
|
||||||
|
&.excel:before {
|
||||||
|
background-image: url("../images/file/excel.svg");
|
||||||
|
}
|
||||||
|
&.ppt:before {
|
||||||
|
background-image: url("../images/file/ppt.svg");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.taskfont {
|
.taskfont {
|
||||||
color: #aaaaaa;
|
color: #aaaaaa;
|
||||||
@ -395,6 +404,15 @@
|
|||||||
&.flow .file-icon {
|
&.flow .file-icon {
|
||||||
background-image: url("../images/file/flow.svg");
|
background-image: url("../images/file/flow.svg");
|
||||||
}
|
}
|
||||||
|
&.word .file-icon {
|
||||||
|
background-image: url("../images/file/word.svg");
|
||||||
|
}
|
||||||
|
&.excel .file-icon {
|
||||||
|
background-image: url("../images/file/excel.svg");
|
||||||
|
}
|
||||||
|
&.ppt .file-icon {
|
||||||
|
background-image: url("../images/file/ppt.svg");
|
||||||
|
}
|
||||||
&:hover {
|
&:hover {
|
||||||
background-color: #f4f5f7;
|
background-color: #f4f5f7;
|
||||||
.file-menu {
|
.file-menu {
|
||||||
@ -436,5 +454,14 @@
|
|||||||
&.flow:before {
|
&.flow:before {
|
||||||
background-image: url("../images/file/flow.svg");
|
background-image: url("../images/file/flow.svg");
|
||||||
}
|
}
|
||||||
|
&.word:before {
|
||||||
|
background-image: url("../images/file/word.svg");
|
||||||
|
}
|
||||||
|
&.excel:before {
|
||||||
|
background-image: url("../images/file/excel.svg");
|
||||||
|
}
|
||||||
|
&.ppt:before {
|
||||||
|
background-image: url("../images/file/ppt.svg");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
BIN
resources/assets/statics/empty/empty.docx
Normal file
BIN
resources/assets/statics/empty/empty.pptx
Normal file
BIN
resources/assets/statics/empty/empty.xlsx
Normal file
@ -1 +1 @@
|
|||||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1625028321516" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10195" xmlns:xlink="http://www.w3.org/1999/xlink" width="1024" height="1024"><defs><style type="text/css"></style></defs><path d="M256 85.333333c-46.933333 0-85.333333 38.4-85.333333 85.333334v682.666666c0 46.933333 38.4 85.333333 85.333333 85.333334h512c46.933333 0 85.333333-38.4 85.333333-85.333334V337.066667L601.6 85.333333H256z" fill="#447AF9" p-id="10196"></path><path d="M686.933333 337.066667H853.333333L601.6 85.333333v166.4c0 46.933333 38.4 85.333333 85.333333 85.333334z" fill="#FFFFFF" opacity=".4" p-id="10197"></path><path d="M486.4 780.8h-170.666667c-4.266667 0-8.533333-4.266667-8.533333-8.533333s4.266667-8.533333 8.533333-8.533334h170.666667c4.266667 0 8.533333 4.266667 8.533333 8.533334s-4.266667 8.533333-8.533333 8.533333zM571.733333 695.466667h-256c-4.266667 0-8.533333-4.266667-8.533333-8.533334s4.266667-8.533333 8.533333-8.533333h256c4.266667 0 8.533333 4.266667 8.533334 8.533333s-4.266667 8.533333-8.533334 8.533334zM571.733333 610.133333h-256c-4.266667 0-8.533333-4.266667-8.533333-8.533333s4.266667-8.533333 8.533333-8.533333h256c4.266667 0 8.533333 4.266667 8.533334 8.533333s-4.266667 8.533333-8.533334 8.533333zM571.733333 524.8h-256c-4.266667 0-8.533333-4.266667-8.533333-8.533333s4.266667-8.533333 8.533333-8.533334h256c4.266667 0 8.533333 4.266667 8.533334 8.533334s-4.266667 8.533333-8.533334 8.533333z" fill="#FFFFFF" p-id="10198"></path></svg>
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1625028321516" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10195" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M256 85.333333c-46.933333 0-85.333333 38.4-85.333333 85.333334v682.666666c0 46.933333 38.4 85.333333 85.333333 85.333334h512c46.933333 0 85.333333-38.4 85.333333-85.333334V337.066667L601.6 85.333333H256z" fill="#447AF9" p-id="10196"></path><path d="M686.933333 337.066667H853.333333L601.6 85.333333v166.4c0 46.933333 38.4 85.333333 85.333333 85.333334z" fill="#FFFFFF" opacity=".4" p-id="10197"></path><path d="M486.4 780.8h-170.666667c-4.266667 0-8.533333-4.266667-8.533333-8.533333s4.266667-8.533333 8.533333-8.533334h170.666667c4.266667 0 8.533333 4.266667 8.533333 8.533334s-4.266667 8.533333-8.533333 8.533333zM571.733333 695.466667h-256c-4.266667 0-8.533333-4.266667-8.533333-8.533334s4.266667-8.533333 8.533333-8.533333h256c4.266667 0 8.533333 4.266667 8.533334 8.533333s-4.266667 8.533333-8.533334 8.533334zM571.733333 610.133333h-256c-4.266667 0-8.533333-4.266667-8.533333-8.533333s4.266667-8.533333 8.533333-8.533333h256c4.266667 0 8.533333 4.266667 8.533334 8.533333s-4.266667 8.533333-8.533334 8.533333zM571.733333 524.8h-256c-4.266667 0-8.533333-4.266667-8.533333-8.533333s4.266667-8.533333 8.533333-8.533334h256c4.266667 0 8.533333 4.266667 8.533334 8.533334s-4.266667 8.533333-8.533334 8.533333z" fill="#FFFFFF" p-id="10198"></path></svg>
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
1
resources/assets/statics/public/images/file/excel.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg t="1625905714964" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5142"><path d="M208.50324948 98.14070655a39.70462592 39.70462592 0 0 0-28.9701507 12.41577865C171.94621747 118.83367123 167.11812845 129.18015316 167.11812845 139.52663591v744.94672818a39.70462592 39.70462592 0 0 0 12.41577864 28.97015071 40.85728849 40.85728849 0 0 0 28.97015071 12.41577865h606.99255288a39.70462592 39.70462592 0 0 0 28.97014989-12.41577865 40.85809681 40.85809681 0 0 0 12.41577946-28.97015071V332.661512L622.36254291 98.14070655z" fill="#00B632" p-id="5143"></path><path d="M856.88254003 332.66070368H663.74847227a42.43108545 42.43108545 0 0 1-41.38592936-41.38592935V98.14070655z" fill="#7FDA98" p-id="5144"></path><path d="M470.5979835 562.96619147L347.70913646 395.26361736h84.93973992l80.40136879 120.04282628L597.13826555 395.26361736h82.2319775L553.70711404 562.96619147l131.93558998 178.4253654H599.85450603l-88.63487023-127.20352768L422.81106469 742.21197275H338.69434864z" fill="#FFFFFF" p-id="5145"></path></svg>
|
After Width: | Height: | Size: 1.0 KiB |
@ -1 +1 @@
|
|||||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1625028302681" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="9763" xmlns:xlink="http://www.w3.org/1999/xlink" width="1024" height="1024"><defs><style type="text/css"></style></defs><path d="M256 85.333333c-46.933333 0-85.333333 38.4-85.333333 85.333334v682.666666c0 46.933333 38.4 85.333333 85.333333 85.333334h512c46.933333 0 85.333333-38.4 85.333333-85.333334V337.066667L601.6 85.333333H256z" fill="#434343" p-id="9764"></path><path d="M686.933333 337.066667H853.333333L601.6 85.333333v166.4c0 46.933333 38.4 85.333333 85.333333 85.333334z" fill="#FFFFFF" opacity=".4" p-id="9765"></path><path d="M469.333333 682.666667h102.4c4.266667 0 8.533333-4.266667 8.533334-8.533334v-42.666666c0-4.266667-4.266667-8.533333-8.533334-8.533334H469.333333c-4.266667 0-8.533333 4.266667-8.533333 8.533334v8.533333H405.333333l-38.4-38.4v-38.4c12.8-4.266667 21.333333-17.066667 21.333334-29.866667 0-17.066667-12.8-34.133333-34.133334-34.133333s-34.133333 12.8-34.133333 34.133333c0 12.8 8.533333 25.6 21.333333 29.866667v38.4l-38.4 38.4c-4.266667 4.266667-4.266667 12.8 0 17.066667l38.4 38.4v51.2c0 4.266667 4.266667 8.533333 8.533334 8.533333h102.4v8.533333c0 4.266667 4.266667 8.533333 8.533333 8.533334h102.4c4.266667 0 8.533333-4.266667 8.533333-8.533334v-42.666666c0-4.266667-4.266667-8.533333-8.533333-8.533334H469.333333c-4.266667 0-8.533333 4.266667-8.533333 8.533334v8.533333H366.933333v-42.666667l38.4-38.4h55.466667v8.533334c0 21.333333 4.266667 25.6 8.533333 25.6z m12.8 55.466666h81.066667v21.333334h-81.066667v-21.333334z m-123.733333-59.733333l-25.6-25.6 25.6-25.6 25.6 21.333333-25.6 29.866667z m123.733333-38.4h81.066667v21.333333h-81.066667V640z" fill="#FFFFFF" p-id="9766"></path></svg>
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1625028302681" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="9763" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M256 85.333333c-46.933333 0-85.333333 38.4-85.333333 85.333334v682.666666c0 46.933333 38.4 85.333333 85.333333 85.333334h512c46.933333 0 85.333333-38.4 85.333333-85.333334V337.066667L601.6 85.333333H256z" fill="#434343" p-id="9764"></path><path d="M686.933333 337.066667H853.333333L601.6 85.333333v166.4c0 46.933333 38.4 85.333333 85.333333 85.333334z" fill="#FFFFFF" opacity=".4" p-id="9765"></path><path d="M469.333333 682.666667h102.4c4.266667 0 8.533333-4.266667 8.533334-8.533334v-42.666666c0-4.266667-4.266667-8.533333-8.533334-8.533334H469.333333c-4.266667 0-8.533333 4.266667-8.533333 8.533334v8.533333H405.333333l-38.4-38.4v-38.4c12.8-4.266667 21.333333-17.066667 21.333334-29.866667 0-17.066667-12.8-34.133333-34.133334-34.133333s-34.133333 12.8-34.133333 34.133333c0 12.8 8.533333 25.6 21.333333 29.866667v38.4l-38.4 38.4c-4.266667 4.266667-4.266667 12.8 0 17.066667l38.4 38.4v51.2c0 4.266667 4.266667 8.533333 8.533334 8.533333h102.4v8.533333c0 4.266667 4.266667 8.533333 8.533333 8.533334h102.4c4.266667 0 8.533333-4.266667 8.533333-8.533334v-42.666666c0-4.266667-4.266667-8.533333-8.533333-8.533334H469.333333c-4.266667 0-8.533333 4.266667-8.533333 8.533334v8.533333H366.933333v-42.666667l38.4-38.4h55.466667v8.533334c0 21.333333 4.266667 25.6 8.533333 25.6z m12.8 55.466666h81.066667v21.333334h-81.066667v-21.333334z m-123.733333-59.733333l-25.6-25.6 25.6-25.6 25.6 21.333333-25.6 29.866667z m123.733333-38.4h81.066667v21.333333h-81.066667V640z" fill="#FFFFFF" p-id="9766"></path></svg>
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
@ -1 +1 @@
|
|||||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1625032843298" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4865" xmlns:xlink="http://www.w3.org/1999/xlink" width="1024" height="1024"><defs><style type="text/css"></style></defs><path d="M520.533333 230.4l34.133334 72.533333c12.8 29.866667 42.666667 46.933333 76.8 46.933334h174.933333c21.333333 0 38.4 4.266667 55.466667 12.8V294.4c0-34.133333-29.866667-64-64-64h-277.333334z" fill="#F9B552" p-id="4866"></path><path d="M844.8 349.866667h-209.066667c-34.133333 0-64-17.066667-76.8-46.933334L512 213.333333c-12.8-29.866667-42.666667-46.933333-76.8-46.933333h-256c-46.933333 0-85.333333 38.4-85.333333 85.333333v529.066667c0 46.933333 38.4 85.333333 85.333333 85.333333h661.333333c46.933333 0 85.333333-38.4 85.333334-85.333333v-341.333333c4.266667-51.2-34.133333-89.6-81.066667-89.6z" fill="#FFCF5C" p-id="4867"></path></svg>
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1625032843298" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4865" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M520.533333 230.4l34.133334 72.533333c12.8 29.866667 42.666667 46.933333 76.8 46.933334h174.933333c21.333333 0 38.4 4.266667 55.466667 12.8V294.4c0-34.133333-29.866667-64-64-64h-277.333334z" fill="#F9B552" p-id="4866"></path><path d="M844.8 349.866667h-209.066667c-34.133333 0-64-17.066667-76.8-46.933334L512 213.333333c-12.8-29.866667-42.666667-46.933333-76.8-46.933333h-256c-46.933333 0-85.333333 38.4-85.333333 85.333333v529.066667c0 46.933333 38.4 85.333333 85.333333 85.333333h661.333333c46.933333 0 85.333333-38.4 85.333334-85.333333v-341.333333c4.266667-51.2-34.133333-89.6-81.066667-89.6z" fill="#FFCF5C" p-id="4867"></path></svg>
|
Before Width: | Height: | Size: 1017 B After Width: | Height: | Size: 990 B |
@ -1 +1 @@
|
|||||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1625028315575" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10051" xmlns:xlink="http://www.w3.org/1999/xlink" width="1024" height="1024"><defs><style type="text/css"></style></defs><path d="M256 85.333333c-46.933333 0-85.333333 38.4-85.333333 85.333334v682.666666c0 46.933333 38.4 85.333333 85.333333 85.333334h512c46.933333 0 85.333333-38.4 85.333333-85.333334V337.066667L601.6 85.333333H256z" fill="#925DF1" p-id="10052"></path><path d="M686.933333 337.066667H853.333333L601.6 85.333333v166.4c0 46.933333 38.4 85.333333 85.333333 85.333334z" fill="#FFFFFF" opacity=".4" p-id="10053"></path><path d="M541.866667 610.133333c-17.066667 0-29.866667 12.8-34.133334 29.866667h-29.866666c0-12.8-8.533333-21.333333-12.8-29.866667l17.066666-29.866666c17.066667-4.266667 29.866667-17.066667 29.866667-38.4s-17.066667-38.4-38.4-38.4-38.4 17.066667-38.4 38.4c0 17.066667 8.533333 29.866667 21.333333 34.133333l-12.8 21.333333c-4.266667 0-8.533333-4.266667-12.8-4.266666-12.8 0-21.333333 4.266667-29.866666 12.8l-29.866667-38.4c4.266667-8.533333 8.533333-12.8 8.533333-21.333334 0-21.333333-17.066667-38.4-38.4-38.4s-38.4 17.066667-38.4 38.4 17.066667 38.4 38.4 38.4c4.266667 0 8.533333 0 12.8-4.266666l34.133334 42.666666c0 8.533333-4.266667 12.8-4.266667 21.333334s4.266667 17.066667 8.533333 25.6l-34.133333 29.866666c-4.266667-4.266667-8.533333-4.266667-17.066667-4.266666-21.333333 0-38.4 17.066667-38.4 38.4s17.066667 38.4 38.4 38.4 38.4-17.066667 38.4-38.4c0-8.533333-4.266667-12.8-4.266666-21.333334l34.133333-29.866666c8.533333 4.266667 12.8 4.266667 21.333333 4.266666 4.266667 0 8.533333 0 12.8-4.266666l17.066667 25.6c-8.533333 8.533333-12.8 17.066667-12.8 29.866666 0 21.333333 17.066667 38.4 38.4 38.4s38.4-17.066667 38.4-38.4-17.066667-38.4-38.4-38.4h-4.266667l-21.333333-29.866666c4.266667-4.266667 8.533333-12.8 12.8-17.066667h29.866667c4.266667 17.066667 17.066667 25.6 34.133333 25.6 21.333333 0 38.4-17.066667 38.4-38.4s-12.8-29.866667-34.133333-29.866667z m-68.266667-85.333333c8.533333 0 17.066667 8.533333 17.066667 17.066667s-8.533333 17.066667-17.066667 17.066666-17.066667-8.533333-17.066667-17.066666 8.533333-17.066667 17.066667-17.066667z m-149.333333 17.066667c0-8.533333 8.533333-17.066667 17.066666-17.066667s17.066667 8.533333 17.066667 17.066667-4.266667 17.066667-17.066667 17.066666-17.066667-4.266667-17.066666-17.066666z m179.2 200.533333c0 8.533333-8.533333 17.066667-17.066667 17.066667s-17.066667-8.533333-17.066667-17.066667 8.533333-17.066667 17.066667-17.066667 17.066667 8.533333 17.066667 17.066667z m-162.133334 8.533333c-8.533333 0-17.066667-8.533333-17.066666-17.066666s8.533333-17.066667 17.066666-17.066667 17.066667 8.533333 17.066667 17.066667-4.266667 17.066667-17.066667 17.066666z m64-106.666666c0-12.8 12.8-25.6 25.6-25.6s25.6 12.8 25.6 25.6-12.8 25.6-25.6 25.6-25.6-12.8-25.6-25.6z m136.533334 21.333333c-8.533333 0-17.066667-8.533333-17.066667-17.066667s8.533333-17.066667 17.066667-17.066666 17.066667 8.533333 17.066666 17.066666-4.266667 17.066667-17.066666 17.066667z" fill="#FFFFFF" p-id="10054"></path></svg>
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1625028315575" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10051" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M256 85.333333c-46.933333 0-85.333333 38.4-85.333333 85.333334v682.666666c0 46.933333 38.4 85.333333 85.333333 85.333334h512c46.933333 0 85.333333-38.4 85.333333-85.333334V337.066667L601.6 85.333333H256z" fill="#925DF1" p-id="10052"></path><path d="M686.933333 337.066667H853.333333L601.6 85.333333v166.4c0 46.933333 38.4 85.333333 85.333333 85.333334z" fill="#FFFFFF" opacity=".4" p-id="10053"></path><path d="M541.866667 610.133333c-17.066667 0-29.866667 12.8-34.133334 29.866667h-29.866666c0-12.8-8.533333-21.333333-12.8-29.866667l17.066666-29.866666c17.066667-4.266667 29.866667-17.066667 29.866667-38.4s-17.066667-38.4-38.4-38.4-38.4 17.066667-38.4 38.4c0 17.066667 8.533333 29.866667 21.333333 34.133333l-12.8 21.333333c-4.266667 0-8.533333-4.266667-12.8-4.266666-12.8 0-21.333333 4.266667-29.866666 12.8l-29.866667-38.4c4.266667-8.533333 8.533333-12.8 8.533333-21.333334 0-21.333333-17.066667-38.4-38.4-38.4s-38.4 17.066667-38.4 38.4 17.066667 38.4 38.4 38.4c4.266667 0 8.533333 0 12.8-4.266666l34.133334 42.666666c0 8.533333-4.266667 12.8-4.266667 21.333334s4.266667 17.066667 8.533333 25.6l-34.133333 29.866666c-4.266667-4.266667-8.533333-4.266667-17.066667-4.266666-21.333333 0-38.4 17.066667-38.4 38.4s17.066667 38.4 38.4 38.4 38.4-17.066667 38.4-38.4c0-8.533333-4.266667-12.8-4.266666-21.333334l34.133333-29.866666c8.533333 4.266667 12.8 4.266667 21.333333 4.266666 4.266667 0 8.533333 0 12.8-4.266666l17.066667 25.6c-8.533333 8.533333-12.8 17.066667-12.8 29.866666 0 21.333333 17.066667 38.4 38.4 38.4s38.4-17.066667 38.4-38.4-17.066667-38.4-38.4-38.4h-4.266667l-21.333333-29.866666c4.266667-4.266667 8.533333-12.8 12.8-17.066667h29.866667c4.266667 17.066667 17.066667 25.6 34.133333 25.6 21.333333 0 38.4-17.066667 38.4-38.4s-12.8-29.866667-34.133333-29.866667z m-68.266667-85.333333c8.533333 0 17.066667 8.533333 17.066667 17.066667s-8.533333 17.066667-17.066667 17.066666-17.066667-8.533333-17.066667-17.066666 8.533333-17.066667 17.066667-17.066667z m-149.333333 17.066667c0-8.533333 8.533333-17.066667 17.066666-17.066667s17.066667 8.533333 17.066667 17.066667-4.266667 17.066667-17.066667 17.066666-17.066667-4.266667-17.066666-17.066666z m179.2 200.533333c0 8.533333-8.533333 17.066667-17.066667 17.066667s-17.066667-8.533333-17.066667-17.066667 8.533333-17.066667 17.066667-17.066667 17.066667 8.533333 17.066667 17.066667z m-162.133334 8.533333c-8.533333 0-17.066667-8.533333-17.066666-17.066666s8.533333-17.066667 17.066666-17.066667 17.066667 8.533333 17.066667 17.066667-4.266667 17.066667-17.066667 17.066666z m64-106.666666c0-12.8 12.8-25.6 25.6-25.6s25.6 12.8 25.6 25.6-12.8 25.6-25.6 25.6-25.6-12.8-25.6-25.6z m136.533334 21.333333c-8.533333 0-17.066667-8.533333-17.066667-17.066667s8.533333-17.066667 17.066667-17.066666 17.066667 8.533333 17.066666 17.066666-4.266667 17.066667-17.066666 17.066667z" fill="#FFFFFF" p-id="10054"></path></svg>
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.1 KiB |
1
resources/assets/statics/public/images/file/ppt.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1625904723976" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5142" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M208.50324948 98.14070655a39.70462592 39.70462592 0 0 0-28.9701507 12.41577865C171.94621747 118.83367123 167.11812845 129.18015316 167.11812845 139.52663591v744.94672818a39.70462592 39.70462592 0 0 0 12.41577864 28.97015071 40.85728849 40.85728849 0 0 0 28.97015071 12.41577865h606.99255288a39.70462592 39.70462592 0 0 0 28.97014989-12.41577865 40.85809681 40.85809681 0 0 0 12.41577946-28.97015071V332.661512L622.36254291 98.14070655z" fill="#EB734C" p-id="5143"></path><path d="M856.88254003 332.66070368H663.74847227a42.43108545 42.43108545 0 0 1-41.38592936-41.38592935V98.14070655z" fill="#FCB7A0" p-id="5144"></path><path d="M374.04696685 390.75215998h158.92196856c91.27294918 0 136.90901921 38.65704486 136.90901919 116.5070495 0 78.38753699-46.17360239 117.58049677-137.98004153 117.58049678H432.56844906v149.25851564h-58.52229052V390.75215998z m58.52229052 49.93147741v134.22459147h95.56754742c28.99278365 0 49.93147739-5.36885465 63.35442113-16.10737066 12.88541218-10.73770849 19.86524647-27.91852724 19.86524649-51.54245704s-6.97983429-40.80393942-20.40196971-50.46820064q-20.13360768-16.10656316-62.81688959-16.10737146H432.56925737z" fill="#FFFFFF" p-id="5145"></path></svg>
|
After Width: | Height: | Size: 1.5 KiB |
@ -1 +1 @@
|
|||||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1625028309807" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="9907" xmlns:xlink="http://www.w3.org/1999/xlink" width="1024" height="1024"><defs><style type="text/css"></style></defs><path d="M256 85.333333c-46.933333 0-85.333333 38.4-85.333333 85.333334v682.666666c0 46.933333 38.4 85.333333 85.333333 85.333334h512c46.933333 0 85.333333-38.4 85.333333-85.333334V337.066667L601.6 85.333333H256z" fill="#009F4E" p-id="9908"></path><path d="M686.933333 337.066667H853.333333L601.6 85.333333v166.4c0 46.933333 38.4 85.333333 85.333333 85.333334z" fill="#FFFFFF" opacity=".4" p-id="9909"></path><path d="M550.4 503.466667h-213.333333c-17.066667 0-34.133333 12.8-34.133334 34.133333v213.333333c0 17.066667 12.8 34.133333 34.133334 34.133334h213.333333c17.066667 0 34.133333-12.8 34.133333-34.133334v-213.333333c-4.266667-21.333333-17.066667-34.133333-34.133333-34.133333z m-140.8 170.666666v-64h64v64H409.6z m64 21.333334v64H409.6v-64h64z m-149.333333-85.333334h64v64H324.266667v-64z m170.666666 0h64v64h-64v-64z m-157.866666-85.333333h213.333333c4.266667 0 8.533333 4.266667 8.533333 8.533333v51.2H324.266667v-51.2c0-4.266667 8.533333-8.533333 12.8-8.533333z m-12.8 226.133333v-51.2h64v64H337.066667c-4.266667-4.266667-12.8-8.533333-12.8-12.8z m226.133333 8.533334h-51.2v-64h64v51.2c-4.266667 8.533333-8.533333 12.8-12.8 12.8z" fill="#FFFFFF" p-id="9910"></path></svg>
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1625028309807" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="9907" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M256 85.333333c-46.933333 0-85.333333 38.4-85.333333 85.333334v682.666666c0 46.933333 38.4 85.333333 85.333333 85.333334h512c46.933333 0 85.333333-38.4 85.333333-85.333334V337.066667L601.6 85.333333H256z" fill="#009F4E" p-id="9908"></path><path d="M686.933333 337.066667H853.333333L601.6 85.333333v166.4c0 46.933333 38.4 85.333333 85.333333 85.333334z" fill="#FFFFFF" opacity=".4" p-id="9909"></path><path d="M550.4 503.466667h-213.333333c-17.066667 0-34.133333 12.8-34.133334 34.133333v213.333333c0 17.066667 12.8 34.133333 34.133334 34.133334h213.333333c17.066667 0 34.133333-12.8 34.133333-34.133334v-213.333333c-4.266667-21.333333-17.066667-34.133333-34.133333-34.133333z m-140.8 170.666666v-64h64v64H409.6z m64 21.333334v64H409.6v-64h64z m-149.333333-85.333334h64v64H324.266667v-64z m170.666666 0h64v64h-64v-64z m-157.866666-85.333333h213.333333c4.266667 0 8.533333 4.266667 8.533333 8.533333v51.2H324.266667v-51.2c0-4.266667 8.533333-8.533333 12.8-8.533333z m-12.8 226.133333v-51.2h64v64H337.066667c-4.266667-4.266667-12.8-8.533333-12.8-12.8z m226.133333 8.533334h-51.2v-64h64v51.2c-4.266667 8.533333-8.533333 12.8-12.8 12.8z" fill="#FFFFFF" p-id="9910"></path></svg>
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
1
resources/assets/statics/public/images/file/word.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1625904736194" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5418" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M208.50324948 98.14070655a39.70462592 39.70462592 0 0 0-28.9701507 12.41577865C171.94621747 118.83367123 167.11812845 129.18015316 167.11812845 139.52663591v744.94672818a39.70462592 39.70462592 0 0 0 12.41577864 28.97015071 40.85728849 40.85728849 0 0 0 28.97015071 12.41577865h606.99255288a39.70462592 39.70462592 0 0 0 28.97014989-12.41577865 40.85809681 40.85809681 0 0 0 12.41577946-28.97015071V332.661512L622.36254291 98.14070655z" fill="#2F97FE" p-id="5419"></path><path d="M856.88254003 332.66070368H663.74847227a42.43108545 42.43108545 0 0 1-41.38592936-41.38592935V98.14070655z" fill="#97C6FF" p-id="5420"></path><path d="M293.81888752 435.20970121h71.63564876l58.5837236 217.26723794L482.05050089 435.20970121h59.71456156l58.01870757 217.26723794 58.58129785-217.26400465h71.63564875l-98.97703599 294.03409547h-60.32484266l-58.57887287-214.95463713-59.14712138 214.95463713h-60.27715101z m0 0" fill="#FFFFFF" p-id="5421"></path></svg>
|
After Width: | Height: | Size: 1.3 KiB |