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] const f = files[index]
await handleFolderFile(f).catch((err)=>{ await handleFolderFile(f).catch((err)=>{
console.log(err) console.log(err)
result+=err result+= (f as File).name+"上传失败\n"
}) })
percentage.value = Number(((index + 1) / count).toPrecision(2)) * 100 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] const f = files[index]
await handleFolderFile(f).catch((err)=>{ await handleFolderFile(f).catch((err)=>{
console.log(err) console.log(err)
result+=err result+= (f as File).name+"上传失败\n"
}) })
percentage.value = Number(((index + 1) / count).toPrecision(2)) * 100 percentage.value = Number(((index + 1) / count).toPrecision(2)) * 100
} }

28
src/views/doc/spacePermission.vue

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

Loading…
Cancel
Save