|
|
@@ -198,7 +198,10 @@ |
|
|
|
@hideWorklinkPage="hideWorklinkPage" |
|
|
|
></WorkLine> |
|
|
|
<div class="layout_content2" v-show="!isShowworklink" v-loading="loading"> |
|
|
|
<section :class="closepageH + ' layerout_H2'" @contextmenu.prevent="rightShowMenu($event, '新建文件夹', 4)"> |
|
|
|
<section |
|
|
|
:class="closepageH + ' layerout_H2'" |
|
|
|
@contextmenu.prevent="rightShowMenu($event, '新建文件夹', 4)" |
|
|
|
> |
|
|
|
<!-- 文件大box --> |
|
|
|
<section class="yiyun_section_warp"> |
|
|
|
<div class="yinyong_warpBox hidescollbar"> |
|
|
@@ -323,7 +326,7 @@ |
|
|
|
v-if="nowFolder.folderPerm == 0" |
|
|
|
type="primary" |
|
|
|
@click="newCreateFolderGroup" |
|
|
|
>新建文件夹</el-button> --> |
|
|
|
>新建文件夹</el-button>--> |
|
|
|
<!-- <span class="yiyun_tishibtn yiyun_text-wenben"><i class="yiyun_icon icon_topnav_listicon" title="列表显示" v-show="isShowMyFileList == true" |
|
|
|
@click="showMyFilelist"></i></span> |
|
|
|
<span class="yiyun_tishibtn yiyun_text-wenben"><i class="yiyun_icon icon_topnav_cardicon" title="显示缩略图" |
|
|
@@ -354,7 +357,8 @@ |
|
|
|
:list="myFilesList" |
|
|
|
group="group" |
|
|
|
:move="draggableMove" |
|
|
|
@end="draggableEnd"> |
|
|
|
@end="draggableEnd" |
|
|
|
> |
|
|
|
<div |
|
|
|
class="lisy-group-item" |
|
|
|
v-for="file in myFilesList" |
|
|
@@ -363,93 +367,104 @@ |
|
|
|
@mouseover="isShowIcon" |
|
|
|
@mouseout="ishideIcon" |
|
|
|
> |
|
|
|
<el-tooltip :content="file.strToolTip" :disabled="file.strToolTip == ''" placement="right" effect="light"> |
|
|
|
<div class="yiyun_wenjian_list" v-if="file.isShowFile == true" > |
|
|
|
<div> |
|
|
|
<div |
|
|
|
class="defultImage-mid" |
|
|
|
:class="file.extension+'-mid'" |
|
|
|
v-if="file.extension != 'jpg' && |
|
|
|
<el-tooltip |
|
|
|
:content="file.strToolTip" |
|
|
|
:disabled="file.strToolTip == ''" |
|
|
|
placement="right" |
|
|
|
effect="light" |
|
|
|
> |
|
|
|
<div class="yiyun_wenjian_list" v-if="file.isShowFile == true"> |
|
|
|
<div> |
|
|
|
<div |
|
|
|
class="defultImage-mid" |
|
|
|
:class="file.extension+'-mid'" |
|
|
|
v-if="file.extension != 'jpg' && |
|
|
|
file.extension != 'png' && |
|
|
|
file.extension != 'bmp' && |
|
|
|
file.extension != 'gif' && |
|
|
|
file.extension != 'jpeg' + (isClient && !file.isDownload && (file.status == 0 || file.status == 2))?'toumin':''" |
|
|
|
@contextmenu.prevent.stop="rightShowMenu($event, file, 1)" |
|
|
|
></div> |
|
|
|
<div |
|
|
|
class="defultImage-mid img_bg-mid" |
|
|
|
v-if=" |
|
|
|
@contextmenu.prevent.stop="rightShowMenu($event, file, 1)" |
|
|
|
></div> |
|
|
|
<div |
|
|
|
class="defultImage-mid img_bg-mid" |
|
|
|
v-if=" |
|
|
|
file.extension == 'jpg' || |
|
|
|
file.extension == 'png' || |
|
|
|
file.extension == 'bmp' || |
|
|
|
file.extension == 'gif' || |
|
|
|
file.extension == 'jpeg'+ (isClient && !file.isDownload && (file.status == 0 || file.status == 2))?'toumin':''" |
|
|
|
@contextmenu.prevent.stop="rightShowMenu($event, file, 1)" |
|
|
|
> |
|
|
|
<div class="file_Im gbox-mid"> |
|
|
|
<img v-lazy="imgSrc + file.alias" alt class="file_Img" /> |
|
|
|
@contextmenu.prevent.stop="rightShowMenu($event, file, 1)" |
|
|
|
> |
|
|
|
<div class="file_Im gbox-mid"> |
|
|
|
<img v-lazy="imgSrc + file.alias" alt class="file_Img" /> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<!-- 標簽 --> |
|
|
|
<div class="eidtTip" v-if=" file.status == 1 && file.modifyUserID != userId" >工作中</div> |
|
|
|
<!-- 標簽 --> |
|
|
|
<div |
|
|
|
class="eidtTip" |
|
|
|
v-if=" file.status == 1 && file.modifyUserID != userId" |
|
|
|
>工作中</div> |
|
|
|
|
|
|
|
<div v-if="file.status == 0" class="yijianxietong isonselect_defual"> |
|
|
|
<i |
|
|
|
class="icon font_family icon-icon_status_wenjianbiaojiwancheng yijianIcon" |
|
|
|
title="工作中" |
|
|
|
@click="setFileStatus(file, 2, '更新为已完成',1)" |
|
|
|
></i> |
|
|
|
</div> |
|
|
|
<div v-if="file.status == 1 && file.modifyUserID == userId" class="yijianxietong isonselect_update"> |
|
|
|
<i |
|
|
|
class="icon font_family icon-icon_status_wenjianbiaojigengxin yijianIcon" |
|
|
|
title="已更新" |
|
|
|
@click="setFileStatus(file, 0, '文件已更新',1)" |
|
|
|
></i> |
|
|
|
</div> |
|
|
|
<div v-if="file.status == 2" class="yijianxietong isonselect"> |
|
|
|
<i |
|
|
|
class="icon font_family icon-icon_status_wenjianbiaojiwancheng yijianIcon" |
|
|
|
title="已完成" |
|
|
|
@click="setFileStatus(file, 0, '更新为工作中',1)" |
|
|
|
></i> |
|
|
|
</div> |
|
|
|
<div v-if="file.status == 3" class="yijianxietong isonselect_err"> |
|
|
|
<i |
|
|
|
class="icon font_family icon-icon_status_wenjianbiaojiquxiao yijianIcon" |
|
|
|
title="已取消协同" |
|
|
|
@click="setFileStatus(file, 0, '已开启文件协同',2)" |
|
|
|
></i> |
|
|
|
</div> |
|
|
|
<!-- 下载状态 v-if="isClient && !file.isDownload && (file.status == 0 || file.status == 2)"--> |
|
|
|
<div |
|
|
|
class="downloadIcon" |
|
|
|
@click="clientDownLoad(file,1)" |
|
|
|
v-if="file.extension!='map'&&file.extension!='svfzip'&&file.extension!='supermap'&& isClient && !file.isDownload && (file.status == 0 || file.status == 2)" |
|
|
|
> |
|
|
|
<img src="/static/img/download.svg" alt /> |
|
|
|
</div> |
|
|
|
<div |
|
|
|
class="downloadIcon" |
|
|
|
v-if="isClient && file.isDownload && file.downloadStatus == 1" |
|
|
|
> |
|
|
|
<span> |
|
|
|
<i class="el-icon-loading largeicon"></i> |
|
|
|
<div class="minifont">下载中</div> |
|
|
|
</span> |
|
|
|
</div> |
|
|
|
<!-- 下拉列表 --> |
|
|
|
<div class="top_optionBar"> |
|
|
|
<el-dropdown> |
|
|
|
<span class="el-dropdown-link"> |
|
|
|
<i |
|
|
|
class="icon iconfont icon_small-icon_small_wenjianshezhi settingIcon" |
|
|
|
></i> |
|
|
|
<div v-if="file.status == 0" class="yijianxietong isonselect_defual"> |
|
|
|
<i |
|
|
|
class="icon font_family icon-icon_status_wenjianbiaojiwancheng yijianIcon" |
|
|
|
title="工作中" |
|
|
|
@click="setFileStatus(file, 2, '更新为已完成',1)" |
|
|
|
></i> |
|
|
|
</div> |
|
|
|
<div |
|
|
|
v-if="file.status == 1 && file.modifyUserID == userId" |
|
|
|
class="yijianxietong isonselect_update" |
|
|
|
> |
|
|
|
<i |
|
|
|
class="icon font_family icon-icon_status_wenjianbiaojigengxin yijianIcon" |
|
|
|
title="已更新" |
|
|
|
@click="setFileStatus(file, 0, '文件已更新',1)" |
|
|
|
></i> |
|
|
|
</div> |
|
|
|
<div v-if="file.status == 2" class="yijianxietong isonselect"> |
|
|
|
<i |
|
|
|
class="icon font_family icon-icon_status_wenjianbiaojiwancheng yijianIcon" |
|
|
|
title="已完成" |
|
|
|
@click="setFileStatus(file, 0, '更新为工作中',1)" |
|
|
|
></i> |
|
|
|
</div> |
|
|
|
<div v-if="file.status == 3" class="yijianxietong isonselect_err"> |
|
|
|
<i |
|
|
|
class="icon font_family icon-icon_status_wenjianbiaojiquxiao yijianIcon" |
|
|
|
title="已取消协同" |
|
|
|
@click="setFileStatus(file, 0, '已开启文件协同',2)" |
|
|
|
></i> |
|
|
|
</div> |
|
|
|
<!-- 下载状态 v-if="isClient && !file.isDownload && (file.status == 0 || file.status == 2)"--> |
|
|
|
<div |
|
|
|
class="downloadIcon" |
|
|
|
@click="clientDownLoad(file,1)" |
|
|
|
v-if="file.extension!='map'&&file.extension!='svfzip'&&file.extension!='supermap'&& isClient && !file.isDownload && (file.status == 0 || file.status == 2)" |
|
|
|
> |
|
|
|
<img src="/static/img/download.svg" alt /> |
|
|
|
</div> |
|
|
|
<div |
|
|
|
class="downloadIcon" |
|
|
|
v-if="isClient && file.isDownload && file.downloadStatus == 1" |
|
|
|
> |
|
|
|
<span> |
|
|
|
<i class="el-icon-loading largeicon"></i> |
|
|
|
<div class="minifont">下载中</div> |
|
|
|
</span> |
|
|
|
<el-dropdown-menu slot="dropdown"> |
|
|
|
<el-dropdown-item |
|
|
|
@click.native="openOffice(file)" |
|
|
|
v-if="file.extension == 'pdf' || |
|
|
|
</div> |
|
|
|
<!-- 下拉列表 --> |
|
|
|
<div class="top_optionBar"> |
|
|
|
<el-dropdown> |
|
|
|
<span class="el-dropdown-link"> |
|
|
|
<i |
|
|
|
class="icon iconfont icon_small-icon_small_wenjianshezhi settingIcon" |
|
|
|
></i> |
|
|
|
</span> |
|
|
|
<el-dropdown-menu slot="dropdown"> |
|
|
|
<el-dropdown-item |
|
|
|
@click.native="openOffice(file)" |
|
|
|
v-if="file.extension == 'pdf' || |
|
|
|
file.extension == 'xls' || |
|
|
|
file.extension == 'xlsx' || |
|
|
|
file.extension == 'doc' || |
|
|
@@ -457,127 +472,127 @@ |
|
|
|
file.extension == 'ppt' || |
|
|
|
file.extension == 'pptx' || |
|
|
|
file.extension == 'txt'" |
|
|
|
> |
|
|
|
<span>在线查看</span> |
|
|
|
</el-dropdown-item> |
|
|
|
<el-dropdown-item |
|
|
|
@click.native="fileClick(file)" |
|
|
|
v-if="isClient && file.downloadStatus == 2" |
|
|
|
> |
|
|
|
<span>打开</span> |
|
|
|
</el-dropdown-item> |
|
|
|
<el-dropdown-item |
|
|
|
@click.native="fileClickSelect(file)" |
|
|
|
v-if="isClient && file.downloadStatus == 2" |
|
|
|
> |
|
|
|
<span>打开方式</span> |
|
|
|
</el-dropdown-item> |
|
|
|
<el-dropdown-item |
|
|
|
@click.native="setFileStatus(file, 2, '更新为已完成',1)" |
|
|
|
divided |
|
|
|
v-if="file.status == 1 || file.status == 0" |
|
|
|
> |
|
|
|
<span>搞定</span> |
|
|
|
</el-dropdown-item> |
|
|
|
<el-dropdown-item |
|
|
|
@click.native="setFileStatus(file, 0, '已开启文件协同',2)" |
|
|
|
v-if="isUseShare && file.status == 3" |
|
|
|
> |
|
|
|
<span>开启协同</span> |
|
|
|
</el-dropdown-item> |
|
|
|
<el-dropdown-item |
|
|
|
@click.native="setFileStatus(file, 3, '文件已取消协同',1)" |
|
|
|
v-if="isUseShare && file.status != 3" |
|
|
|
> |
|
|
|
<span>取消协同</span> |
|
|
|
</el-dropdown-item> |
|
|
|
<el-dropdown-item @click.native="createMilestone(file)" divided> |
|
|
|
<span>保存历史文件</span> |
|
|
|
</el-dropdown-item> |
|
|
|
<el-dropdown-item @click.native="showFileMilestone(file)"> |
|
|
|
<span>选择历史文件</span> |
|
|
|
</el-dropdown-item> |
|
|
|
<el-dropdown-item @click.native="copyFile(file)" divided> |
|
|
|
<span>建立副本</span> |
|
|
|
</el-dropdown-item> |
|
|
|
<el-dropdown-item |
|
|
|
v-if="isUseCommon && file.commonStatus == 0 && nowFolderName != '公共文件夹'" |
|
|
|
@click.native="updateToPublicFile(file,0)" |
|
|
|
divided |
|
|
|
> |
|
|
|
<span>提交至项目公共文件夹</span> |
|
|
|
</el-dropdown-item> |
|
|
|
<el-dropdown-item |
|
|
|
v-if="isUseCommon && file.commonStatus == 1" |
|
|
|
@click.native="updateToPublicFile(file,1)" |
|
|
|
divided |
|
|
|
> |
|
|
|
<span>取消至项目公共文件夹</span> |
|
|
|
</el-dropdown-item> |
|
|
|
<el-dropdown-item @click.native="copyAndMoveFolder(file, 'move')"> |
|
|
|
<span>转移至其他工作</span> |
|
|
|
</el-dropdown-item> |
|
|
|
<el-dropdown-item @click.native="copyAndMoveFolder(file, 'copy')"> |
|
|
|
<span>复制至其他工作</span> |
|
|
|
</el-dropdown-item> |
|
|
|
<el-dropdown-item |
|
|
|
divided |
|
|
|
@click.native="downLoadMyFile(file)" |
|
|
|
v-if="file.extension !='map' && file.extension !='supermap' " |
|
|
|
> |
|
|
|
<span>下载至本地</span> |
|
|
|
</el-dropdown-item> |
|
|
|
<el-dropdown-item |
|
|
|
v-if="file.extension == 'svfzip' " |
|
|
|
@click.native="shareMyFile(file)" |
|
|
|
> |
|
|
|
<span>分享</span> |
|
|
|
</el-dropdown-item> |
|
|
|
<el-dropdown-item @click.native="reNameyMyFile(file)"> |
|
|
|
<span>重命名</span> |
|
|
|
</el-dropdown-item> |
|
|
|
<el-dropdown-item @click.native="delMyFile(file)"> |
|
|
|
<span>移到回收站</span> |
|
|
|
</el-dropdown-item> |
|
|
|
</el-dropdown-menu> |
|
|
|
</el-dropdown> |
|
|
|
</div> |
|
|
|
<strong |
|
|
|
class="yiyunwenjian_name" |
|
|
|
:title="file.archName + '.' + file.extension" |
|
|
|
>{{ file.archName }}</strong> |
|
|
|
<!--<span class="yiyunwenjian_infodesc">{{file.strCreateTime}}</span>--> |
|
|
|
<span |
|
|
|
v-if="nowFolderName == '公共文件夹' && file.createUserID == userId" |
|
|
|
class="yiyunwenjian_infodesc" |
|
|
|
>由我创建</span> |
|
|
|
<span |
|
|
|
v-if="nowFolderName == '公共文件夹' && file.createUserID != userId" |
|
|
|
class="yiyunwenjian_infodesc" |
|
|
|
>{{file.cnName}}创建</span> |
|
|
|
<!--span 本来就注视着呢--> |
|
|
|
<!-- <span |
|
|
|
> |
|
|
|
<span>在线查看</span> |
|
|
|
</el-dropdown-item> |
|
|
|
<el-dropdown-item |
|
|
|
@click.native="fileClick(file)" |
|
|
|
v-if="isClient && file.downloadStatus == 2" |
|
|
|
> |
|
|
|
<span>打开</span> |
|
|
|
</el-dropdown-item> |
|
|
|
<el-dropdown-item |
|
|
|
@click.native="fileClickSelect(file)" |
|
|
|
v-if="isClient && file.downloadStatus == 2" |
|
|
|
> |
|
|
|
<span>打开方式</span> |
|
|
|
</el-dropdown-item> |
|
|
|
<el-dropdown-item |
|
|
|
@click.native="setFileStatus(file, 2, '更新为已完成',1)" |
|
|
|
divided |
|
|
|
v-if="file.status == 1 || file.status == 0" |
|
|
|
> |
|
|
|
<span>搞定</span> |
|
|
|
</el-dropdown-item> |
|
|
|
<el-dropdown-item |
|
|
|
@click.native="setFileStatus(file, 0, '已开启文件协同',2)" |
|
|
|
v-if="isUseShare && file.status == 3" |
|
|
|
> |
|
|
|
<span>开启协同</span> |
|
|
|
</el-dropdown-item> |
|
|
|
<el-dropdown-item |
|
|
|
@click.native="setFileStatus(file, 3, '文件已取消协同',1)" |
|
|
|
v-if="isUseShare && file.status != 3" |
|
|
|
> |
|
|
|
<span>取消协同</span> |
|
|
|
</el-dropdown-item> |
|
|
|
<el-dropdown-item @click.native="createMilestone(file)" divided> |
|
|
|
<span>保存历史文件</span> |
|
|
|
</el-dropdown-item> |
|
|
|
<el-dropdown-item @click.native="showFileMilestone(file)"> |
|
|
|
<span>选择历史文件</span> |
|
|
|
</el-dropdown-item> |
|
|
|
<el-dropdown-item @click.native="copyFile(file)" divided> |
|
|
|
<span>建立副本</span> |
|
|
|
</el-dropdown-item> |
|
|
|
<el-dropdown-item |
|
|
|
v-if="isUseCommon && file.commonStatus == 0 && nowFolderName != '公共文件夹'" |
|
|
|
@click.native="updateToPublicFile(file,0)" |
|
|
|
divided |
|
|
|
> |
|
|
|
<span>提交至项目公共文件夹</span> |
|
|
|
</el-dropdown-item> |
|
|
|
<el-dropdown-item |
|
|
|
v-if="isUseCommon && file.commonStatus == 1" |
|
|
|
@click.native="updateToPublicFile(file,1)" |
|
|
|
divided |
|
|
|
> |
|
|
|
<span>取消至项目公共文件夹</span> |
|
|
|
</el-dropdown-item> |
|
|
|
<el-dropdown-item @click.native="copyAndMoveFolder(file, 'move')"> |
|
|
|
<span>转移至其他工作</span> |
|
|
|
</el-dropdown-item> |
|
|
|
<el-dropdown-item @click.native="copyAndMoveFolder(file, 'copy')"> |
|
|
|
<span>复制至其他工作</span> |
|
|
|
</el-dropdown-item> |
|
|
|
<el-dropdown-item |
|
|
|
divided |
|
|
|
@click.native="downLoadMyFile(file)" |
|
|
|
v-if="file.extension !='map' && file.extension !='supermap' " |
|
|
|
> |
|
|
|
<span>下载至本地</span> |
|
|
|
</el-dropdown-item> |
|
|
|
<el-dropdown-item |
|
|
|
v-if="file.extension == 'svfzip' " |
|
|
|
@click.native="shareMyFile(file)" |
|
|
|
> |
|
|
|
<span>分享</span> |
|
|
|
</el-dropdown-item> |
|
|
|
<el-dropdown-item @click.native="reNameyMyFile(file)"> |
|
|
|
<span>重命名</span> |
|
|
|
</el-dropdown-item> |
|
|
|
<el-dropdown-item @click.native="delMyFile(file)"> |
|
|
|
<span>移到回收站</span> |
|
|
|
</el-dropdown-item> |
|
|
|
</el-dropdown-menu> |
|
|
|
</el-dropdown> |
|
|
|
</div> |
|
|
|
<strong |
|
|
|
class="yiyunwenjian_name" |
|
|
|
:title="file.archName + '.' + file.extension" |
|
|
|
>{{ file.archName }}</strong> |
|
|
|
<!--<span class="yiyunwenjian_infodesc">{{file.strCreateTime}}</span>--> |
|
|
|
<span |
|
|
|
v-if="nowFolderName == '公共文件夹' && file.createUserID == userId" |
|
|
|
class="yiyunwenjian_infodesc" |
|
|
|
>由我创建</span> |
|
|
|
<span |
|
|
|
v-if="nowFolderName == '公共文件夹' && file.createUserID != userId" |
|
|
|
class="yiyunwenjian_infodesc" |
|
|
|
>{{file.cnName}}创建</span> |
|
|
|
<!--span 本来就注视着呢--> |
|
|
|
<!-- <span |
|
|
|
v-if="nowFolderName != '公共文件夹' && file.createUserID == userId" |
|
|
|
class="yiyunwenjian_infodesc" |
|
|
|
>由我创建</span>--> |
|
|
|
>由我创建</span>--> |
|
|
|
<span |
|
|
|
v-if="nowFolderName != '公共文件夹' && file.createUserID != userId" |
|
|
|
class="yiyunwenjian_infodesc" |
|
|
|
>{{file.cnName}}创建</span> |
|
|
|
</div> |
|
|
|
<!-- 文件状态显示 --> |
|
|
|
<div class="filestate" v-if="false"> |
|
|
|
<span>文件编辑中</span> |
|
|
|
</div> |
|
|
|
<span |
|
|
|
v-if="nowFolderName != '公共文件夹' && file.createUserID != userId" |
|
|
|
class="yiyunwenjian_infodesc" |
|
|
|
>{{file.cnName}}创建</span> |
|
|
|
</div> |
|
|
|
<!-- 文件状态显示 --> |
|
|
|
<div class="filestate" v-if="false"> |
|
|
|
<span>文件编辑中</span> |
|
|
|
v-if="file.version != 1" |
|
|
|
class="visontext" |
|
|
|
@click="showFileMilestone(file)" |
|
|
|
> |
|
|
|
版本 |
|
|
|
{{ file.version }} |
|
|
|
</span> |
|
|
|
</div> |
|
|
|
<span |
|
|
|
v-if="file.version != 1" |
|
|
|
class="visontext" |
|
|
|
@click="showFileMilestone(file)" |
|
|
|
> |
|
|
|
版本 |
|
|
|
{{ file.version }} |
|
|
|
</span> |
|
|
|
</div> |
|
|
|
</el-tooltip> |
|
|
|
</div> |
|
|
|
</draggable> |
|
|
@@ -588,7 +603,8 @@ |
|
|
|
:list="myListFolderGroups" |
|
|
|
group="group" |
|
|
|
:move="draggableMove" |
|
|
|
@end="draggableEnd"> |
|
|
|
@end="draggableEnd" |
|
|
|
> |
|
|
|
<div |
|
|
|
class="yiyun_wenjian_list lisy-group-item" |
|
|
|
v-for="foldergroup in myListFolderGroups" |
|
|
@@ -1191,7 +1207,8 @@ |
|
|
|
<div |
|
|
|
v-show="rightMenuvisible" |
|
|
|
:style="{ left: left + 'px', top: top + 'px' }" |
|
|
|
class="contextmenu"> |
|
|
|
class="contextmenu" |
|
|
|
> |
|
|
|
<ul class="rightMenu" v-if="showType == 1"> |
|
|
|
<li |
|
|
|
@click="openOffice(BtnRightFile)" |
|
|
@@ -1206,7 +1223,7 @@ |
|
|
|
BtnRightFile.extension == 'txt') && isShowMenuFile==true |
|
|
|
" |
|
|
|
>在线查看</li> |
|
|
|
<li |
|
|
|
<li |
|
|
|
@click="openOffice(BtnRightFile)" |
|
|
|
v-else-if=" |
|
|
|
(BtnRightFile.extension == 'pdf' || |
|
|
@@ -1231,7 +1248,7 @@ |
|
|
|
@click="setFileStatus(BtnRightFile, 2, '更新为已完成',1)" |
|
|
|
v-if="(BtnRightFile.status == 1 || BtnRightFile.status == 0) && isShowMenuFile==true" |
|
|
|
>搞定</li> |
|
|
|
<li |
|
|
|
<li |
|
|
|
@click="setFileStatus(BtnRightFile, 2, '更新为已完成',1)" |
|
|
|
v-else-if="(BtnRightFile.status == 1 || BtnRightFile.status == 0)" |
|
|
|
>搞定</li> |
|
|
@@ -1239,7 +1256,7 @@ |
|
|
|
@click="setFileStatus(BtnRightFile, 0, '已开启文件协同',2)" |
|
|
|
v-if="isUseShare && BtnRightFile.status == 3 && !isShowMenuFile" |
|
|
|
>开启协同</li> |
|
|
|
<li |
|
|
|
<li |
|
|
|
@click="setFileStatus(BtnRightFile, 0, '已开启文件协同',2)" |
|
|
|
v-else-if="isUseShare && BtnRightFile.status == 3" |
|
|
|
>开启协同</li> |
|
|
@@ -1266,13 +1283,16 @@ |
|
|
|
@click="updateToPublicFile(BtnRightFile,1)" |
|
|
|
v-if="isUseCommon && BtnRightFile.commonStatus == 1 && !isShowMenuFile" |
|
|
|
>取消至项目公共文件夹</li> |
|
|
|
<li |
|
|
|
<li |
|
|
|
@click="updateToPublicFile(BtnRightFile,1)" |
|
|
|
v-else-if="isUseCommon && BtnRightFile.commonStatus == 1" |
|
|
|
>取消至项目公共文件夹</li> |
|
|
|
<li @click="copyAndMoveFolder(BtnRightFile, 'move')" v-if="!isShowMenuFile">转移至其他工作</li> |
|
|
|
<li @click="copyAndMoveFolder(BtnRightFile, 'copy')" v-if="isShowMenuFile==true">复制至其他工作</li> |
|
|
|
<li @click="copyAndMoveFolder(BtnRightFile, 'copy')" v-else-if="!isShowMenuFile==true">复制至其他工作</li> |
|
|
|
<li |
|
|
|
@click="copyAndMoveFolder(BtnRightFile, 'copy')" |
|
|
|
v-else-if="!isShowMenuFile==true" |
|
|
|
>复制至其他工作</li> |
|
|
|
<div class="line"></div> |
|
|
|
<li |
|
|
|
@click="downLoadMyFile(BtnRightFile)" |
|
|
@@ -1351,12 +1371,24 @@ |
|
|
|
<!--新建文件分组--> |
|
|
|
<ul class="rightMenu" v-if="showType == 4 && isShowMenuFoldergroup==true"> |
|
|
|
<li @click="newCreateFolderGroup" v-if="isShowMenuItemCreateFoldergroup==true">新建文件夹</li> |
|
|
|
<li @click="newCreateFolderGroup" v-else-if="!isShowMenuItemCreateFoldergroup==true">新建文件夹</li> |
|
|
|
<li @click="intoFoldergroup(btnRightFoldergoup)" v-if="!isShowMenuItemCreateFoldergroup==true">打开</li> |
|
|
|
<li |
|
|
|
@click="newCreateFolderGroup" |
|
|
|
v-else-if="!isShowMenuItemCreateFoldergroup==true" |
|
|
|
>新建文件夹</li> |
|
|
|
<li |
|
|
|
@click="intoFoldergroup(btnRightFoldergoup)" |
|
|
|
v-if="!isShowMenuItemCreateFoldergroup==true" |
|
|
|
>打开</li> |
|
|
|
<!-- <li @click="copyAndMoveFoldergroup(btnRightFoldergoup,'move')">转移至其他工作</li> |
|
|
|
<li @click="copyAndMoveFoldergroup(btnRightFoldergoup,'copy')">复制至其它工作</li> --> |
|
|
|
<li @click="renameFoldergroup(btnRightFoldergoup)" v-if="!isShowMenuItemCreateFoldergroup==true">重命名</li> |
|
|
|
<li @click="removeRecycle(btnRightFoldergoup)" v-if="!isShowMenuItemCreateFoldergroup==true">移到回收站</li> |
|
|
|
<li @click="copyAndMoveFoldergroup(btnRightFoldergoup,'copy')">复制至其它工作</li>--> |
|
|
|
<li |
|
|
|
@click="renameFoldergroup(btnRightFoldergoup)" |
|
|
|
v-if="!isShowMenuItemCreateFoldergroup==true" |
|
|
|
>重命名</li> |
|
|
|
<li |
|
|
|
@click="removeRecycle(btnRightFoldergoup)" |
|
|
|
v-if="!isShowMenuItemCreateFoldergroup==true" |
|
|
|
>移到回收站</li> |
|
|
|
</ul> |
|
|
|
</div> |
|
|
|
</div> |
|
|
@@ -2110,7 +2142,7 @@ export default { |
|
|
|
createTime: "", |
|
|
|
modifyUserID: "", |
|
|
|
modifyTime: "" |
|
|
|
}, |
|
|
|
}, |
|
|
|
myListFolderGroups: [], // 我的文件分组数据 |
|
|
|
dbClickSelectedFolderGroupData: {}, //双击选中的当前文件夹分组对象 |
|
|
|
isShowWorkt: true, //是否显示我的文件和工作文件 |
|
|
@@ -2121,20 +2153,23 @@ export default { |
|
|
|
strFileOrFoldergroup: "", //右键菜单 移动/复制到其他工作 是文件还是文件分组标记 |
|
|
|
draggableData: {}, //记录要移动的数据 |
|
|
|
timer: {}, //文件计时器对象 |
|
|
|
isShowMenuFoldergroup:true,//右键分组菜单项-显隐 |
|
|
|
isShowMenuFile:true,//右键文件菜单项-显隐 |
|
|
|
isShowMenuItemCreateFoldergroup:true,//右键分组"新建文件夹"菜单项-显隐 |
|
|
|
isShowMenuFoldergroup: true, //右键分组菜单项-显隐 |
|
|
|
isShowMenuFile: true, //右键文件菜单项-显隐 |
|
|
|
isShowMenuItemCreateFoldergroup: true //右键分组"新建文件夹"菜单项-显隐 |
|
|
|
/**新建文件分组 end*/ |
|
|
|
}; |
|
|
|
}, |
|
|
|
mounted: function() { |
|
|
|
window["refreshFiles"]=()=>{ |
|
|
|
if(this.dbClickSelectedFolderGroupData!=null && JSON.stringify(this.dbClickSelectedFolderGroupData)!='{}'){ |
|
|
|
window["refreshFiles"] = () => { |
|
|
|
if ( |
|
|
|
this.dbClickSelectedFolderGroupData != null && |
|
|
|
JSON.stringify(this.dbClickSelectedFolderGroupData) != "{}" |
|
|
|
) { |
|
|
|
this.intoFoldergroup(); |
|
|
|
}else{ |
|
|
|
} else { |
|
|
|
this.listFiles(); |
|
|
|
} |
|
|
|
} |
|
|
|
}; |
|
|
|
window.addEventListener("scroll", this.onscroll, true); |
|
|
|
this.loadProjManager(); |
|
|
|
this.loadSettings(); |
|
|
@@ -2904,18 +2939,18 @@ export default { |
|
|
|
// } |
|
|
|
// } |
|
|
|
if (this.currentPageType == 0) { |
|
|
|
// 加载我的文件 |
|
|
|
thisApp.myFilesList = thisApp.folderFileList.listMyFiles; |
|
|
|
// 加载我的文件夹 zxm+ |
|
|
|
thisApp.myListFolderGroups = |
|
|
|
thisApp.folderFileList.listFolderGroups; |
|
|
|
} else { |
|
|
|
// 加载工作文件 |
|
|
|
thisApp.myFilesList = thisApp.folderFileList.listOtherFiles; |
|
|
|
// 加载工作文件分组 zxm+ |
|
|
|
thisApp.myListFolderGroups = |
|
|
|
thisApp.folderFileList.listOtherFolderGroups; |
|
|
|
} |
|
|
|
// 加载我的文件 |
|
|
|
thisApp.myFilesList = thisApp.folderFileList.listMyFiles; |
|
|
|
// 加载我的文件夹 zxm+ |
|
|
|
thisApp.myListFolderGroups = |
|
|
|
thisApp.folderFileList.listFolderGroups; |
|
|
|
} else { |
|
|
|
// 加载工作文件 |
|
|
|
thisApp.myFilesList = thisApp.folderFileList.listOtherFiles; |
|
|
|
// 加载工作文件分组 zxm+ |
|
|
|
thisApp.myListFolderGroups = |
|
|
|
thisApp.folderFileList.listOtherFolderGroups; |
|
|
|
} |
|
|
|
thisApp.listCollaborationFiles(); |
|
|
|
}) |
|
|
|
.catch(error => { |
|
|
@@ -3727,7 +3762,10 @@ export default { |
|
|
|
clientUpload() { |
|
|
|
if (this.isClient) { |
|
|
|
this.isShowNewFiledialog = false; |
|
|
|
back.uploadFile(this.listUserFolders[this.nowFolderIndex].folderID,sessionStorage.userId); |
|
|
|
back.uploadFile( |
|
|
|
this.listUserFolders[this.nowFolderIndex].folderID, |
|
|
|
sessionStorage.userId |
|
|
|
); |
|
|
|
} |
|
|
|
}, |
|
|
|
/** |
|
|
@@ -3761,12 +3799,15 @@ export default { |
|
|
|
offset: 100, |
|
|
|
duration: 2500 |
|
|
|
}); |
|
|
|
if(thisApp.isClient) |
|
|
|
{ |
|
|
|
var newFileName=file.archName +"." +file.extension; |
|
|
|
if (thisApp.isClient) { |
|
|
|
var newFileName = file.archName + "." + file.extension; |
|
|
|
// 客户端重命名文件 |
|
|
|
// 1.strFileId:文件ID;2.strNewFileName:新文件名;3.strUserId:用户ID |
|
|
|
back.renameFile(file.archID,newFileName,sessionStorage.userId); |
|
|
|
back.renameFile( |
|
|
|
file.archID, |
|
|
|
newFileName, |
|
|
|
sessionStorage.userId |
|
|
|
); |
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
@@ -4275,16 +4316,15 @@ export default { |
|
|
|
* 设置历史文件界面 |
|
|
|
*/ |
|
|
|
showFileMilestone: function(file) { |
|
|
|
if(file.status == 1 && file.modifyUserID != sessionStorage.userId) |
|
|
|
{ |
|
|
|
if (file.status == 1 && file.modifyUserID != sessionStorage.userId) { |
|
|
|
this.$notify({ |
|
|
|
title: "温馨提示", |
|
|
|
message: "其他人编辑中,不能设置历史文件", |
|
|
|
type: "warning", |
|
|
|
offset: 100, |
|
|
|
duration: 5000 |
|
|
|
}); |
|
|
|
return; |
|
|
|
title: "温馨提示", |
|
|
|
message: "其他人编辑中,不能设置历史文件", |
|
|
|
type: "warning", |
|
|
|
offset: 100, |
|
|
|
duration: 5000 |
|
|
|
}); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
this.dialogFileHistory = true; |
|
|
@@ -4329,16 +4369,15 @@ export default { |
|
|
|
if (this.isCreating) { |
|
|
|
return; |
|
|
|
} |
|
|
|
if(file.status == 1 && file.modifyUserID != sessionStorage.userId) |
|
|
|
{ |
|
|
|
if (file.status == 1 && file.modifyUserID != sessionStorage.userId) { |
|
|
|
this.$notify({ |
|
|
|
title: "温馨提示", |
|
|
|
message: "其他人编辑中,不能设置历史文件", |
|
|
|
type: "warning", |
|
|
|
offset: 100, |
|
|
|
duration: 5000 |
|
|
|
}); |
|
|
|
return; |
|
|
|
title: "温馨提示", |
|
|
|
message: "其他人编辑中,不能设置历史文件", |
|
|
|
type: "warning", |
|
|
|
offset: 100, |
|
|
|
duration: 5000 |
|
|
|
}); |
|
|
|
return; |
|
|
|
} |
|
|
|
this.isCreating = true; |
|
|
|
var thisApp = this; |
|
|
@@ -4493,13 +4532,17 @@ export default { |
|
|
|
duration: 2500 |
|
|
|
}); |
|
|
|
thisApp.goFolder(thisApp.nowFolderIndex); |
|
|
|
var nowFile=response.data.data; |
|
|
|
var newFileName=nowFile.archName+"."+nowFile.extension; |
|
|
|
if(thisApp.isClient) |
|
|
|
{ |
|
|
|
var nowFile = response.data.data; |
|
|
|
var newFileName = nowFile.archName + "." + nowFile.extension; |
|
|
|
if (thisApp.isClient) { |
|
|
|
// 客户复制文件 |
|
|
|
// 1.strFileId:文件ID;2.strNewFileName:新文件名;3.strUserId:用户ID;4.strFolderId:目的文件夹ID |
|
|
|
back.copyFile(nowFile.archID,newFileName,sessionStorage.userId,nowFile.folderID); |
|
|
|
back.copyFile( |
|
|
|
nowFile.archID, |
|
|
|
newFileName, |
|
|
|
sessionStorage.userId, |
|
|
|
nowFile.folderID |
|
|
|
); |
|
|
|
} |
|
|
|
} else { |
|
|
|
this.$notify({ |
|
|
@@ -4593,21 +4636,29 @@ export default { |
|
|
|
}); |
|
|
|
thisApp.dialogCopyAndMove = false; |
|
|
|
thisApp.listFiles(); |
|
|
|
var nowFile=response.data.data; |
|
|
|
var newFileName=nowFile.archName+"."+nowFile.extension; |
|
|
|
if(thisApp.isClient) |
|
|
|
{ |
|
|
|
var nowFile = response.data.data; |
|
|
|
var newFileName = nowFile.archName + "." + nowFile.extension; |
|
|
|
if (thisApp.isClient) { |
|
|
|
var file = response.data.data; |
|
|
|
if(thisApp.classif == "copy") |
|
|
|
{ |
|
|
|
if (thisApp.classif == "copy") { |
|
|
|
// 客户复制文件 |
|
|
|
// 1.strFileId:文件ID;2.strNewFileName:新文件名;3.strUserId:用户ID;4.strFolderId:目的文件夹ID;5:strNewFileID:新文件ID |
|
|
|
back.copyFile(thisApp.BtnRightFile.archID,newFileName,sessionStorage.userId,nowFile.folderID,nowFile.archID); |
|
|
|
} |
|
|
|
else{ |
|
|
|
back.copyFile( |
|
|
|
thisApp.BtnRightFile.archID, |
|
|
|
newFileName, |
|
|
|
sessionStorage.userId, |
|
|
|
nowFile.folderID, |
|
|
|
nowFile.archID |
|
|
|
); |
|
|
|
} else { |
|
|
|
// 客户端移动文件 |
|
|
|
// 1.strFileId:文件ID;2.strNewFileName:新文件名;3.strUserId:用户ID;4.strFolderId:目的文件夹ID |
|
|
|
back.moveFile(nowFile.archID,newFileName,sessionStorage.userId,nowFile.folderID); |
|
|
|
back.moveFile( |
|
|
|
nowFile.archID, |
|
|
|
newFileName, |
|
|
|
sessionStorage.userId, |
|
|
|
nowFile.folderID |
|
|
|
); |
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
@@ -5255,10 +5306,9 @@ export default { |
|
|
|
this.dialogNewCloudFileVisible = false; |
|
|
|
this.isShowNewFiledialog = false; |
|
|
|
this.createCloudFileName = ""; |
|
|
|
var file=response.data.data; |
|
|
|
if(this.isClient) |
|
|
|
{ |
|
|
|
this.clientDownLoad(file,1); |
|
|
|
var file = response.data.data; |
|
|
|
if (this.isClient) { |
|
|
|
this.clientDownLoad(file, 1); |
|
|
|
} |
|
|
|
} else { |
|
|
|
this.$notify({ |
|
|
@@ -5317,6 +5367,8 @@ export default { |
|
|
|
const offsetWidth = this.$el.offsetWidth; // container width |
|
|
|
const maxLeft = offsetWidth - menuMinWidth; // left boundary |
|
|
|
const left = e.clientX - offsetLeft; // 15: margin right |
|
|
|
console.log(e.clientX); |
|
|
|
console.log(offsetLeft); |
|
|
|
if (left > maxLeft) { |
|
|
|
this.left = maxLeft; |
|
|
|
} else { |
|
|
@@ -5330,10 +5382,10 @@ export default { |
|
|
|
} |
|
|
|
if (type == 2 || type == 3) { |
|
|
|
//工作文件下 指定显示某些菜单项 |
|
|
|
if(this.currentPageType==1){ |
|
|
|
this.isShowMenuFile = true |
|
|
|
}else{ |
|
|
|
this.isShowMenuFile = false |
|
|
|
if (this.currentPageType == 1) { |
|
|
|
this.isShowMenuFile = true; |
|
|
|
} else { |
|
|
|
this.isShowMenuFile = false; |
|
|
|
} |
|
|
|
if (file.status == 2) { |
|
|
|
if (this.isClient) { |
|
|
@@ -5341,40 +5393,40 @@ export default { |
|
|
|
} else { |
|
|
|
this.top = this.top - 50; |
|
|
|
} |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
if (this.isClient) { |
|
|
|
this.top = this.top - 100; |
|
|
|
} else { |
|
|
|
this.top = this.top - 50; |
|
|
|
} |
|
|
|
} |
|
|
|
}else if (type == 4) { |
|
|
|
} else if (type == 4) { |
|
|
|
//工作文件下 不显示“新建文件夹”菜单项 |
|
|
|
if(this.currentPageType==1){ |
|
|
|
this.isShowMenuFoldergroup = false |
|
|
|
}else{ |
|
|
|
this.isShowMenuFoldergroup = true |
|
|
|
if (this.currentPageType == 1) { |
|
|
|
this.isShowMenuFoldergroup = false; |
|
|
|
} else { |
|
|
|
this.isShowMenuFoldergroup = true; |
|
|
|
} |
|
|
|
//点击空白处只显示“新建文件夹” |
|
|
|
if(file=="新建文件夹"){ |
|
|
|
this.isShowMenuItemCreateFoldergroup = true |
|
|
|
}else{ |
|
|
|
this.isShowMenuItemCreateFoldergroup = false |
|
|
|
if (file == "新建文件夹") { |
|
|
|
this.isShowMenuItemCreateFoldergroup = true; |
|
|
|
} else { |
|
|
|
this.isShowMenuItemCreateFoldergroup = false; |
|
|
|
} |
|
|
|
//显示分组菜单的位置 |
|
|
|
if (this.isClient) { |
|
|
|
this.top = this.top - 100; |
|
|
|
this.top = this.top - 0; |
|
|
|
} else { |
|
|
|
this.top = this.top - 5; |
|
|
|
this.top = this.top + 75; |
|
|
|
} |
|
|
|
}else{ |
|
|
|
//工作文件下 指定显示某些菜单项 |
|
|
|
if(this.currentPageType==1){ |
|
|
|
this.isShowMenuFile = true |
|
|
|
}else{ |
|
|
|
this.isShowMenuFile = false |
|
|
|
} else { |
|
|
|
//工作文件下 指定显示某些菜单项 |
|
|
|
if (this.currentPageType == 1) { |
|
|
|
this.isShowMenuFile = true; |
|
|
|
} else { |
|
|
|
this.isShowMenuFile = false; |
|
|
|
} |
|
|
|
//显示分组菜单的位置 |
|
|
|
//显示分组菜单的位置 |
|
|
|
if (this.isClient) { |
|
|
|
this.top = this.top - 100; |
|
|
|
} else { |
|
|
@@ -5385,9 +5437,9 @@ export default { |
|
|
|
this.showType = type; |
|
|
|
this.BtnRightFile = file; //鼠标右击的文件 |
|
|
|
//this.btnRightFoldergoup = file; //zxm+ 鼠标右击的文件分组 |
|
|
|
if(file=="新建文件夹"){ |
|
|
|
this.btnRightFoldergoup={} |
|
|
|
}else{ |
|
|
|
if (file == "新建文件夹") { |
|
|
|
this.btnRightFoldergoup = {}; |
|
|
|
} else { |
|
|
|
this.btnRightFoldergoup = file; //zxm+ 鼠标右击的文件分组 |
|
|
|
} |
|
|
|
}, |
|
|
@@ -5543,7 +5595,7 @@ export default { |
|
|
|
* 双击文件夹组名称 进入文件夹 |
|
|
|
*/ |
|
|
|
intoFoldergroup: function(foldergroup) { |
|
|
|
if(foldergroup==null || JSON.stringify(foldergroup)=='{}'){ |
|
|
|
if (foldergroup == null || JSON.stringify(foldergroup) == "{}") { |
|
|
|
this.$notify({ |
|
|
|
title: "温馨提示", |
|
|
|
message: "请选中文件夹或新建文件夹", |
|
|
@@ -5551,7 +5603,7 @@ export default { |
|
|
|
offset: 100, |
|
|
|
duration: 2500 |
|
|
|
}); |
|
|
|
return |
|
|
|
return; |
|
|
|
} |
|
|
|
this.dbClickSelectedFolderGroupData = foldergroup; |
|
|
|
this.isShowWorkt = false; |
|
|
@@ -5622,7 +5674,10 @@ export default { |
|
|
|
*/ |
|
|
|
renameFoldergroup: function(btnRightFoldergoup) { |
|
|
|
var thisApp = this; |
|
|
|
if(thisApp.btnRightFoldergoup==null || JSON.stringify(thisApp.btnRightFoldergoup)=='{}'){ |
|
|
|
if ( |
|
|
|
thisApp.btnRightFoldergoup == null || |
|
|
|
JSON.stringify(thisApp.btnRightFoldergoup) == "{}" |
|
|
|
) { |
|
|
|
thisApp.$notify({ |
|
|
|
title: "温馨提示", |
|
|
|
message: "请选中文件夹或新建文件夹", |
|
|
@@ -5630,7 +5685,7 @@ export default { |
|
|
|
offset: 100, |
|
|
|
duration: 2500 |
|
|
|
}); |
|
|
|
return |
|
|
|
return; |
|
|
|
} |
|
|
|
this.$prompt( |
|
|
|
"当前文件夹名称: " + btnRightFoldergoup.folderGroupName, |
|
|
@@ -5682,7 +5737,10 @@ export default { |
|
|
|
*/ |
|
|
|
copyAndMoveFoldergroup: function(btnRightFoldergoup, strCopyOrMove) { |
|
|
|
var thisApp = this; |
|
|
|
if(thisApp.btnRightFoldergoup==null || JSON.stringify(thisApp.btnRightFoldergoup)=='{}'){ |
|
|
|
if ( |
|
|
|
thisApp.btnRightFoldergoup == null || |
|
|
|
JSON.stringify(thisApp.btnRightFoldergoup) == "{}" |
|
|
|
) { |
|
|
|
thisApp.$notify({ |
|
|
|
title: "温馨提示", |
|
|
|
message: "请选中文件夹或新建文件夹", |
|
|
@@ -5690,7 +5748,7 @@ export default { |
|
|
|
offset: 100, |
|
|
|
duration: 2500 |
|
|
|
}); |
|
|
|
return |
|
|
|
return; |
|
|
|
} |
|
|
|
if (strCopyOrMove == "move") { |
|
|
|
thisApp.dialogTtile = "移动到其它文件夹"; |
|
|
@@ -5780,7 +5838,10 @@ export default { |
|
|
|
*/ |
|
|
|
removeRecycle: function(btnRightFoldergoup) { |
|
|
|
var thisApp = this; |
|
|
|
if(thisApp.btnRightFoldergoup==null || JSON.stringify(thisApp.btnRightFoldergoup)=='{}'){ |
|
|
|
if ( |
|
|
|
thisApp.btnRightFoldergoup == null || |
|
|
|
JSON.stringify(thisApp.btnRightFoldergoup) == "{}" |
|
|
|
) { |
|
|
|
thisApp.$notify({ |
|
|
|
title: "温馨提示", |
|
|
|
message: "请选中文件夹或新建文件夹", |
|
|
@@ -5788,7 +5849,7 @@ export default { |
|
|
|
offset: 100, |
|
|
|
duration: 2500 |
|
|
|
}); |
|
|
|
return |
|
|
|
return; |
|
|
|
} |
|
|
|
thisApp |
|
|
|
.$axios({ |
|
|
|