mirror of
https://github.com/kuaifan/dootask.git
synced 2026-02-02 02:48:13 +00:00
no message
This commit is contained in:
parent
50f8bb8721
commit
3660cbd450
@ -9,7 +9,7 @@
|
|||||||
:class="boxClass"
|
:class="boxClass"
|
||||||
:style="boxStyle"
|
:style="boxStyle"
|
||||||
:title="showName ? undefined : user.nickname">
|
:title="showName ? undefined : user.nickname">
|
||||||
<em :style="spotStyle"></em>
|
<em v-if="showStateDot" :style="spotStyle"></em>
|
||||||
<EAvatar v-if="showImg" ref="avatar" :class="{'avatar-default':isDefault}" :src="user.userimg" :size="avatarSize" :error="onError">
|
<EAvatar v-if="showImg" ref="avatar" :class="{'avatar-default':isDefault}" :src="user.userimg" :size="avatarSize" :error="onError">
|
||||||
<span class="avatar-char" :style="spotStyle">{{nickname}}</span>
|
<span class="avatar-char" :style="spotStyle">{{nickname}}</span>
|
||||||
</EAvatar>
|
</EAvatar>
|
||||||
|
|||||||
@ -34,6 +34,10 @@ export default {
|
|||||||
},
|
},
|
||||||
userResult: {
|
userResult: {
|
||||||
default: null
|
default: null
|
||||||
|
},
|
||||||
|
showStateDot: {
|
||||||
|
type: Boolean,
|
||||||
|
default: true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -11,9 +11,6 @@
|
|||||||
<p v-if="user.delete_at"><strong>{{$L('删除时间')}}: {{user.delete_at}}</strong></p>
|
<p v-if="user.delete_at"><strong>{{$L('删除时间')}}: {{user.delete_at}}</strong></p>
|
||||||
<p v-else-if="user.disable_at"><strong>{{$L('离职时间')}}: {{user.disable_at}}</strong></p>
|
<p v-else-if="user.disable_at"><strong>{{$L('离职时间')}}: {{user.disable_at}}</strong></p>
|
||||||
<slot name="end"/>
|
<slot name="end"/>
|
||||||
<div v-if="showMenu" class="avatar-icons">
|
|
||||||
<Icon type="ios-chatbubbles" @click="onOpenDialog"/>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<UserAvatar
|
<UserAvatar
|
||||||
@ -26,6 +23,7 @@
|
|||||||
:borderWitdh="borderWitdh"
|
:borderWitdh="borderWitdh"
|
||||||
:borderColor="borderColor"
|
:borderColor="borderColor"
|
||||||
:clickOpenDialog="clickOpenDialog"
|
:clickOpenDialog="clickOpenDialog"
|
||||||
|
:showStateDot="showStateDot"
|
||||||
:userResult="onUserResult"/>
|
:userResult="onUserResult"/>
|
||||||
</div>
|
</div>
|
||||||
</ETooltip>
|
</ETooltip>
|
||||||
@ -42,10 +40,6 @@ export default {
|
|||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false
|
default: false
|
||||||
},
|
},
|
||||||
showIconMenu: {
|
|
||||||
type: Boolean,
|
|
||||||
default: false
|
|
||||||
},
|
|
||||||
tooltipPlacement: {
|
tooltipPlacement: {
|
||||||
type: String,
|
type: String,
|
||||||
default: 'bottom'
|
default: 'bottom'
|
||||||
@ -75,26 +69,12 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
computed: {
|
computed: {
|
||||||
showMenu() {
|
|
||||||
if (this.$store.state.userId == this.userid) {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
if (this.user.delete_at || this.user.disable_at) {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
return this.showIconMenu
|
|
||||||
},
|
|
||||||
|
|
||||||
isBot() {
|
isBot() {
|
||||||
return !!(this.user && this.user.bot);
|
return !!(this.user && this.user.bot);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
onOpenDialog() {
|
|
||||||
this.$refs.avatar.openDialog();
|
|
||||||
},
|
|
||||||
|
|
||||||
onUserResult(info) {
|
onUserResult(info) {
|
||||||
if (typeof this.userResult === "function") {
|
if (typeof this.userResult === "function") {
|
||||||
this.userResult(info);
|
this.userResult(info);
|
||||||
|
|||||||
@ -291,6 +291,9 @@
|
|||||||
<!--搜索框-->
|
<!--搜索框-->
|
||||||
<SearchBox ref="searchBox"/>
|
<SearchBox ref="searchBox"/>
|
||||||
|
|
||||||
|
<!--会员详情窗口-->
|
||||||
|
<UserDetail/>
|
||||||
|
|
||||||
<!--工作报告-->
|
<!--工作报告-->
|
||||||
<DrawerOverlay
|
<DrawerOverlay
|
||||||
v-model="workReportShow"
|
v-model="workReportShow"
|
||||||
@ -369,9 +372,11 @@ import ApproveDetails from "./manage/approve/details.vue";
|
|||||||
import notificationKoro from "notification-koro1";
|
import notificationKoro from "notification-koro1";
|
||||||
import emitter from "../store/events";
|
import emitter from "../store/events";
|
||||||
import SearchBox from "../components/SearchBox.vue";
|
import SearchBox from "../components/SearchBox.vue";
|
||||||
|
import UserDetail from "./manage/components/UserDetail.vue";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
|
UserDetail,
|
||||||
SearchBox,
|
SearchBox,
|
||||||
ApproveDetails,
|
ApproveDetails,
|
||||||
ImgUpload,
|
ImgUpload,
|
||||||
|
|||||||
@ -41,7 +41,7 @@
|
|||||||
<template v-for="tag in $A.dialogTags(dialogData)" v-if="tag.color != 'success'">
|
<template v-for="tag in $A.dialogTags(dialogData)" v-if="tag.color != 'success'">
|
||||||
<Tag :color="tag.color" :fade="false">{{$L(tag.text)}}</Tag>
|
<Tag :color="tag.color" :fade="false">{{$L(tag.text)}}</Tag>
|
||||||
</template>
|
</template>
|
||||||
<h2 class="user-select-auto">{{dialogData.name}}</h2>
|
<h2 class="user-select-auto" @click="onViewAvatar">{{dialogData.name}}</h2>
|
||||||
<em v-if="peopleNum > 0" @click="onDialogMenu('groupInfo')">({{peopleNum}})</em>
|
<em v-if="peopleNum > 0" @click="onDialogMenu('groupInfo')">({{peopleNum}})</em>
|
||||||
<Tag v-if="dialogData.bot" class="after" :fade="false">{{$L('机器人')}}</Tag>
|
<Tag v-if="dialogData.bot" class="after" :fade="false">{{$L('机器人')}}</Tag>
|
||||||
<Tag v-if="dialogData.type === 'user' && approvaUserStatus" class="after" color="red" :fade="false">{{$L(approvaUserStatus)}}</Tag>
|
<Tag v-if="dialogData.type === 'user' && approvaUserStatus" class="after" color="red" :fade="false">{{$L(approvaUserStatus)}}</Tag>
|
||||||
@ -4273,15 +4273,19 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
onViewAvatar(e) {
|
onViewAvatar(e) {
|
||||||
let src = null
|
if (this.dialogData.type == 'group') {
|
||||||
if (e.target.tagName === "IMG") {
|
let src = null
|
||||||
src = e.target.src
|
if (e.target.tagName === "IMG") {
|
||||||
} else {
|
src = e.target.src
|
||||||
src = $A(e.target).find("img").attr("src")
|
} else {
|
||||||
}
|
src = $A(e.target).find("img").attr("src")
|
||||||
if (src) {
|
}
|
||||||
this.$store.dispatch("previewImage", src)
|
if (src) {
|
||||||
|
this.$store.dispatch("previewImage", src)
|
||||||
|
}
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
emitter.emit("openUser", this.dialogData.dialog_user?.userid)
|
||||||
},
|
},
|
||||||
|
|
||||||
onTopOperate() {
|
onTopOperate() {
|
||||||
|
|||||||
@ -126,23 +126,4 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.avatar-icons {
|
|
||||||
margin-top: 12px;
|
|
||||||
border-top: 1px solid rgba(244, 244, 245, 0.5);
|
|
||||||
padding: 8px 0 0;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
> i {
|
|
||||||
cursor: pointer;
|
|
||||||
font-size: 22px;
|
|
||||||
margin-right: 12px;
|
|
||||||
color: #F4F4F5;
|
|
||||||
&:last-child {
|
|
||||||
margin-right: 0;
|
|
||||||
}
|
|
||||||
&:hover {
|
|
||||||
color: #ffffff;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -31,3 +31,4 @@
|
|||||||
@import "calendar";
|
@import "calendar";
|
||||||
@import "dialog-droup-word-chain";
|
@import "dialog-droup-word-chain";
|
||||||
@import "dialog-complaint-info";
|
@import "dialog-complaint-info";
|
||||||
|
@import "user-detail";
|
||||||
|
|||||||
56
resources/assets/sass/pages/components/user-detail.scss
vendored
Executable file
56
resources/assets/sass/pages/components/user-detail.scss
vendored
Executable file
@ -0,0 +1,56 @@
|
|||||||
|
.common-user-detail-modal {
|
||||||
|
.ivu-modal {
|
||||||
|
max-width: 90%;
|
||||||
|
|
||||||
|
&.ivu-modal-fullscreen {
|
||||||
|
max-width: none;
|
||||||
|
|
||||||
|
.ivu-modal-content {
|
||||||
|
margin-top: calc(var(--status-bar-height) + 46px);
|
||||||
|
margin-bottom: 0;
|
||||||
|
border-top-left-radius: 18px !important;
|
||||||
|
border-top-right-radius: 18px !important;
|
||||||
|
|
||||||
|
.ivu-modal-body {
|
||||||
|
.user-detail-body {
|
||||||
|
padding-bottom: var(--navigation-bar-height);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.ivu-modal-content {
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
|
.ivu-modal-body {
|
||||||
|
padding: 0 !important;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
|
||||||
|
.user-detail-body {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
gap: 16px;
|
||||||
|
padding: 84px 24px;
|
||||||
|
|
||||||
|
> ul {
|
||||||
|
> li {
|
||||||
|
list-style: none;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
max-width: 80%;
|
||||||
|
margin: 12px auto;
|
||||||
|
|
||||||
|
> span {
|
||||||
|
flex-shrink: 0;
|
||||||
|
opacity: 0.8;
|
||||||
|
padding-right: 4px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user