perf: 在已经分享的文件夹中,可分享其中单独的子文件夹
This commit is contained in:
parent
d8be8cb5e1
commit
833bb26c91
@ -20,7 +20,7 @@
|
|||||||
<svg-icon v-if="grid" class="mobile grid icon-share" icon-class="guazai"/>
|
<svg-icon v-if="grid" class="mobile grid icon-share" icon-class="guazai"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="item.isShare && item.shareBase && !public">
|
<div v-if="item.isShare && (item.shareBase || item.subShare) && !public">
|
||||||
<div v-if="pc">
|
<div v-if="pc">
|
||||||
<svg-icon v-if="!grid" class="pc list icon-share" icon-class="share"/>
|
<svg-icon v-if="!grid" class="pc list icon-share" icon-class="share"/>
|
||||||
<svg-icon v-if="grid" class="pc grid icon-share" icon-class="share"/>
|
<svg-icon v-if="grid" class="pc grid icon-share" icon-class="share"/>
|
||||||
|
|||||||
@ -18,7 +18,7 @@
|
|||||||
<el-form-item :label="shareOptionConfig.linkLabel">
|
<el-form-item :label="shareOptionConfig.linkLabel">
|
||||||
<el-col :span="shareOptionConfig.shared ? 9 : 20" class="share-expires-data" v-if="!shareOptionConfig.shared">
|
<el-col :span="shareOptionConfig.shared ? 9 : 20" class="share-expires-data" v-if="!shareOptionConfig.shared">
|
||||||
<el-form-item prop="expiresDateOption" style="margin-bottom: 0">
|
<el-form-item prop="expiresDateOption" style="margin-bottom: 0">
|
||||||
<el-select size="small" v-model="shareOption.expiresDateOption" @change="expiresDateOptionChange" style="width: 100%">
|
<el-select size="small" v-model="shareOption.expiresDateOption" @change="expiresDateOptionChange" style="width: 100%" :disabled="isSubShare">
|
||||||
<el-option label="30天有效" :value="0"></el-option>
|
<el-option label="30天有效" :value="0"></el-option>
|
||||||
<el-option label="永久有效" :value="1"></el-option>
|
<el-option label="永久有效" :value="1"></el-option>
|
||||||
<el-option label="自定义" :value="2"></el-option>
|
<el-option label="自定义" :value="2"></el-option>
|
||||||
@ -39,6 +39,7 @@
|
|||||||
format="yyyy-MM-dd HH:mm"
|
format="yyyy-MM-dd HH:mm"
|
||||||
value-format="timestamp"
|
value-format="timestamp"
|
||||||
@change="pickerChange"
|
@change="pickerChange"
|
||||||
|
:disabled="isSubShare"
|
||||||
:picker-options="pickerOptions">
|
:picker-options="pickerOptions">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-col>
|
</el-col>
|
||||||
@ -47,7 +48,7 @@
|
|||||||
<el-form-item v-if="shareOptionConfig.shared" label="">
|
<el-form-item v-if="shareOptionConfig.shared" label="">
|
||||||
<el-col :span="12" class="shared-expires-text">分享形式</el-col>
|
<el-col :span="12" class="shared-expires-text">分享形式</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-select size="small" v-model="shareOption.isPrivacy" style="width: 100%" @change="shareFormChange">
|
<el-select size="small" v-model="shareOption.isPrivacy" style="width: 100%" @change="shareFormChange" :disabled="isSubShare">
|
||||||
<el-option label="公开链接" :value="false"></el-option>
|
<el-option label="公开链接" :value="false"></el-option>
|
||||||
<el-option label="私密链接" :value="true"></el-option>
|
<el-option label="私密链接" :value="true"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
@ -56,7 +57,7 @@
|
|||||||
|
|
||||||
<el-form-item v-if="!shareOptionConfig.shared" class="share-option-form" label="分享形式" width="100">
|
<el-form-item v-if="!shareOptionConfig.shared" class="share-option-form" label="分享形式" width="100">
|
||||||
<el-col :span="20">
|
<el-col :span="20">
|
||||||
<el-select size="small" v-model="shareOption.isPrivacy" style="width: 100%">
|
<el-select size="small" v-model="shareOption.isPrivacy" style="width: 100%" :disabled="isSubShare">
|
||||||
<el-option label="公开链接" :value="false"></el-option>
|
<el-option label="公开链接" :value="false"></el-option>
|
||||||
<el-option label="私密链接" :value="true"></el-option>
|
<el-option label="私密链接" :value="true"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
@ -93,7 +94,7 @@
|
|||||||
|
|
||||||
<el-collapse v-if="shareOptionConfig.shared && shareOption.isPrivacy" v-model="activeName">
|
<el-collapse v-if="shareOptionConfig.shared && shareOption.isPrivacy" v-model="activeName">
|
||||||
<el-collapse-item title="操作权限" name="1">
|
<el-collapse-item title="操作权限" name="1">
|
||||||
<el-checkbox-group v-model="shareOption.operationPermissionList" @change="permissionActionChange">
|
<el-checkbox-group v-model="shareOption.operationPermissionList" @change="permissionActionChange" :disabled="isSubShare">
|
||||||
<el-checkbox label="UPLOAD">上传</el-checkbox>
|
<el-checkbox label="UPLOAD">上传</el-checkbox>
|
||||||
<el-checkbox label="PUT">编辑</el-checkbox>
|
<el-checkbox label="PUT">编辑</el-checkbox>
|
||||||
<el-checkbox label="DELETE">删除</el-checkbox>
|
<el-checkbox label="DELETE">删除</el-checkbox>
|
||||||
@ -225,7 +226,8 @@ export default {
|
|||||||
linkLabel: "选择有效期",
|
linkLabel: "选择有效期",
|
||||||
},
|
},
|
||||||
filename: '',
|
filename: '',
|
||||||
shareId: ''
|
shareId: '',
|
||||||
|
isSubShare: false,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -234,11 +236,12 @@ export default {
|
|||||||
},
|
},
|
||||||
customAddrPrefix() {
|
customAddrPrefix() {
|
||||||
return `${window.location.origin}/s/`
|
return `${window.location.origin}/s/`
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
status(visible) {
|
status(visible) {
|
||||||
if (visible) {
|
if (visible) {
|
||||||
|
this.isSubShare = this.file.subShare || (this.file.isShare && !this.file.shareBase) || this.file.fatherShareId
|
||||||
this.filename = this.file.name
|
this.filename = this.file.name
|
||||||
this.shareDialogVisible = true
|
this.shareDialogVisible = true
|
||||||
this.shareOption.customAddr = ''
|
this.shareOption.customAddr = ''
|
||||||
@ -250,7 +253,7 @@ export default {
|
|||||||
})
|
})
|
||||||
this.showSharedPage(this.file)
|
this.showSharedPage(this.file)
|
||||||
} else {
|
} else {
|
||||||
if (this.file.shareBase) {
|
if (this.file.shareBase || this.file.subShare) {
|
||||||
api.getShareByFileId({fileId: this.file.fileId}).then(res => {
|
api.getShareByFileId({fileId: this.file.fileId}).then(res => {
|
||||||
const shareObject = res.data
|
const shareObject = res.data
|
||||||
shareObject.shareId = res.data.id
|
shareObject.shareId = res.data.id
|
||||||
@ -325,7 +328,7 @@ export default {
|
|||||||
},
|
},
|
||||||
// 取消分享
|
// 取消分享
|
||||||
cancelShare() {
|
cancelShare() {
|
||||||
let title = '确定要取消分享 "' + this.filename + '" 吗?'
|
let title = '确定要取消分享 "' + this.file.name + '" 吗?'
|
||||||
this.$confirm(title, '提示', {
|
this.$confirm(title, '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
@ -397,7 +400,7 @@ export default {
|
|||||||
operationPermissionList: this.shareOption.operationPermissionList
|
operationPermissionList: this.shareOption.operationPermissionList
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
if (res.data) {
|
if (res.data) {
|
||||||
let {shareId, shortId, extractionCode, operationPermissionList} = res.data
|
let {shareId, shareBase, subShare, shortId, extractionCode, operationPermissionList} = res.data
|
||||||
this.setShareLink(this.getShareLink(shareId, shortId))
|
this.setShareLink(this.getShareLink(shareId, shortId))
|
||||||
this.shareId = shareId
|
this.shareId = shareId
|
||||||
this.generateShareLinkLoading = false
|
this.generateShareLinkLoading = false
|
||||||
@ -406,7 +409,7 @@ export default {
|
|||||||
this.shareOptionConfig.linkLabel = "分享链接"
|
this.shareOptionConfig.linkLabel = "分享链接"
|
||||||
this.extractionCode = extractionCode
|
this.extractionCode = extractionCode
|
||||||
this.shareOption.operationPermissionList = operationPermissionList || []
|
this.shareOption.operationPermissionList = operationPermissionList || []
|
||||||
this.$emit('onSuccess', shareId)
|
this.$emit('onSuccess', shareBase, subShare)
|
||||||
if (update === 'pickerChange') {
|
if (update === 'pickerChange') {
|
||||||
this.afterPickerChange(shareId, expireDate)
|
this.afterPickerChange(shareId, expireDate)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3414,7 +3414,7 @@ export default {
|
|||||||
if (!row.isFolder && this.queryFileType !== 'trash') {
|
if (!row.isFolder && this.queryFileType !== 'trash') {
|
||||||
this.menus.splice(-2, 0, fileOperations.duplicate)
|
this.menus.splice(-2, 0, fileOperations.duplicate)
|
||||||
}
|
}
|
||||||
if ((row.isShare && !row.shareBase) || row.ossFolder) {
|
if (row.ossFolder) {
|
||||||
// 删除分享选项
|
// 删除分享选项
|
||||||
let index = this.menus.findIndex(item => item.operation === 'share')
|
let index = this.menus.findIndex(item => item.operation === 'share')
|
||||||
if (index > -1) {
|
if (index > -1) {
|
||||||
@ -4042,16 +4042,19 @@ export default {
|
|||||||
this.shareDialogObject = row
|
this.shareDialogObject = row
|
||||||
this.shareDialogObject.fileId = row.id
|
this.shareDialogObject.fileId = row.id
|
||||||
this.shareDialogObject.shareBase = row.shareBase
|
this.shareDialogObject.shareBase = row.shareBase
|
||||||
|
this.shareDialogObject.subShare = row.subShare
|
||||||
this.shareDialogVisible = true
|
this.shareDialogVisible = true
|
||||||
},
|
},
|
||||||
shareSuccess(shareBase) {
|
shareSuccess(shareBase, subShare) {
|
||||||
this.updateRowContextData()
|
this.updateRowContextData()
|
||||||
this.rowContextData.shareBase = shareBase
|
this.rowContextData.shareBase = shareBase
|
||||||
|
this.rowContextData.subShare = subShare
|
||||||
this.rowContextData.isShare = true
|
this.rowContextData.isShare = true
|
||||||
},
|
},
|
||||||
onCancelShare() {
|
onCancelShare() {
|
||||||
this.updateRowContextData()
|
this.updateRowContextData()
|
||||||
delete this.rowContextData.shareBase
|
delete this.rowContextData.shareBase
|
||||||
|
delete this.rowContextData.subShare
|
||||||
delete this.rowContextData.isShare
|
delete this.rowContextData.isShare
|
||||||
},
|
},
|
||||||
updateRowContextData() {
|
updateRowContextData() {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user