Browse Source

云盘:优化权限控制面板操作

lwx_v27
han2015 1 month ago
parent
commit
424135f401
  1. 2
      src/views/doc/manage.vue
  2. 2
      src/views/doc/space.vue
  3. 28
      src/views/doc/spacePermission.vue

2
src/views/doc/manage.vue

@ -595,7 +595,7 @@ async function uploadFolder(e:Event){
const f = files[index]
await handleFolderFile(f).catch((err)=>{
console.log(err)
result+=err
result+= (f as File).name+"上传失败\n"
})
percentage.value = Number(((index + 1) / count).toPrecision(2)) * 100
}

2
src/views/doc/space.vue

@ -424,7 +424,7 @@ async function uploadFolder(e:Event){
const f = files[index]
await handleFolderFile(f).catch((err)=>{
console.log(err)
result+=err
result+= (f as File).name+"上传失败\n"
})
percentage.value = Number(((index + 1) / count).toPrecision(2)) * 100
}

28
src/views/doc/spacePermission.vue

@ -34,6 +34,7 @@ interface Tree {
radio?:number[];
child?: Tree[]
ismanager?:boolean,
indeterminate2?:boolean,//for manager member
}
const dataSource = ref<Tree[]>([])
@ -115,16 +116,21 @@ function collectNodePermits(node:Tree){
//
function onGroupValueChange(node:Tree, val:number[]){
//if(node.indeterminate) node.indeterminate=false;
updateChildNode(node, val)
if(node.superior){
updateParentNode(node)
}
}
function updateChildNode(node:Tree, val:number[]){
if(node.indeterminate) node.indeterminate=false;
node.child?.forEach(ele => {
ele.radio=val
if(ele.child){
onGroupValueChange(ele,val)
updateChildNode(ele,val)
}
});
if(node.superior){
updateParentNode(node)
}
}
//
@ -177,7 +183,7 @@ function setParentIndeterminate(node:Tree){
const pnode = treeRef.value?.getNode(node.superior);
if(pnode){
const tdata=pnode.data as Tree
tdata.indeterminate=true
tdata.indeterminate2=true
setParentIndeterminate(tdata)
}
@ -273,8 +279,8 @@ onMounted(()=>{
<template>
<el-dialog :model-value="true" :style="{'max-height': '750px'}" v-on:close="closeFunc()">
<template #header>
<el-button link @click="managerMode=false;">文档权限管理</el-button>
<el-button v-if="spacePermit.matterUid==spaceid&&uid==suid" link @click="managerMode=true; onShowManagers()">管理员管理</el-button>
<el-button link :class="managerMode ? '' :'moveon'" @click="managerMode=false;" >文档权限管理</el-button>
<el-button v-if="spacePermit.matterUid==spaceid&&uid==suid" :class="managerMode ? 'moveon' :''" link @click="managerMode=true; onShowManagers()">管理员管理</el-button>
</template>
<div v-if="uuid==spacePermit.matterUid&&uuid!=spaceid" class="tips">当前文档存在定制权限,与空间权限不一致。<el-button size="small" @click="delMatterPermit(uuid)">恢复</el-button></div>
@ -321,11 +327,11 @@ onMounted(()=>{
<span>{{ data.name }}</span>
<div v-if="managerMode" class="buttons">
<el-checkbox v-model="data.ismanager" :indeterminate="data.indeterminate" />
<el-checkbox v-model="data.ismanager" :indeterminate="data.indeterminate2" />
</div>
<div v-else class="buttons">
<el-checkbox-group :min="0" :max="1" v-model="data.radio" @change="(val)=>onGroupValueChange(data,val)">
<el-checkbox key="forbid" :indeterminate="data.indeterminate" :value="0" />
<el-checkbox key="forbid" :indeterminate="data.indeterminate" :value="0" />
<el-checkbox key="view" :indeterminate="data.indeterminate" :value="1" />
<el-checkbox key="download" :indeterminate="data.indeterminate" :value="2" />
<el-checkbox key="updown" :indeterminate="data.indeterminate" :value="3" />
@ -375,7 +381,9 @@ onMounted(()=>{
.el-checkbox{
width: 26px;
}
.moveon{
background-color: rgb(109, 187, 238);
}
.el-tree{
/* 让整个弹出窗口位置更高一些*/
--el-tree-node-content-height:33px;

Loading…
Cancel
Save