Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
pptist
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
viitto
pptist
Commits
27235db4
Commit
27235db4
authored
May 08, 2024
by
罗超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
完成用户退出企业
parent
924afcbe
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
78 additions
and
6 deletions
+78
-6
UserService.ts
src/services/UserService.ts
+5
-0
text.ts
src/utils/psdParser/text.ts
+1
-1
Index.vue
src/views/Index.vue
+12
-5
ExitTenant.vue
src/views/components/Team/ExitTenant.vue
+60
-0
No files found.
src/services/UserService.ts
View file @
27235db4
...
...
@@ -53,5 +53,10 @@ class UserServices{
let
msg
=
{
code
}
return
Api
.
Post
(
"travel_validate_invite"
,
msg
)
}
//
static
async
UserExitTenantAsync
():
Promise
<
HttpResponse
>
{
let
msg
=
{}
return
Api
.
Post
(
"travel_set_userexit_tenant"
,
msg
)
}
}
export
default
UserServices
;
\ No newline at end of file
src/utils/psdParser/text.ts
View file @
27235db4
...
...
@@ -26,7 +26,7 @@ export const ResolveText = (item: any, index: number,offsetLeft:number,offsetTop
}
if
(
transform
){
let
angle
=
Math
.
atan2
(
transform
.
xy
,
transform
.
xx
)
transformRotate
=
Math
.
ceil
(
angle
*
(
180
/
Math
.
PI
))
transformRotate
=
Math
.
floor
(
angle
*
(
180
/
Math
.
PI
))
}
const
StyleSheet
=
item
.
layer
.
adjustments
.
typeTool
.
obj
.
engineData
.
EngineDict
.
StyleRun
.
RunArray
[
0
].
StyleSheet
||
{}
...
...
src/views/Index.vue
View file @
27235db4
...
...
@@ -158,14 +158,14 @@
<el-icon><Setting
/></el-icon>
<span>
管理团队/企业
</span>
</el-menu-item>
<el-menu-item
index=
"3"
class=
"rounded"
v-if=
"userInfo.it"
>
<IconLogout
size=
"18"
style=
"margin-right: 8px"
/>
<span>
退出团队/企业
</span>
</el-menu-item>
<el-menu-item
index=
"4"
class=
"rounded"
@
click=
"showInviteHandler"
v-if=
"userInfo.it && (userInfo.ia || userInfo.ic)"
>
<IconShareOne
size=
"18"
style=
"margin-right: 8px"
/>
<span>
邀请成员
</span>
</el-menu-item>
<el-menu-item
index=
"3"
class=
"rounded"
@
click=
"showExitHandler"
v-if=
"userInfo.it"
>
<IconLogout
size=
"18"
style=
"margin-right: 8px"
/>
<span>
退出团队/企业
</span>
</el-menu-item>
</el-menu>
</div>
</el-popover>
...
...
@@ -180,6 +180,7 @@
<CreateEnterprise
:order-id=
"activeOrderId"
v-if=
"orderVisible && activeOrderId!=''"
@
close=
"()=>orderVisible=false"
></CreateEnterprise>
<invite-member
v-if=
"showAddMember"
:show-type=
"1"
@
close=
"()=>showAddMember=false"
></invite-member>
<join-enterprise></join-enterprise>
<exit-tenant
v-if=
"visibleExit"
@
close=
"()=>visibleExit=false"
></exit-tenant>
</template>
<
script
lang=
"ts"
setup
>
...
...
@@ -199,15 +200,17 @@ import OrderService from "@/services/OrderService";
import
{
ApiResult
}
from
"@/configs/axios"
;
import
InviteMember
from
"@/views/components/Team/InviteMember.vue"
;
import
JoinEnterprise
from
"@/views/components/Team/JoinEnterprise.vue"
;
import
ExitTenant
from
"@/views/components/Team/ExitTenant.vue"
;
const
{
userInfo
}
=
storeToRefs
(
useUserStore
());
console
.
log
(
userInfo
.
value
)
const
sellStore
=
useSellTemplateStore
()
const
orderVisible
=
ref
(
false
)
const
router
=
useRouter
()
const
isWorkspace
=
ref
(
true
)
const
activeOrderId
=
ref
(
''
)
const
showAddMember
=
ref
(
false
)
const
visibleExit
=
ref
(
false
)
const
popoverRef
=
ref
()
isWorkspace
.
value
=
!
router
.
currentRoute
.
value
.
path
.
includes
(
'/space/cp'
)
...
...
@@ -245,6 +248,10 @@ const showInviteHandler = ()=>{
showAddMember
.
value
=
true
popoverRef
.
value
?.
hide
?.()
}
const
showExitHandler
=
()
=>
{
visibleExit
.
value
=
true
popoverRef
.
value
?.
hide
?.()
}
const
redicetTo
=
(
path
:
string
)
=>
{
isWorkspace
.
value
=
!
path
.
includes
(
'/space/cp'
)
...
...
src/views/components/Team/ExitTenant.vue
0 → 100644
View file @
27235db4
<
template
>
<el-dialog
v-model=
"removeVisible"
title=
"退出团队/企业"
style=
"width:400px;"
@
close=
"closed"
>
<main>
<el-alert
type=
"warning"
show-icon
:closable=
"false"
>
<template
#
title
>
<span
class=
"text-normal text-dark"
>
你正在退出
<span
class=
"text-weight-bolder"
>
{{
userInfo
.
company
}}
</span>
,退出后,你将无法访问本团队/企业,其在「我的空间」中的所有内容将被清空,且不可恢复,请谨慎操作
</span>
</
template
>
</el-alert>
<div
class=
"text-dark q-my-md"
>
如确认退出团队/企业并清空内容,请输入「退出并清空」
</div>
<el-input
v-model=
"removeTokenStr"
size=
"large"
class=
"full-width"
input-style=
"font-family:pingfangr"
placeholder=
"请输入:退出并清空"
/>
</main>
<
template
#
footer
>
<el-button
@
click=
"closed"
size=
"large"
class=
"ppt-button"
:disabled=
"loading"
>
我再想想
</el-button>
<el-button
:type=
"removeTokenStr!='退出并清空'?'info':'primary'"
size=
"large"
@
click=
"exitEnterpriseHandler"
:loading=
"loading"
:disabled=
"removeTokenStr!='退出并清空' || loading"
class=
"ppt-button text-grey-8"
>
退出并清空
</el-button>
</
template
>
</el-dialog>
</template>
<
script
lang=
"ts"
setup
>
import
{
ApiResult
}
from
"@/configs/axios"
;
import
UserServices
from
"@/services/UserService"
;
import
{
useUserStore
}
from
"@/store"
;
import
{
ElMessage
}
from
"element-plus"
;
import
{
storeToRefs
}
from
"pinia"
;
import
{
ref
}
from
"vue"
;
const
emit
=
defineEmits
<
{
(
event
:
'close'
):
void
}
>
()
const
loading
=
ref
(
false
)
const
useUser
=
useUserStore
()
const
{
userInfo
}
=
storeToRefs
(
useUser
)
const
removeVisible
=
ref
(
true
)
const
removeTokenStr
=
ref
(
''
)
const
exitEnterpriseHandler
=
async
()
=>
{
if
(
loading
.
value
||
removeTokenStr
.
value
!=
'退出并清空'
)
return
loading
.
value
=
true
const
response
=
await
UserServices
.
UserExitTenantAsync
()
if
(
response
.
data
.
resultCode
==
ApiResult
.
SUCCESS
){
ElMessage
.
success
({
message
:
`成功退出了「
${
userInfo
.
value
.
company
}
」`
})
useUser
.
setNewUserInfo
(
response
.
data
.
data
)
setTimeout
(()
=>
{
location
.
reload
()
},
1000
);
}
else
{
ElMessage
.
error
({
message
:
response
.
data
.
message
})
loading
.
value
=
false
}
// rejectHandler()
}
const
closed
=
()
=>
emit
(
'close'
)
</
script
>
<
style
>
</
style
>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment