@@ -1,7 +1,8 @@
|
||||
<template lang="pug">
|
||||
.change-person-wrapper(:class="openOptions")
|
||||
.header.flex.items-center.pl-1.pr-2
|
||||
img.img-wrapper.mr-2(:src="info.avatarSrc" alt="Charge person avatar")
|
||||
BaseAvatar(:size="32").mr-6px
|
||||
img(:src="info.avatarSrc" alt="Charge person avatar")
|
||||
span.font-bold.text-sm.mr-6px {{ info.name }}
|
||||
.dot.mr-4
|
||||
.icon-wrapper.icon-down-arrow.flex.items-center.justify-center.text-xxs.cursor-pointer(@click="changeState")
|
||||
@@ -18,8 +19,10 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import BaseAvatar from "@/components/base/BaseAvatar";
|
||||
export default {
|
||||
name: "HeaderActiveClientPanel",
|
||||
components: { BaseAvatar },
|
||||
props: {
|
||||
info: Object,
|
||||
},
|
||||
|
||||
@@ -10,7 +10,8 @@
|
||||
button.header-buttons.flex.justify-center.items-center.mr-8.p-0
|
||||
.icon-bell.text-xxl
|
||||
.flex.justify-centflexer.items-center
|
||||
img.avatar-img.mr-2(:src="avatarSrc")
|
||||
BaseAvatar(:size="32").mr-2
|
||||
img(:src="avatarSrc")
|
||||
button.header-buttons
|
||||
.icon-down-arrow.text-xxs.flex.justify-center.items-center.p-0
|
||||
</template>
|
||||
@@ -20,9 +21,10 @@ import img from "@/assets/images/avatar.svg";
|
||||
import chargePersonAvatar from "@/assets/images/charge-person-avatar.svg";
|
||||
import HeaderInputs from "./HeaderInputs.vue";
|
||||
import HeaderAddClientButton from "./HeaderAddClientButton.vue";
|
||||
import BaseAvatar from "@/components/base/BaseAvatar";
|
||||
export default {
|
||||
name: "TheHeader",
|
||||
components: { HeaderInputs, HeaderAddClientButton },
|
||||
components: { HeaderInputs, HeaderAddClientButton, BaseAvatar },
|
||||
data() {
|
||||
return {
|
||||
avatarSrc: img,
|
||||
|
||||
53
src/components/base/BaseAvatar.vue
Normal file
53
src/components/base/BaseAvatar.vue
Normal file
@@ -0,0 +1,53 @@
|
||||
<template lang="pug">
|
||||
.base-avatar(:style="styles")
|
||||
slot
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "BaseAvatar",
|
||||
props: {
|
||||
size: {
|
||||
type: Number,
|
||||
size: 32,
|
||||
},
|
||||
color: {
|
||||
type: String,
|
||||
default: "#D3D4DC",
|
||||
},
|
||||
},
|
||||
|
||||
computed: {
|
||||
styles() {
|
||||
return {
|
||||
width: this.size + "px",
|
||||
height: this.size + "px",
|
||||
minWidth: this.size + "px",
|
||||
backgroundColor: this.color,
|
||||
};
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped lang="sass">
|
||||
.base-avatar
|
||||
align-items: center
|
||||
border-radius: 50%
|
||||
display: inline-flex
|
||||
justify-content: center
|
||||
line-height: normal
|
||||
position: relative
|
||||
text-align: center
|
||||
vertical-align: middle
|
||||
overflow: hidden
|
||||
color: var(--font-dark-blue-color)
|
||||
text-transform: uppercase
|
||||
|
||||
img,
|
||||
svg
|
||||
border-radius: inherit
|
||||
display: inline-flex
|
||||
height: inherit
|
||||
width: inherit
|
||||
</style>
|
||||
@@ -1,16 +1,16 @@
|
||||
<template lang="pug">
|
||||
.flex.box-border.px-4.items-center.gap-x-3.w-full.text-sm(:style="{ minWidth : width + 'px' }")
|
||||
.flex.avatar.justify-center.items-center
|
||||
span {{avatar}}
|
||||
BaseAvatar(:size="36") {{avatar}}
|
||||
span.font-semibold(v-if="!isOpenChange") {{value.fullName}}
|
||||
base-input(v-if="isOpenChange" type="text" v-model:value="value.fullName" :width-input="300")
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import BaseInput from "@/components/base/BaseInput";
|
||||
import BaseAvatar from "@/components/base/BaseAvatar";
|
||||
export default {
|
||||
name: "TableCellBodyName",
|
||||
components: { BaseInput },
|
||||
components: { BaseAvatar, BaseInput },
|
||||
props: {
|
||||
value: Object,
|
||||
avatar: String,
|
||||
|
||||
Reference in New Issue
Block a user