|
|
@ -12,123 +12,59 @@ |
|
|
<fileCategory @on-select="selectCategory" /> |
|
|
<fileCategory @on-select="selectCategory" /> |
|
|
</Col> |
|
|
</Col> |
|
|
<div class="expand"> |
|
|
<div class="expand"> |
|
|
<Icon |
|
|
<Icon :type="expandIcon" size="16" class="icon" @click="changeExpand" /> |
|
|
:type="expandIcon" |
|
|
|
|
|
size="16" |
|
|
|
|
|
class="icon" |
|
|
|
|
|
@click="changeExpand" |
|
|
|
|
|
/> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
<Col :span="span"> |
|
|
<Col :span="span"> |
|
|
<Row v-show="openSearch" @keydown.enter.native="handleSearch"> |
|
|
<Row v-show="openSearch" @keydown.enter.native="handleSearch"> |
|
|
<Form ref="searchForm" :model="searchForm" inline :label-width="70"> |
|
|
<Form ref="searchForm" :model="searchForm" inline :label-width="70"> |
|
|
<FormItem label="文件名" prop="title"> |
|
|
<FormItem label="文件名" prop="title"> |
|
|
<Input |
|
|
<Input type="text" v-model="searchForm.title" placeholder="请输入文件名" clearable |
|
|
type="text" |
|
|
style="width: 200px" /> |
|
|
v-model="searchForm.title" |
|
|
|
|
|
placeholder="请输入文件名" |
|
|
|
|
|
clearable |
|
|
|
|
|
style="width: 200px" |
|
|
|
|
|
/> |
|
|
|
|
|
</FormItem> |
|
|
</FormItem> |
|
|
<FormItem label="创建时间"> |
|
|
<FormItem label="创建时间"> |
|
|
<DatePicker |
|
|
<DatePicker :options="options" v-model="selectDate" type="daterange" format="yyyy-MM-dd" |
|
|
:options="options" |
|
|
clearable @on-change="selectDateRange" placeholder="选择起始时间" style="width: 200px"> |
|
|
v-model="selectDate" |
|
|
</DatePicker> |
|
|
type="daterange" |
|
|
|
|
|
format="yyyy-MM-dd" |
|
|
|
|
|
clearable |
|
|
|
|
|
@on-change="selectDateRange" |
|
|
|
|
|
placeholder="选择起始时间" |
|
|
|
|
|
style="width: 200px" |
|
|
|
|
|
></DatePicker> |
|
|
|
|
|
</FormItem> |
|
|
</FormItem> |
|
|
<FormItem style="margin-left: -35px" class="br"> |
|
|
<FormItem style="margin-left: -35px" class="br"> |
|
|
<Button @click="handleSearch" type="primary" icon="ios-search" |
|
|
<Button @click="handleSearch" type="primary" icon="ios-search">搜索</Button> |
|
|
>搜索</Button |
|
|
|
|
|
> |
|
|
|
|
|
<Button @click="handleReset">重置</Button> |
|
|
<Button @click="handleReset">重置</Button> |
|
|
</FormItem> |
|
|
</FormItem> |
|
|
</Form> |
|
|
</Form> |
|
|
</Row> |
|
|
</Row> |
|
|
<Row class="operation" align="middle" justify="space-between"> |
|
|
<Row class="operation" align="middle" justify="space-between"> |
|
|
<div class="br"> |
|
|
<div class="br"> |
|
|
<Button |
|
|
<Button :disabled="!searchForm.categoryId" @click="uploadVisible = true" type="primary" |
|
|
:disabled="!searchForm.categoryId" |
|
|
icon="md-cloud-upload">上传文件</Button> |
|
|
@click="uploadVisible = true" |
|
|
|
|
|
type="primary" |
|
|
|
|
|
icon="md-cloud-upload" |
|
|
|
|
|
>上传文件</Button |
|
|
|
|
|
> |
|
|
|
|
|
<Dropdown @on-click="handleDropdown"> |
|
|
<Dropdown @on-click="handleDropdown"> |
|
|
<Button> |
|
|
<Button> |
|
|
更多操作 |
|
|
更多操作 |
|
|
<Icon type="md-arrow-dropdown" /> |
|
|
<Icon type="md-arrow-dropdown" /> |
|
|
</Button> |
|
|
</Button> |
|
|
<DropdownMenu slot="list"> |
|
|
<DropdownMenu slot="list"> |
|
|
<DropdownItem v-show="showType == 'list'" name="moveAll" |
|
|
<DropdownItem v-show="showType == 'list'" name="moveAll">移动</DropdownItem> |
|
|
>移动</DropdownItem |
|
|
<DropdownItem v-show="showType == 'list'" name="removeAll">批量删除</DropdownItem> |
|
|
> |
|
|
<DropdownItem v-show="showType == 'thumb'" name="title">原名称排序</DropdownItem> |
|
|
<DropdownItem v-show="showType == 'list'" name="removeAll" |
|
|
<DropdownItem v-show="showType == 'thumb'" name="size">文件大小排序</DropdownItem> |
|
|
>批量删除</DropdownItem |
|
|
<DropdownItem v-show="showType == 'thumb'" name="type">文件类型排序</DropdownItem> |
|
|
> |
|
|
<DropdownItem v-show="showType == 'thumb'" name="time">创建时间排序</DropdownItem> |
|
|
<DropdownItem v-show="showType == 'thumb'" name="title" |
|
|
|
|
|
>原名称排序</DropdownItem |
|
|
|
|
|
> |
|
|
|
|
|
<DropdownItem v-show="showType == 'thumb'" name="size" |
|
|
|
|
|
>文件大小排序</DropdownItem |
|
|
|
|
|
> |
|
|
|
|
|
<DropdownItem v-show="showType == 'thumb'" name="type" |
|
|
|
|
|
>文件类型排序</DropdownItem |
|
|
|
|
|
> |
|
|
|
|
|
<DropdownItem v-show="showType == 'thumb'" name="time" |
|
|
|
|
|
>创建时间排序</DropdownItem |
|
|
|
|
|
> |
|
|
|
|
|
</DropdownMenu> |
|
|
</DropdownMenu> |
|
|
</Dropdown> |
|
|
</Dropdown> |
|
|
<Button @click="showTrash = true" type="dashed" icon="md-trash" |
|
|
<Button @click="showTrash = true" type="dashed" icon="md-trash">回收站</Button> |
|
|
>回收站</Button |
|
|
|
|
|
> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="icons"> |
|
|
<div class="icons"> |
|
|
<Tooltip content="刷新" placement="top" transfer> |
|
|
<Tooltip content="刷新" placement="top" transfer> |
|
|
<Icon |
|
|
<Icon type="md-refresh" size="18" class="item" @click="getDataList" /> |
|
|
type="md-refresh" |
|
|
|
|
|
size="18" |
|
|
|
|
|
class="item" |
|
|
|
|
|
@click="getDataList" |
|
|
|
|
|
/> |
|
|
|
|
|
</Tooltip> |
|
|
</Tooltip> |
|
|
<Tooltip |
|
|
<Tooltip :content="openSearch ? '关闭搜索' : '开启搜索'" placement="top" transfer> |
|
|
:content="openSearch ? '关闭搜索' : '开启搜索'" |
|
|
<Icon type="ios-search" size="18" class="item tip" @click="openSearch = !openSearch" /> |
|
|
placement="top" |
|
|
|
|
|
transfer |
|
|
|
|
|
> |
|
|
|
|
|
<Icon |
|
|
|
|
|
type="ios-search" |
|
|
|
|
|
size="18" |
|
|
|
|
|
class="item tip" |
|
|
|
|
|
@click="openSearch = !openSearch" |
|
|
|
|
|
/> |
|
|
|
|
|
</Tooltip> |
|
|
</Tooltip> |
|
|
<Tooltip |
|
|
<Tooltip :content="openTip ? '关闭提示' : '开启提示'" placement="top" transfer> |
|
|
:content="openTip ? '关闭提示' : '开启提示'" |
|
|
<Icon type="md-bulb" size="18" class="item tip" @click="openTip = !openTip" /> |
|
|
placement="top" |
|
|
|
|
|
transfer |
|
|
|
|
|
> |
|
|
|
|
|
<Icon |
|
|
|
|
|
type="md-bulb" |
|
|
|
|
|
size="18" |
|
|
|
|
|
class="item tip" |
|
|
|
|
|
@click="openTip = !openTip" |
|
|
|
|
|
/> |
|
|
|
|
|
</Tooltip> |
|
|
</Tooltip> |
|
|
<Select |
|
|
<Select v-model="fileType" style="width: 150px; margin: 0 25px 0 15px" |
|
|
v-model="fileType" |
|
|
@on-change="changeFileType"> |
|
|
style="width: 150px; margin: 0 25px 0 15px" |
|
|
|
|
|
@on-change="changeFileType" |
|
|
|
|
|
> |
|
|
|
|
|
<Option value="all">所有文件</Option> |
|
|
<Option value="all">所有文件</Option> |
|
|
<Option value="word">Word</Option> |
|
|
<Option value="word">Word</Option> |
|
|
<Option value="excel">Excel</Option> |
|
|
<Option value="excel">Excel</Option> |
|
|
@ -141,11 +77,7 @@ |
|
|
<Option value="zip">ZIP</Option> |
|
|
<Option value="zip">ZIP</Option> |
|
|
<Option value="rar">RAR</Option> |
|
|
<Option value="rar">RAR</Option> |
|
|
</Select> |
|
|
</Select> |
|
|
<RadioGroup |
|
|
<RadioGroup v-model="showType" type="button" @on-change="changeShowType"> |
|
|
v-model="showType" |
|
|
|
|
|
type="button" |
|
|
|
|
|
@on-change="changeShowType" |
|
|
|
|
|
> |
|
|
|
|
|
<Radio title="列表" label="list"> |
|
|
<Radio title="列表" label="list"> |
|
|
<Icon type="md-list"></Icon> |
|
|
<Icon type="md-list"></Icon> |
|
|
</Radio> |
|
|
</Radio> |
|
|
@ -161,20 +93,10 @@ |
|
|
已选择 |
|
|
已选择 |
|
|
<span class="select-count">{{ selectList.length }}</span> 项 |
|
|
<span class="select-count">{{ selectList.length }}</span> 项 |
|
|
<a class="select-clear" @click="clearSelectAll">清空</a> |
|
|
<a class="select-clear" @click="clearSelectAll">清空</a> |
|
|
<span v-if="selectList.length > 0" style="margin-left: 15px" |
|
|
<span v-if="selectList.length > 0" style="margin-left: 15px">共计 {{ totalSize }} 存储量</span> |
|
|
>共计 {{ totalSize }} 存储量</span |
|
|
|
|
|
> |
|
|
|
|
|
</Alert> |
|
|
</Alert> |
|
|
<Table |
|
|
<Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" |
|
|
:loading="loading" |
|
|
@on-sort-change="changeSort" @on-selection-change="changeSelect"></Table> |
|
|
border |
|
|
|
|
|
:columns="columns" |
|
|
|
|
|
:data="data" |
|
|
|
|
|
ref="table" |
|
|
|
|
|
sortable="custom" |
|
|
|
|
|
@on-sort-change="changeSort" |
|
|
|
|
|
@on-selection-change="changeSelect" |
|
|
|
|
|
></Table> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
<Row type="flex" :gutter="30" v-show="showType == 'thumb'"> |
|
|
<Row type="flex" :gutter="30" v-show="showType == 'thumb'"> |
|
|
<Col :lg="6" :md="12" :xs="12" v-for="(item, i) in data" :key="i"> |
|
|
<Col :lg="6" :md="12" :xs="12" v-for="(item, i) in data" :key="i"> |
|
|
@ -183,17 +105,9 @@ |
|
|
<div class="collect-icon" v-if="item.isCollect"> |
|
|
<div class="collect-icon" v-if="item.isCollect"> |
|
|
<Icon type="md-star" color="#ffc60a" size="18" /> |
|
|
<Icon type="md-star" color="#ffc60a" size="18" /> |
|
|
</div> |
|
|
</div> |
|
|
<img |
|
|
<img @click="showPic(item)" v-if="item.type.indexOf('image') >= 0" class="img" |
|
|
@click="showPic(item)" |
|
|
:src="item.url" /> |
|
|
v-if="item.type.indexOf('image') >= 0" |
|
|
<div v-else-if="item.type.indexOf('video') >= 0" class="video" @click="showVideo(item)"> |
|
|
class="img" |
|
|
|
|
|
:src="item.url" |
|
|
|
|
|
/> |
|
|
|
|
|
<div |
|
|
|
|
|
v-else-if="item.type.indexOf('video') >= 0" |
|
|
|
|
|
class="video" |
|
|
|
|
|
@click="showVideo(item)" |
|
|
|
|
|
> |
|
|
|
|
|
<video class="cover"> |
|
|
<video class="cover"> |
|
|
<source :src="item.url + '#t=1'" preload="metadata" /> |
|
|
<source :src="item.url + '#t=1'" preload="metadata" /> |
|
|
</video> |
|
|
</video> |
|
|
@ -212,11 +126,7 @@ |
|
|
<div class="actions"> |
|
|
<div class="actions"> |
|
|
<div class="btn"> |
|
|
<div class="btn"> |
|
|
<Tooltip content="下载" placement="top"> |
|
|
<Tooltip content="下载" placement="top"> |
|
|
<Icon |
|
|
<Icon @click="download(item)" type="md-download" size="16" /> |
|
|
@click="download(item)" |
|
|
|
|
|
type="md-download" |
|
|
|
|
|
size="16" |
|
|
|
|
|
/> |
|
|
|
|
|
</Tooltip> |
|
|
</Tooltip> |
|
|
</div> |
|
|
</div> |
|
|
<div class="btn"> |
|
|
<div class="btn"> |
|
|
@ -226,11 +136,7 @@ |
|
|
</div> |
|
|
</div> |
|
|
<div class="btn"> |
|
|
<div class="btn"> |
|
|
<Tooltip content="重命名" placement="top"> |
|
|
<Tooltip content="重命名" placement="top"> |
|
|
<Icon |
|
|
<Icon @click="rename(item)" type="md-create" size="16" /> |
|
|
@click="rename(item)" |
|
|
|
|
|
type="md-create" |
|
|
|
|
|
size="16" |
|
|
|
|
|
/> |
|
|
|
|
|
</Tooltip> |
|
|
</Tooltip> |
|
|
</div> |
|
|
</div> |
|
|
<div class="btn-no"> |
|
|
<div class="btn-no"> |
|
|
@ -251,42 +157,18 @@ |
|
|
</Col> |
|
|
</Col> |
|
|
</Row> |
|
|
</Row> |
|
|
<Row type="flex" justify="end" class="page"> |
|
|
<Row type="flex" justify="end" class="page"> |
|
|
<Page |
|
|
<Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" |
|
|
:current="searchForm.pageNumber" |
|
|
@on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="pageSizeOpts" |
|
|
:total="total" |
|
|
size="small" show-total show-elevator show-sizer></Page> |
|
|
:page-size="searchForm.pageSize" |
|
|
|
|
|
@on-change="changePage" |
|
|
|
|
|
@on-page-size-change="changePageSize" |
|
|
|
|
|
:page-size-opts="pageSizeOpts" |
|
|
|
|
|
size="small" |
|
|
|
|
|
show-total |
|
|
|
|
|
show-elevator |
|
|
|
|
|
show-sizer |
|
|
|
|
|
></Page> |
|
|
|
|
|
</Row> |
|
|
</Row> |
|
|
</Col> |
|
|
</Col> |
|
|
</Row> |
|
|
</Row> |
|
|
</Card> |
|
|
</Card> |
|
|
|
|
|
|
|
|
<Drawer |
|
|
<Drawer :title="`上传文件至:${currCate}`" closable v-model="uploadVisible" width="500"> |
|
|
:title="`上传文件至:${currCate}`" |
|
|
<Upload :action="uploadFileUrl" :headers="accessToken" :data="uploadData" :on-success="handleSuccess" |
|
|
closable |
|
|
:on-error="handleError" :max-size="5120" :on-exceeded-size="handleMaxSize" :before-upload="beforeUpload" |
|
|
v-model="uploadVisible" |
|
|
multiple type="drag" ref="up"> |
|
|
width="500" |
|
|
|
|
|
> |
|
|
|
|
|
<Upload |
|
|
|
|
|
:action="uploadFileUrl" |
|
|
|
|
|
:headers="accessToken" |
|
|
|
|
|
:data="uploadData" |
|
|
|
|
|
:on-success="handleSuccess" |
|
|
|
|
|
:on-error="handleError" |
|
|
|
|
|
:max-size="5120" |
|
|
|
|
|
:on-exceeded-size="handleMaxSize" |
|
|
|
|
|
:before-upload="beforeUpload" |
|
|
|
|
|
multiple |
|
|
|
|
|
type="drag" |
|
|
|
|
|
ref="up" |
|
|
|
|
|
> |
|
|
|
|
|
<div style="padding: 20px 0"> |
|
|
<div style="padding: 20px 0"> |
|
|
<Icon type="ios-cloud-upload" size="52" style="color: #3399ff"></Icon> |
|
|
<Icon type="ios-cloud-upload" size="52" style="color: #3399ff"></Icon> |
|
|
<p>点击这里或将文件拖拽到这里上传</p> |
|
|
<p>点击这里或将文件拖拽到这里上传</p> |
|
|
@ -297,12 +179,7 @@ |
|
|
</div> |
|
|
</div> |
|
|
</Drawer> |
|
|
</Drawer> |
|
|
|
|
|
|
|
|
<Modal |
|
|
<Modal :title="modalTitle" v-model="modalVisible" :mask-closable="false" :width="500"> |
|
|
:title="modalTitle" |
|
|
|
|
|
v-model="modalVisible" |
|
|
|
|
|
:mask-closable="false" |
|
|
|
|
|
:width="500" |
|
|
|
|
|
> |
|
|
|
|
|
<Form ref="form" :model="form" inline :rules="formValidate"> |
|
|
<Form ref="form" :model="form" inline :rules="formValidate"> |
|
|
<FormItem label="文件名" prop="title" style="width: 100%"> |
|
|
<FormItem label="文件名" prop="title" style="width: 100%"> |
|
|
<Input v-model="form.title" /> |
|
|
<Input v-model="form.title" /> |
|
|
@ -310,49 +187,25 @@ |
|
|
</Form> |
|
|
</Form> |
|
|
<div slot="footer"> |
|
|
<div slot="footer"> |
|
|
<Button type="text" @click="handleCancel">取消</Button> |
|
|
<Button type="text" @click="handleCancel">取消</Button> |
|
|
<Button type="primary" :loading="submitLoading" @click="handleSubmit" |
|
|
<Button type="primary" :loading="submitLoading" @click="handleSubmit">提交</Button> |
|
|
>提交</Button |
|
|
|
|
|
> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
</Modal> |
|
|
</Modal> |
|
|
|
|
|
|
|
|
<Modal |
|
|
<Modal title="移动至" v-model="moveVisible" :mask-closable="false" :width="500"> |
|
|
title="移动至" |
|
|
<fileCategory showOnly @on-select="selectMoveCategory" class="fileMoveModal" /> |
|
|
v-model="moveVisible" |
|
|
|
|
|
:mask-closable="false" |
|
|
|
|
|
:width="500" |
|
|
|
|
|
> |
|
|
|
|
|
<fileCategory |
|
|
|
|
|
showOnly |
|
|
|
|
|
@on-select="selectMoveCategory" |
|
|
|
|
|
class="fileMoveModal" |
|
|
|
|
|
/> |
|
|
|
|
|
<div slot="footer"> |
|
|
<div slot="footer"> |
|
|
<Button type="text" @click="moveVisible = false">取消</Button> |
|
|
<Button type="text" @click="moveVisible = false">取消</Button> |
|
|
<Button |
|
|
<Button type="primary" :loading="submitLoading" @click="handleSubmitMove">移动至此</Button> |
|
|
type="primary" |
|
|
|
|
|
:loading="submitLoading" |
|
|
|
|
|
@click="handleSubmitMove" |
|
|
|
|
|
>移动至此</Button |
|
|
|
|
|
> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
</Modal> |
|
|
</Modal> |
|
|
|
|
|
|
|
|
<Modal |
|
|
<Modal v-model="videoVisible" :title="videoTitle" :width="800" @on-cancel="closeVideo" draggable> |
|
|
v-model="videoVisible" |
|
|
|
|
|
:title="videoTitle" |
|
|
|
|
|
:width="800" |
|
|
|
|
|
@on-cancel="closeVideo" |
|
|
|
|
|
draggable |
|
|
|
|
|
> |
|
|
|
|
|
<div id="dplayer" style="height: 500px"></div> |
|
|
<div id="dplayer" style="height: 500px"></div> |
|
|
<div slot="footer"> |
|
|
<div slot="footer"> |
|
|
<span |
|
|
<span>文件类型:{{ util.ellipsis(file.type, 30) }} 文件大小:{{ |
|
|
>文件类型:{{ util.ellipsis(file.type, 30) }} 文件大小:{{ |
|
|
|
|
|
file.msize |
|
|
file.msize |
|
|
}} |
|
|
}} |
|
|
创建时间:{{ file.createTime }}</span |
|
|
创建时间:{{ file.createTime }}</span> |
|
|
> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
</Modal> |
|
|
</Modal> |
|
|
</div> |
|
|
</div> |
|
|
@ -374,7 +227,9 @@ import trash from "./trash.vue"; |
|
|
import DPlayer from "dplayer"; |
|
|
import DPlayer from "dplayer"; |
|
|
import "viewerjs/dist/viewer.css"; |
|
|
import "viewerjs/dist/viewer.css"; |
|
|
import Viewer from "viewerjs"; |
|
|
import Viewer from "viewerjs"; |
|
|
import { shortcuts } from "@/libs/shortcuts"; |
|
|
import { |
|
|
|
|
|
shortcuts |
|
|
|
|
|
} from "@/libs/shortcuts"; |
|
|
export default { |
|
|
export default { |
|
|
name: "file", |
|
|
name: "file", |
|
|
components: { |
|
|
components: { |
|
|
@ -431,8 +286,16 @@ export default { |
|
|
file: {}, |
|
|
file: {}, |
|
|
// 表单验证规则 |
|
|
// 表单验证规则 |
|
|
formValidate: { |
|
|
formValidate: { |
|
|
title: [{ required: true, message: "请输入", trigger: "blur" }], |
|
|
title: [{ |
|
|
fkey: [{ required: true, message: "请输入", trigger: "blur" }], |
|
|
required: true, |
|
|
|
|
|
message: "请输入", |
|
|
|
|
|
trigger: "blur" |
|
|
|
|
|
}], |
|
|
|
|
|
fkey: [{ |
|
|
|
|
|
required: true, |
|
|
|
|
|
message: "请输入", |
|
|
|
|
|
trigger: "blur" |
|
|
|
|
|
}], |
|
|
}, |
|
|
}, |
|
|
submitLoading: false, // 添加或编辑提交状态 |
|
|
submitLoading: false, // 添加或编辑提交状态 |
|
|
selectList: [], // 多选数据 |
|
|
selectList: [], // 多选数据 |
|
|
@ -499,8 +362,7 @@ export default { |
|
|
}); |
|
|
}); |
|
|
} else if (params.row.type.includes("video") > 0) { |
|
|
} else if (params.row.type.includes("video") > 0) { |
|
|
return h( |
|
|
return h( |
|
|
"video", |
|
|
"video", { |
|
|
{ |
|
|
|
|
|
style: { |
|
|
style: { |
|
|
cursor: "pointer", |
|
|
cursor: "pointer", |
|
|
width: "80px", |
|
|
width: "80px", |
|
|
@ -710,8 +572,7 @@ export default { |
|
|
render: (h, params) => { |
|
|
render: (h, params) => { |
|
|
return h("div", [ |
|
|
return h("div", [ |
|
|
h( |
|
|
h( |
|
|
"a", |
|
|
"a", { |
|
|
{ |
|
|
|
|
|
on: { |
|
|
on: { |
|
|
click: () => { |
|
|
click: () => { |
|
|
this.download(params.row); |
|
|
this.download(params.row); |
|
|
@ -726,9 +587,10 @@ export default { |
|
|
}, |
|
|
}, |
|
|
}), |
|
|
}), |
|
|
h( |
|
|
h( |
|
|
"Dropdown", |
|
|
"Dropdown", { |
|
|
{ |
|
|
props: { |
|
|
props: { transfer: true }, |
|
|
transfer: true |
|
|
|
|
|
}, |
|
|
on: { |
|
|
on: { |
|
|
"on-click": (v) => { |
|
|
"on-click": (v) => { |
|
|
this.changeDropDown(params.row, v); |
|
|
this.changeDropDown(params.row, v); |
|
|
@ -744,17 +606,42 @@ export default { |
|
|
}, |
|
|
}, |
|
|
}), |
|
|
}), |
|
|
]), |
|
|
]), |
|
|
h("DropdownMenu", { slot: "list" }, [ |
|
|
h("DropdownMenu", { |
|
|
h("DropdownItem", { props: { name: "share" } }, "分享"), |
|
|
slot: "list" |
|
|
|
|
|
}, [ |
|
|
|
|
|
h("DropdownItem", { |
|
|
|
|
|
props: { |
|
|
|
|
|
name: "share" |
|
|
|
|
|
} |
|
|
|
|
|
}, "分享"), |
|
|
h( |
|
|
h( |
|
|
"DropdownItem", |
|
|
"DropdownItem", { |
|
|
{ props: { name: "collect" } }, |
|
|
props: { |
|
|
|
|
|
name: "collect" |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
params.row.isCollect ? "取消收藏" : "收藏" |
|
|
params.row.isCollect ? "取消收藏" : "收藏" |
|
|
), |
|
|
), |
|
|
h("DropdownItem", { props: { name: "rename" } }, "重命名"), |
|
|
h("DropdownItem", { |
|
|
h("DropdownItem", { props: { name: "move" } }, "移动"), |
|
|
props: { |
|
|
h("DropdownItem", { props: { name: "copy" } }, "复制"), |
|
|
name: "rename" |
|
|
h("DropdownItem", { props: { name: "remove" } }, "删除"), |
|
|
} |
|
|
|
|
|
}, "重命名"), |
|
|
|
|
|
h("DropdownItem", { |
|
|
|
|
|
props: { |
|
|
|
|
|
name: "move" |
|
|
|
|
|
} |
|
|
|
|
|
}, "移动"), |
|
|
|
|
|
h("DropdownItem", { |
|
|
|
|
|
props: { |
|
|
|
|
|
name: "copy" |
|
|
|
|
|
} |
|
|
|
|
|
}, "复制"), |
|
|
|
|
|
h("DropdownItem", { |
|
|
|
|
|
props: { |
|
|
|
|
|
name: "remove" |
|
|
|
|
|
} |
|
|
|
|
|
}, "删除"), |
|
|
]), |
|
|
]), |
|
|
] |
|
|
] |
|
|
), |
|
|
), |
|
|
@ -799,7 +686,9 @@ export default { |
|
|
onOk: () => { |
|
|
onOk: () => { |
|
|
this.$router.push({ |
|
|
this.$router.push({ |
|
|
name: "setting", |
|
|
name: "setting", |
|
|
query: { name: "oss" }, |
|
|
query: { |
|
|
|
|
|
name: "oss" |
|
|
|
|
|
}, |
|
|
}); |
|
|
}); |
|
|
}, |
|
|
}, |
|
|
}); |
|
|
}); |
|
|
@ -1058,7 +947,10 @@ export default { |
|
|
}, |
|
|
}, |
|
|
handleSubmitMove() { |
|
|
handleSubmitMove() { |
|
|
this.submitLoading = true; |
|
|
this.submitLoading = true; |
|
|
moveFile({ ids: this.moveFileIds, categoryId: this.moveCategoryId }).then( |
|
|
moveFile({ |
|
|
|
|
|
ids: this.moveFileIds, |
|
|
|
|
|
categoryId: this.moveCategoryId |
|
|
|
|
|
}).then( |
|
|
(res) => { |
|
|
(res) => { |
|
|
this.submitLoading = false; |
|
|
this.submitLoading = false; |
|
|
if (res.success) { |
|
|
if (res.success) { |
|
|
@ -1076,7 +968,10 @@ export default { |
|
|
content: "您确认要复制文件 " + v.title + " ?", |
|
|
content: "您确认要复制文件 " + v.title + " ?", |
|
|
loading: true, |
|
|
loading: true, |
|
|
onOk: () => { |
|
|
onOk: () => { |
|
|
copyUserFile({ id: v.id, key: v.fkey }).then((res) => { |
|
|
copyUserFile({ |
|
|
|
|
|
id: v.id, |
|
|
|
|
|
key: v.fkey |
|
|
|
|
|
}).then((res) => { |
|
|
this.$Modal.remove(); |
|
|
this.$Modal.remove(); |
|
|
if (res.success) { |
|
|
if (res.success) { |
|
|
this.$Message.success("复制文件成功,新文件名为 副本_" + v.title); |
|
|
this.$Message.success("复制文件成功,新文件名为 副本_" + v.title); |
|
|
@ -1087,7 +982,9 @@ export default { |
|
|
}); |
|
|
}); |
|
|
}, |
|
|
}, |
|
|
collect(v) { |
|
|
collect(v) { |
|
|
collectFile({ id: v.id }).then((res) => { |
|
|
collectFile({ |
|
|
|
|
|
id: v.id |
|
|
|
|
|
}).then((res) => { |
|
|
this.$Modal.remove(); |
|
|
this.$Modal.remove(); |
|
|
if (res.success) { |
|
|
if (res.success) { |
|
|
this.$Message.success(v.isCollect ? "取消收藏成功" : "收藏成功"); |
|
|
this.$Message.success(v.isCollect ? "取消收藏成功" : "收藏成功"); |
|
|
@ -1102,8 +999,7 @@ export default { |
|
|
} |
|
|
} |
|
|
this.$Modal.confirm({ |
|
|
this.$Modal.confirm({ |
|
|
title: "确认删除", |
|
|
title: "确认删除", |
|
|
content: |
|
|
content: "您确认要将所选的 " + |
|
|
"您确认要将所选的 " + |
|
|
|
|
|
this.selectList.length + |
|
|
this.selectList.length + |
|
|
" 个文件移入回收站, 7天内后自动彻底删除", |
|
|
" 个文件移入回收站, 7天内后自动彻底删除", |
|
|
loading: true, |
|
|
loading: true, |
|
|
@ -1113,7 +1009,9 @@ export default { |
|
|
ids += e.id + ","; |
|
|
ids += e.id + ","; |
|
|
}); |
|
|
}); |
|
|
ids = ids.substring(0, ids.length - 1); |
|
|
ids = ids.substring(0, ids.length - 1); |
|
|
trashFile({ ids: ids }).then((res) => { |
|
|
trashFile({ |
|
|
|
|
|
ids: ids |
|
|
|
|
|
}).then((res) => { |
|
|
this.$Modal.remove(); |
|
|
this.$Modal.remove(); |
|
|
if (res.success) { |
|
|
if (res.success) { |
|
|
this.$Message.success("批量删除文件成功"); |
|
|
this.$Message.success("批量删除文件成功"); |
|
|
@ -1127,11 +1025,12 @@ export default { |
|
|
remove(v) { |
|
|
remove(v) { |
|
|
this.$Modal.confirm({ |
|
|
this.$Modal.confirm({ |
|
|
title: "确认删除", |
|
|
title: "确认删除", |
|
|
content: |
|
|
content: "您确认要将文件 " + v.title + " 移入回收站, 7天内后自动彻底删除", |
|
|
"您确认要将文件 " + v.title + " 移入回收站, 7天内后自动彻底删除", |
|
|
|
|
|
loading: true, |
|
|
loading: true, |
|
|
onOk: () => { |
|
|
onOk: () => { |
|
|
trashFile({ ids: v.id }).then((res) => { |
|
|
trashFile({ |
|
|
|
|
|
ids: v.id |
|
|
|
|
|
}).then((res) => { |
|
|
this.$Modal.remove(); |
|
|
this.$Modal.remove(); |
|
|
if (res.success) { |
|
|
if (res.success) { |
|
|
this.clearSelectAll(); |
|
|
this.clearSelectAll(); |
|
|
|