架构类非admin不允许进行主页相关操作,【金山文档 | WPS云文档】 架构权限控制(非admin不可操作)

https://kdocs.cn/l/chA0XXfOpOg9
This commit is contained in:
446052889@qq.com 2024-07-25 17:27:30 +08:00
parent 14144002d3
commit d5445bd31b
2 changed files with 36 additions and 13 deletions

View File

@ -26,14 +26,15 @@
<i class="iconfont icon-operate" style="cursor: pointer;">&#xe63c;</i>
</span>
<el-dropdown-menu slot="dropdown" style="min-width: 200px;">
<el-dropdown-item v-if="mainRepository.folder && (isOlderVersion ? havingWritePerm : mainRepository.havingWritePerm) " class="el-dropdown-row" @click.native="openUpdateFolder(mainRepository.id,mainRepository.name,mainRepository.desc,mainRepository.methodId,mainRepository.methodName)">
<el-dropdown-item v-if="((crrentUserId == 'admin') || (crrentUserId != 'admin' && mainRepository.methodId == 'default')) && mainRepository.folder && (isOlderVersion ? havingWritePerm : mainRepository.havingWritePerm) " class="el-dropdown-row" @click.native="openUpdateFolder(mainRepository.id,mainRepository.name,mainRepository.desc,mainRepository.methodId,mainRepository.methodName)">
<div style="height: 100%;width: 100%;font-size: 14px;"><span style="display: inline-block;width: 20px;"></span><span style="font-size: 12px;">修改{{mainRepository.methodName}}</span></div>
</el-dropdown-item>
<el-dropdown-item v-if="!mainRepository.folder" class="el-dropdown-row" @click.native="openDesigner(item.id)">
<div style="height: 100%;width: 100%;font-size: 14px;"><span style="display: inline-block;width: 20px;"></span><span style="font-size: 12px;">打开模型</span></div>
</el-dropdown-item>
<el-dropdown-item v-if="(mainRepository.methodId =='default' && (isOlderVersion ? havingWritePerm : mainRepository.havingWritePerm)) || mainRepository.methodId !='default'" divided/>
<!-- <el-dropdown-item v-if="(mainRepository.methodId =='default' && (isOlderVersion ? havingWritePerm : mainRepository.havingWritePerm)) || mainRepository.methodId !='default'" divided/>-->
<el-dropdown-item v-if="(((crrentUserId == 'admin') || (crrentUserId != 'admin' && mainRepository.methodId == 'default')) && mainRepository.folder && (isOlderVersion ? havingWritePerm : mainRepository.havingWritePerm)) || !mainRepository.folder" divided/>
<el-dropdown-item v-if="mainRepository.isFavorite" class="el-dropdown-row" @click.native="setFavorite('0', mainRepository.versionId, item.id)">
<div style="height: 100%;width: 100%;font-size: 14px;"><span style="display: inline-block;width: 20px;"><i class="iconfont" style="font-size: 12px;color: #FFB800;">&#xe618;</i></span><span style="font-size: 12px;">取消收藏</span></div>
@ -42,19 +43,19 @@
<div style="height: 100%;width: 100%;font-size: 14px;"><span style="display: inline-block;width: 20px;"><i class="iconfont" style="font-size: 12px;">&#xe630;</i></span><span style="font-size: 12px;">收藏</span></div>
</el-dropdown-item>
<el-dropdown-item v-if="(isOlderVersion ? havingWritePerm : mainRepository.havingWritePerm)" class="el-dropdown-row" @click.native="moveFile(item.id)">
<el-dropdown-item v-if="(!mainRepository.folder || (((crrentUserId == 'admin') || (crrentUserId != 'admin' && mainRepository.methodId == 'default')))) && (isOlderVersion ? havingWritePerm : mainRepository.havingWritePerm)" class="el-dropdown-row" @click.native="moveFile(item.id)">
<div style="height: 100%;width: 100%;font-size: 14px;"><span style="display: inline-block;width: 20px;"></span><span style="font-size: 12px;">移动至</span></div>
</el-dropdown-item>
<el-dropdown-item v-if="(isOlderVersion ? havingWritePerm : mainRepository.havingWritePerm)" class="el-dropdown-row" @click.native="copyFiles(item.id)">
<el-dropdown-item v-if="(!mainRepository.folder || (((crrentUserId == 'admin') || (crrentUserId != 'admin' && mainRepository.methodId == 'default')))) && (isOlderVersion ? havingWritePerm : mainRepository.havingWritePerm)" class="el-dropdown-row" @click.native="copyFiles(item.id)">
<div style="height: 100%;width: 100%;font-size: 14px;"><span style="display: inline-block;width: 20px;"></span><span style="font-size: 12px;">创建副本</span></div>
</el-dropdown-item>
<el-dropdown-item class="el-dropdown-row" @click.native="exportFiles(item.id)">
<div style="height: 100%;width: 100%;font-size: 14px;"><span style="display: inline-block;width: 20px;"></span><span style="font-size: 12px;">导出</span></div>
</el-dropdown-item>
<el-dropdown-item class="el-dropdown-row" @click.native="openRepositoryInfoById('version',mainRepository)">
<el-dropdown-item v-if="(!mainRepository.folder || (((crrentUserId == 'admin') || (crrentUserId != 'admin' && mainRepository.methodId == 'default'))))" class="el-dropdown-row" @click.native="openRepositoryInfoById('version',mainRepository)">
<div style="height: 100%;width: 100%;font-size: 14px;"><span style="display: inline-block;width: 20px;"></span><span style="font-size: 12px;">版本管理</span></div>
</el-dropdown-item>
<el-dropdown-item v-if="(isOlderVersion ? havingWritePerm : mainRepository.havingWritePerm)" divided style="height: 30px;line-height: 30px;" @click.native="removeFiles(item.id)">
<el-dropdown-item v-if="(!mainRepository.folder || (((crrentUserId == 'admin') || (crrentUserId != 'admin' && mainRepository.methodId == 'default')))) && (isOlderVersion ? havingWritePerm : mainRepository.havingWritePerm)" divided style="height: 30px;line-height: 30px;" @click.native="removeFiles(item.id)">
<div class="text-important-color" style="height: 100%;width: 100%;font-size: 14px;"><span style="display: inline-block;width: 20px;"><i class="iconfont icon-lajitong1" style="font-size: 12px;"></i></span><span style="font-size: 12px;">删除模型</span></div>
</el-dropdown-item>
@ -143,7 +144,7 @@
<template slot-scope="scope">
<div style="width: 16px;display: inline-block;">
<div class="operate-icon-display">
<el-tooltip v-if="scope.row.folder && (isOlderVersion ? havingWritePerm : scope.row.havingWritePerm) " placement="bottom" :hide-after=2000>
<el-tooltip v-if="((crrentUserId == 'admin') || (crrentUserId != 'admin' && scope.row.methodId == 'default')) && scope.row.folder && (isOlderVersion ? havingWritePerm : scope.row.havingWritePerm) " placement="bottom" :hide-after=2000>
<span slot="content">修改{{scope.row.methodName}}</span>
<i class="iconfont icon-operate" style="display: inline-block;cursor: pointer;" @click="openUpdateFolder(scope.row.id, scope.row.name, scope.row.desc, scope.row.methodId, scope.row.methodName)">&#xe8b5;</i>
</el-tooltip>
@ -174,29 +175,31 @@
<i class="iconfont icon-operate" style="cursor: pointer;">&#xe63c;</i>
</span>
<el-dropdown-menu slot="dropdown" style="min-width: 200px;">
<el-dropdown-item v-if="scope.row.folder && (isOlderVersion ? havingWritePerm : scope.row.havingWritePerm)" class="el-dropdown-row" @click.native="openUpdateFolder(scope.row.id, scope.row.name, scope.row.desc, scope.row.methodId, scope.row.methodName)">
<el-dropdown-item v-if="((crrentUserId == 'admin') || (crrentUserId != 'admin' && scope.row.methodId == 'default')) && scope.row.folder && (isOlderVersion ? havingWritePerm : scope.row.havingWritePerm)" class="el-dropdown-row" @click.native="openUpdateFolder(scope.row.id, scope.row.name, scope.row.desc, scope.row.methodId, scope.row.methodName)">
<div style="height: 100%;width: 100%;font-size: 14px;"><span style="display: inline-block;width: 20px;"></span><span style="font-size: 12px;">修改{{scope.row.methodName}}</span></div>
</el-dropdown-item>
<el-dropdown-item v-if="!scope.row.folder" class="el-dropdown-row" @click.native="openDesigner(scope.row.id)">
<div style="height: 100%;width: 100%;font-size: 14px;"><span style="display: inline-block;width: 20px;"></span><span style="font-size: 12px;">打开模型</span></div>
</el-dropdown-item>
<el-dropdown-item v-if="(scope.row.methodId=='default' && (isOlderVersion ? havingWritePerm : scope.row.havingWritePerm)) || scope.row.methodId!='default'" divided/>
<!-- <el-dropdown-item v-if="(scope.row.methodId=='default' && (isOlderVersion ? havingWritePerm : scope.row.havingWritePerm)) || scope.row.methodId!='default'" divided/>-->
<el-dropdown-item v-if="(((crrentUserId == 'admin') || (crrentUserId != 'admin' && scope.row.methodId == 'default')) && scope.row.folder && (isOlderVersion ? havingWritePerm : scope.row.havingWritePerm)) || !scope.row.folder" divided/>
<el-dropdown-item v-if="scope.row.isFavorite" class="el-dropdown-row" @click.native="setFavorite('0', scope.row.versionId, scope.row.id)">
<div style="height: 100%;width: 100%;font-size: 14px;"><span style="display: inline-block;width: 20px;"><i class="iconfont" style="font-size: 12px;color: #FFB800;">&#xe618;</i></span><span style="font-size: 12px;">取消收藏</span></div>
</el-dropdown-item>
<el-dropdown-item v-else class="el-dropdown-row" @click.native="setFavorite('1', scope.row.versionId, scope.row.id)">
<div style="height: 100%;width: 100%;font-size: 14px;"><span style="display: inline-block;width: 20px;"><i class="iconfont" style="font-size: 12px;">&#xe630;</i></span><span style="font-size: 12px;">收藏</span></div>
</el-dropdown-item>
<el-dropdown-item v-if="(isOlderVersion ? havingWritePerm : scope.row.havingWritePerm)" class="el-dropdown-row" @click.native="moveFile(scope.row.id)">
<el-dropdown-item v-if="(!scope.row.folder || (((crrentUserId == 'admin') || (crrentUserId != 'admin' && scope.row.methodId == 'default')))) && (isOlderVersion ? havingWritePerm : scope.row.havingWritePerm)" class="el-dropdown-row" @click.native="moveFile(scope.row.id)">
<div style="height: 100%;width: 100%;font-size: 14px;"><span style="display: inline-block;width: 20px;"></span><span style="font-size: 12px;">移动至</span></div>
</el-dropdown-item>
<el-dropdown-item v-if="(isOlderVersion ? havingWritePerm : scope.row.havingWritePerm)" class="el-dropdown-row" @click.native="copyFiles(scope.row.id)">
<el-dropdown-item v-if="(!scope.row.folder || (((crrentUserId == 'admin') || (crrentUserId != 'admin' && scope.row.methodId == 'default')))) && (isOlderVersion ? havingWritePerm : scope.row.havingWritePerm)" class="el-dropdown-row" @click.native="copyFiles(scope.row.id)">
<div style="height: 100%;width: 100%;font-size: 14px;"><span style="display: inline-block;width: 20px;"></span><span style="font-size: 12px;">创建副本</span></div>
</el-dropdown-item>
<el-dropdown-item class="el-dropdown-row" @click.native="exportFiles(scope.row.id)">
<div style="height: 100%;width: 100%;font-size: 14px;"><span style="display: inline-block;width: 20px;"></span><span style="font-size: 12px;">导出</span></div>
</el-dropdown-item>
<el-dropdown-item class="el-dropdown-row" @click.native="openRepositoryInfo('version')">
<el-dropdown-item v-if="(!scope.row.folder || (((crrentUserId == 'admin') || (crrentUserId != 'admin' && scope.row.methodId == 'default'))))" class="el-dropdown-row" @click.native="openRepositoryInfo('version')">
<div style="height: 100%;width: 100%;font-size: 14px;"><span style="display: inline-block;width: 20px;"></span><span style="font-size: 12px;">版本管理</span></div>
</el-dropdown-item>
<el-dropdown-item v-if="modelConvertInstall && scope.row.methodId == 'process.epc'" @click.native="openModelConvertDialog(scope.row.id,scope.row.methodId,'single')">
@ -205,7 +208,7 @@
<el-dropdown-item v-if="subProcess.appInstall && (scope.row.methodId === 'process.epc' || scope.row.methodId === 'process.flowchart')" class="el-dropdown-row" @click.native="openSubProcessFn(scope.row)">
<div style="height: 100%;width: 100%;font-size: 14px;"><span style="display: inline-block;width: 20px;"></span><span style="font-size: 12px;">生成端到端流程图</span></div>
</el-dropdown-item>
<el-dropdown-item v-if="(isOlderVersion ? havingWritePerm : scope.row.havingRemovePerm)" divided style="height: 30px;line-height: 30px;" @click.native="removeFiles(scope.row.id)">
<el-dropdown-item v-if="(!scope.row.folder || (((crrentUserId == 'admin') || (crrentUserId != 'admin' && scope.row.methodId == 'default')))) && (isOlderVersion ? havingWritePerm : scope.row.havingRemovePerm)" divided style="height: 30px;line-height: 30px;" @click.native="removeFiles(scope.row.id)">
<div class="text-important-color" style="height: 100%;width: 100%;font-size: 14px;"><span style="display: inline-block;width: 20px;"><i class="iconfont icon-lajitong1" style="font-size: 12px;"></i></span><span style="font-size: 12px;">删除模型</span></div>
</el-dropdown-item>
</el-dropdown-menu>
@ -1296,6 +1299,13 @@
sourceIds.push(id);
} else {//
let checkedData = that.checkedRepositorys;
for(let i=0;i<this.checkedRepositorys.length;i++){
if(this.checkedRepositorys[i].folder==true && this.crrentUserId!='admin' && this.checkedRepositorys[i].methodId !="default"){
this.$message({message: '架构不可进行复制操作!!',type: 'warning'});
that.tableLoading = false;
return;
}
}
for (let i = 0; i < checkedData.length; i++) {
sourceIds.push(checkedData[i].id);
}
@ -1527,6 +1537,12 @@
repositoryIds.push(id);
} else {//
let checkedData = that.checkedRepositorys;
for(let i=0;i<this.checkedRepositorys.length;i++){
if(this.checkedRepositorys[i].folder==true && this.crrentUserId!='admin' && this.checkedRepositorys[i].methodId !="default"){
this.$message({message: '架构不可进行删除操作!!',type: 'warning'});
return;
}
}
for (let i = 0; i < checkedData.length; i++) {
repositoryIds.push(checkedData[i].id);
}

View File

@ -1079,6 +1079,13 @@
item.clickFlag = false;
item.cursor = 'default';
}
// admin
if (uid != 'admin' && item.method != 'default') {// admin
item.opacity = 0.4;
item.filter = 'alpha(opacity=40)';
item.clickFlag = false;
item.cursor = 'default';
}
}
that.folderMethodList = folderMethodList;
//