mirror of
https://github.com/jxxghp/MoviePilot-Frontend.git
synced 2026-07-09 22:42:21 +08:00
Merge pull request #187 from InfinityPacer/dev
This commit is contained in:
@@ -101,7 +101,7 @@ onMounted(() => {
|
|||||||
<VCard>
|
<VCard>
|
||||||
<VCardText class="text-center pt-10 pb-3">
|
<VCardText class="text-center pt-10 pb-3">
|
||||||
<VAvatar variant="flat" size="100" rounded>
|
<VAvatar variant="flat" size="100" rounded>
|
||||||
<VImg :src="user.avatar ?? avatar1" alt="avatar" />
|
<VImg :src="user.avatar || avatar1" alt="avatar" />
|
||||||
</VAvatar>
|
</VAvatar>
|
||||||
<h5 class="text-h5 mt-3">{{ user.name }}</h5>
|
<h5 class="text-h5 mt-3">{{ user.name }}</h5>
|
||||||
<VChip size="small" class="mt-3" :class="{ 'text-error': user.is_superuser }">
|
<VChip size="small" class="mt-3" :class="{ 'text-error': user.is_superuser }">
|
||||||
|
|||||||
@@ -80,6 +80,9 @@ const statusItems = [
|
|||||||
async function fetchUserInfo() {
|
async function fetchUserInfo() {
|
||||||
try {
|
try {
|
||||||
userForm.value = await api.get(`user/${props.username}`)
|
userForm.value = await api.get(`user/${props.username}`)
|
||||||
|
if (userForm.value) {
|
||||||
|
userForm.value.avatar = userForm.value.avatar || avatar1
|
||||||
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(error)
|
console.error(error)
|
||||||
}
|
}
|
||||||
@@ -148,8 +151,7 @@ const canControl = computed(() => {
|
|||||||
// 新增用户时,有权限
|
// 新增用户时,有权限
|
||||||
if (props.oper === 'add') {
|
if (props.oper === 'add') {
|
||||||
return true
|
return true
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
// 编辑显示的用户与当前用户不一致时,有权限
|
// 编辑显示的用户与当前用户不一致时,有权限
|
||||||
if (props.username !== currentUser) {
|
if (props.username !== currentUser) {
|
||||||
return true
|
return true
|
||||||
@@ -202,17 +204,10 @@ onMounted(() => {
|
|||||||
</VDivider>
|
</VDivider>
|
||||||
<VRow>
|
<VRow>
|
||||||
<VCol md="6" cols="12" v-if="props.oper === 'add'">
|
<VCol md="6" cols="12" v-if="props.oper === 'add'">
|
||||||
<VTextField v-model="userForm.name"
|
<VTextField v-model="userForm.name" density="comfortable" label="用户名" />
|
||||||
density="comfortable"
|
|
||||||
label="用户名"
|
|
||||||
/>
|
|
||||||
</VCol>
|
</VCol>
|
||||||
<VCol cols="12" md="6">
|
<VCol cols="12" md="6">
|
||||||
<VTextField v-model="userForm.email"
|
<VTextField v-model="userForm.email" density="comfortable" label="邮箱" type="email" />
|
||||||
density="comfortable"
|
|
||||||
label="邮箱"
|
|
||||||
type="email"
|
|
||||||
/>
|
|
||||||
</VCol>
|
</VCol>
|
||||||
<VCol cols="12" md="6">
|
<VCol cols="12" md="6">
|
||||||
<VTextField
|
<VTextField
|
||||||
@@ -236,7 +231,7 @@ onMounted(() => {
|
|||||||
@click:append-inner="isConfirmPasswordVisible = !isConfirmPasswordVisible"
|
@click:append-inner="isConfirmPasswordVisible = !isConfirmPasswordVisible"
|
||||||
/>
|
/>
|
||||||
</VCol>
|
</VCol>
|
||||||
<VCol cols="12" md="6" v-if="canControl" >
|
<VCol cols="12" md="6" v-if="canControl">
|
||||||
<VSelect
|
<VSelect
|
||||||
v-model="userStatus"
|
v-model="userStatus"
|
||||||
:items="statusItems"
|
:items="statusItems"
|
||||||
@@ -252,29 +247,16 @@ onMounted(() => {
|
|||||||
</VDivider>
|
</VDivider>
|
||||||
<VRow>
|
<VRow>
|
||||||
<VCol cols="12" md="6">
|
<VCol cols="12" md="6">
|
||||||
<VTextField v-model="userForm.settings.wechat_userid"
|
<VTextField v-model="userForm.settings.wechat_userid" density="comfortable" label="微信用户" />
|
||||||
density="comfortable"
|
|
||||||
label="微信用户"
|
|
||||||
/>
|
|
||||||
</VCol>
|
</VCol>
|
||||||
<VCol cols="12" md="6">
|
<VCol cols="12" md="6">
|
||||||
<VTextField v-model="userForm.settings.telegram_userid"
|
<VTextField v-model="userForm.settings.telegram_userid" density="comfortable" label="Telegram用户" />
|
||||||
density="comfortable"
|
|
||||||
label="Telegram用户"
|
|
||||||
/>
|
|
||||||
</VCol>
|
</VCol>
|
||||||
<VCol cols="12" md="6">
|
<VCol cols="12" md="6">
|
||||||
<VTextField v-model="userForm.settings.slack_userid"
|
<VTextField v-model="userForm.settings.slack_userid" density="comfortable" label="Slack用户" />
|
||||||
density="comfortable"
|
|
||||||
label="Slack用户"
|
|
||||||
/>
|
|
||||||
</VCol>
|
</VCol>
|
||||||
<VCol cols="12" md="6">
|
<VCol cols="12" md="6">
|
||||||
<VTextField
|
<VTextField v-model="userForm.settings.vocechat_userid" density="comfortable" label="VoceChat用户" />
|
||||||
v-model="userForm.settings.vocechat_userid"
|
|
||||||
density="comfortable"
|
|
||||||
label="VoceChat用户"
|
|
||||||
/>
|
|
||||||
</VCol>
|
</VCol>
|
||||||
<VCol cols="12" md="6">
|
<VCol cols="12" md="6">
|
||||||
<VTextField
|
<VTextField
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ const isCompactMode = ref(localStorage.getItem('MP_APPMODE') != '0')
|
|||||||
// 从Vuex Store中获取信息
|
// 从Vuex Store中获取信息
|
||||||
const superUser = store.state.auth.superUser
|
const superUser = store.state.auth.superUser
|
||||||
const userName = store.state.auth.userName
|
const userName = store.state.auth.userName
|
||||||
const avatar = store.state.auth.avatar
|
const avatar = computed(() => store.state.auth.avatar || avatar1)
|
||||||
|
|
||||||
// 监听精简模式切换
|
// 监听精简模式切换
|
||||||
watch(isCompactMode, value => {
|
watch(isCompactMode, value => {
|
||||||
@@ -77,7 +77,7 @@ watch(isCompactMode, value => {
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<VAvatar class="cursor-pointer ms-3" color="primary" variant="tonal">
|
<VAvatar class="cursor-pointer ms-3" color="primary" variant="tonal">
|
||||||
<VImg :src="avatar ?? avatar1" />
|
<VImg :src="avatar" />
|
||||||
|
|
||||||
<VMenu activator="parent" width="230" location="bottom end" offset="14px">
|
<VMenu activator="parent" width="230" location="bottom end" offset="14px">
|
||||||
<VList>
|
<VList>
|
||||||
@@ -86,7 +86,7 @@ watch(isCompactMode, value => {
|
|||||||
<template #prepend>
|
<template #prepend>
|
||||||
<VListItemAction start>
|
<VListItemAction start>
|
||||||
<VAvatar color="primary" variant="tonal">
|
<VAvatar color="primary" variant="tonal">
|
||||||
<VImg :src="avatar ?? avatar1" />
|
<VImg :src="avatar" />
|
||||||
</VAvatar>
|
</VAvatar>
|
||||||
</VListItemAction>
|
</VListItemAction>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
Reference in New Issue
Block a user