Commit 8d1d8147 authored by Tình Trương's avatar Tình Trương

update fix-bug nghe-sy

parent c5e7ef13
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -158,6 +158,7 @@ ...@@ -158,6 +158,7 @@
<q-editor <q-editor
v-model="info.content" v-model="info.content"
ref="editorRef" ref="editorRef"
placeholder="Nội dung *"
toolbar-text-color="white" toolbar-text-color="white"
toolbar-toggle-color="yellow-8" toolbar-toggle-color="yellow-8"
toolbar-bg="primary" toolbar-bg="primary"
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<q-item> <q-item>
<q-item-section> <q-item-section>
<q-item-label class="text-h6 text-weight-regular">{{ <q-item-label class="text-h6 text-weight-regular">{{
$t('artist.dialogLabel.title.addHotProduct') $t('artist.dialogLabel.title.addStory')
}}</q-item-label> }}</q-item-label>
</q-item-section> </q-item-section>
</q-item> </q-item>
...@@ -20,12 +20,9 @@ ...@@ -20,12 +20,9 @@
<q-card-section> <q-card-section>
<div class="row q-col-gutter-sm"> <div class="row q-col-gutter-sm">
<div class="col-12"> <div class="col-12">
<q-card v-if="urlFileLocal" flat style="max-height: 200px"> <q-card v-if="urlFileLocal" flat>
<div align="center"> <div align="center">
<q-img <q-img :src="urlFileLocal" style="aspect-ratio: 16/9">
:src="urlFileLocal"
style="max-height: 200px; aspect-ratio: 16/9"
>
</q-img> </q-img>
</div> </div>
</q-card> </q-card>
......
<template> <template>
<div class="row q-col-gutter-sm" style="max-height: calc(100vh - 14rem)"> <div
<div class="col-12 text-uppercase text-weight-medium">Tài khoản VAB</div> class="row q-col-gutter-sm q-mt-md"
<br /> style="max-height: calc(100vh - 15rem)"
>
<div class="col-auto flex flex-center justify-start"> <div class="col-auto flex flex-center justify-start">
<div>Tên đăng nhập</div> <div>Tên đăng nhập</div>
</div> </div>
...@@ -11,6 +12,7 @@ ...@@ -11,6 +12,7 @@
:model-value="account" :model-value="account"
@update:model-value="$emit('update:account', $event)" @update:model-value="$emit('update:account', $event)"
:rules="accountRules" :rules="accountRules"
type="text"
dense dense
readonly readonly
hide-bottom-space hide-bottom-space
...@@ -35,7 +37,7 @@ ...@@ -35,7 +37,7 @@
</div> </div>
<div class="col-12 q-mt-sm"> <div class="col-12 q-mt-sm">
<div class="row q-col-gutter-lg"> <div class="row q-col-gutter-lg">
<div class="col-12" style="height: 100%"> <div class="col-6" style="height: 100%">
<q-carousel <q-carousel
v-if="banners.length" v-if="banners.length"
v-model="slide" v-model="slide"
...@@ -44,7 +46,7 @@ ...@@ -44,7 +46,7 @@
arrows arrows
navigation navigation
infinite infinite
height="600px" height="350px"
style="border: 2px solid #f1f1f1" style="border: 2px solid #f1f1f1"
> >
<q-carousel-slide <q-carousel-slide
...@@ -56,14 +58,20 @@ ...@@ -56,14 +58,20 @@
? bannerInfo.url ? bannerInfo.url
: configImg.API_IMAGE_ENDPOINT + bannerInfo.bannerUrl : configImg.API_IMAGE_ENDPOINT + bannerInfo.bannerUrl
" "
style="height: 500px; aspect-ratio: 1/5" style="height: 350px; aspect-ratio: 1/5"
> >
<template v-slot:default> <template v-slot:default>
<div align="right"> <div align="right">
<q-icon <q-icon
style="
position: absolute;
right: 15px;
font-size: 24px;
top: 1px;
cursor: pointer;
"
color="red" color="red"
name="mdi-close-circle" name="mdi-close-circle"
size="24px"
@click="deleteImage(bannerIdx)" @click="deleteImage(bannerIdx)"
></q-icon> ></q-icon>
</div> </div>
...@@ -72,17 +80,18 @@ ...@@ -72,17 +80,18 @@
</q-carousel> </q-carousel>
<UploadImage <UploadImage
v-if="banners.length" v-if="banners.length"
class="q-mt-xs" class="q-mt-sm"
:isBtn="true" :isBtn="true"
@selectedFile="uploadBanner" @selectedFile="uploadBanner"
></UploadImage> ></UploadImage>
<UploadImage v-else @selectedFile="uploadBanner"></UploadImage> <UploadImage v-else @selectedFile="uploadBanner"> </UploadImage>
</div> </div>
<div class="col-12"> <div class="col-6">
<q-editor <q-editor
:model-value="shortDescription" :model-value="shortDescription"
@update:model-value="$emit('update:shortDescription', $event)" @update:model-value="$emit('update:shortDescription', $event)"
ref="editorRef" ref="editorRef"
placeholder="Nội dung"
toolbar-text-color="white" toolbar-text-color="white"
toolbar-toggle-color="yellow-8" toolbar-toggle-color="yellow-8"
toolbar-bg="primary" toolbar-bg="primary"
...@@ -168,37 +177,44 @@ ...@@ -168,37 +177,44 @@
</div> </div>
</div> </div>
</div> </div>
<div class="col-12 q-mt-md"> <div class="col-12 q-mt-sm">
<div class="row q-col-gutter-lg" align="center" justify="center"> <div
class="row q-col-gutter-lg"
style="margin-bottom: 111px"
align="center"
justify="center"
>
<div class="col-4"> <div class="col-4">
<div class="flex flex-center"> <div class="flex flex-center">
<div class="text-h6 text-weight-regular">Nổi bật(Embed)</div> <div class="text-h6 text-weight-regular q-py-md">
Nổi bật(Embed)
</div>
<q-space></q-space> <q-space></q-space>
<q-btn <q-btn
class="q-py-md"
v-if="socialEmbedded !== null" v-if="socialEmbedded !== null"
@click="$emit('openDialogUploadEmbed')" @click="$emit('openDialogUploadEmbed')"
flat flat
round
color="primary" color="primary"
icon="mdi-pencil-circle-outline" icon="mdi-pencil-circle-outline"
> >
<q-tooltip :offset="[20, 10]">Chỉnh sửa Embed</q-tooltip></q-btn <q-tooltip>Chỉnh sửa Embed</q-tooltip></q-btn
> >
<q-btn <q-btn
class="q-py-md"
v-if="socialEmbedded !== null" v-if="socialEmbedded !== null"
flat flat
round
color="primary" color="primary"
icon="mdi-trash-can-outline" icon="mdi-trash-can-outline"
@click="$emit('confirmDeleteSocialEmbedded')" @click="$emit('confirmDeleteSocialEmbedded')"
> >
<q-tooltip :offset="[20, 10]">Xoá Embed</q-tooltip></q-btn <q-tooltip>Xoá Embed</q-tooltip></q-btn
> >
</div> </div>
<q-card <div
class="my-card q-mt-sm flex flex-center" @click="$emit('openDialogUploadEmbed')"
:style="socialEmbedded !== null ? 'height: 83%;' : 'height: 90.5%'" class="flex flex-center"
bordered :style="socialEmbedded !== null ? 'height: 100%;' : 'height: 100%'"
> >
<iframe <iframe
v-if="socialEmbedded !== null" v-if="socialEmbedded !== null"
...@@ -209,54 +225,66 @@ ...@@ -209,54 +225,66 @@
<div <div
v-else v-else
@click="$emit('openDialogUploadEmbed')" @click="$emit('openDialogUploadEmbed')"
align="center" style="
class="flex flex-center q-py-xs" height: 100%;
width: 100%;
border: 2px dashed #5d319e;
border-radius: 5px;
cursor: pointer;
"
class="flex flex-center"
> >
<q-icon <q-icon
style="color: #5d319e" style="color: #5d319e"
name="mdi-plus-circle-outline" name="mdi-cloud-upload"
size="xl" size="xl"
></q-icon> ></q-icon>
<div class="q-mt-xs">{{ $t('uploadImage.uploadEmbed') }}</div> <div>{{ $t('uploadImage.uploadEmbed') }}</div>
</div> </div>
</q-card> </div>
</div> </div>
<div class="col-4"> <div class="col-4">
<div class="flex flex-center"> <div class="flex flex-center">
<div class="text-h6 text-weight-regular q-ml-md">Story</div> <div class="text-h6 text-weight-regular q-py-md">Story</div>
<q-space></q-space> <q-space></q-space>
<q-btn <q-btn
class="q-py-md"
v-if="stories.length" v-if="stories.length"
@click="$emit('click:openAddStoryDialog')" @click="$emit('click:openAddStoryDialog')"
flat flat
round
style="color: #5d319e" style="color: #5d319e"
icon="mdi-plus-circle-outline" icon="mdi-plus-circle-outline"
class="q-mr-md"
> >
<q-tooltip :offset="[20, 10]">Thêm Story</q-tooltip></q-btn <q-tooltip>Thêm Story</q-tooltip></q-btn
> >
</div> </div>
<q-card <div
class="my-card flex q-mt-sm flex-center" class="flex flex-center"
:style="stories.length ? 'height: 100%' : 'height: 90.6%;'" :style="stories.length ? 'height: 100%' : 'height: 100%;'"
bordered bordered
v-if="!stories.length" v-if="!stories.length"
> >
<div <div
@click="$emit('click:openAddStoryDialog')" @click="$emit('click:openAddStoryDialog')"
align="center" align="center"
class="flex flex-center q-py-xs" class="flex flex-center"
style="
height: 100%;
width: 100%;
border: 2px dashed #5d319e;
border-radius: 5px;
cursor: pointer;
"
> >
<q-icon <q-icon
style="color: #5d319e" style="color: #5d319e"
name="mdi-plus-circle-outline" name="mdi-cloud-upload"
size="xl" size="xl"
></q-icon> ></q-icon>
<div class="q-mt-xs">{{ $t('uploadImage.uploadStory') }}</div> <div>{{ $t('uploadImage.uploadStory') }}</div>
</div> </div>
</q-card> </div>
<q-carousel <q-carousel
v-else v-else
v-model="slideStory" v-model="slideStory"
...@@ -265,19 +293,14 @@ ...@@ -265,19 +293,14 @@
navigation navigation
infinite infinite
> >
:img-src=" bannerInfo.bannerUrl === undefined ? bannerInfo.url :
configImg.API_IMAGE_ENDPOINT + bannerInfo.bannerUrl "
<q-carousel-slide <q-carousel-slide
v-for="(story, storyIdx) in stories" v-for="(story, storyIdx) in stories"
:key="storyIdx" :key="storyIdx"
:name="storyIdx" :name="storyIdx"
class="q-pt-sm" class="q-pa-none"
style="height: 230px"
> >
<q-card class="my-card"> <div>
<q-img <q-img
fit="contain"
style="max-height: 230px"
:src=" :src="
story.file === undefined story.file === undefined
? configImg.API_IMAGE_ENDPOINT + story.imageUrl ? configImg.API_IMAGE_ENDPOINT + story.imageUrl
...@@ -287,29 +310,34 @@ ...@@ -287,29 +310,34 @@
<q-icon <q-icon
name="mdi-close-circle" name="mdi-close-circle"
color="red" color="red"
style="position: absolute; right: 0; font-size: 24px" style="
position: absolute;
right: 15px;
font-size: 24px;
cursor: pointer;
"
@click="deleteStory(storyIdx)" @click="deleteStory(storyIdx)"
></q-icon> ></q-icon>
<q-input <q-input
type="textarea" type="textarea"
class="q-px-sm"
:model-value="story.content" :model-value="story.content"
@update:model-value="$emit('update:content', $event)" @update:model-value="$emit('update:content', $event)"
readonly readonly
></q-input> ></q-input>
</q-card> </div>
</q-carousel-slide> </q-carousel-slide>
</q-carousel> </q-carousel>
</div> </div>
<div class="col-4"> <div class="col-4">
<div class="text-h6 text-weight-regular">Lịch</div> <div class="text-h6 text-weight-regular q-py-md">Lịch</div>
<q-date <q-date
style="width: 100%" style="width: 100%; height: 100%"
:model-value="formatSchedules" :model-value="formatSchedules"
@update:model-value="$emit('update:formatSchedules', $event)" @update:model-value="$emit('update:formatSchedules', $event)"
multiple multiple
readonly readonly
class="q-mt-sm"
event-color="orange" event-color="orange"
/> />
</div> </div>
......
...@@ -97,10 +97,14 @@ ...@@ -97,10 +97,14 @@
<q-btn <q-btn
type="submit" type="submit"
color="primary" color="primary"
style="width: 90px"
no-caps
:label="$t('userPage.crudActions.save')" :label="$t('userPage.crudActions.save')"
/> />
<q-btn <q-btn
color="grey" color="grey"
style="width: 90px"
no-caps
:label="$t('userPage.crudActions.cancel')" :label="$t('userPage.crudActions.cancel')"
@click="$emit('click:CloseBtn')" @click="$emit('click:CloseBtn')"
/> />
......
...@@ -97,10 +97,14 @@ ...@@ -97,10 +97,14 @@
<q-btn <q-btn
type="submit" type="submit"
color="primary" color="primary"
style="width: 90px"
no-caps
:label="$t('userPage.crudActions.save')" :label="$t('userPage.crudActions.save')"
/> />
<q-btn <q-btn
color="grey" color="grey"
style="width: 90px"
no-caps
:label="$t('userPage.crudActions.cancel')" :label="$t('userPage.crudActions.cancel')"
@click="$emit('click:CloseBtn')" @click="$emit('click:CloseBtn')"
/> />
......
...@@ -3,36 +3,63 @@ ...@@ -3,36 +3,63 @@
class="row q-col-gutter-sm q-mt-md" class="row q-col-gutter-sm q-mt-md"
style="max-height: calc(100vh - 15rem)" style="max-height: calc(100vh - 15rem)"
> >
<q-space></q-space> <div class="col-5 q-ml-xl">
<div class="col-5">
<div class="row q-mt-sm flex-center"> <div class="row q-mt-sm flex-center">
<div class="col-3 text-weight-medium"></div> <div class="col-3 text-weight-medium"></div>
<div class="col-8 flex flex-center"> <div class="col-8 flex flex-center">
<div> <div>
<q-card class="q-mb-sm" v-if="avatar !== null"> <q-card class="q-mb-sm" v-if="avatar !== null">
<q-img :src="avatar" style="height: 240px; width: 185px"></q-img> <q-img
@click="uploadBanner"
:src="avatar"
style="height: 265px; width: 195px; cursor: pointer"
></q-img>
<q-icon <q-icon
name="mdi-close-circle" name="mdi-close-circle"
color="red" color="red"
style="position: absolute; right: 0; font-size: 18px" style="
position: absolute;
right: 0;
font-size: 18px;
cursor: pointer;
"
@click="deleteAvatar" @click="deleteAvatar"
></q-icon> ></q-icon>
</q-card> </q-card>
<q-card v-else class="q-mb-sm"> <div
<q-img @click="uploadBanner"
src="~/assets/noavatar.png" v-else
style="height: 240px; width: 185px" class="q-mb-sm"
></q-img> style="
</q-card> height: 265px;
<q-card @click="uploadBanner"> width: 195px;
<div align="center" class="flex flex-center q-py-xs"> border: 2px dashed #5d319e;
border-radius: 4px;
cursor: pointer;
"
>
<div
style="
height: 100%;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
"
>
<q-icon <q-icon
style="color: #5d319e" style="color: #5d319e"
name="mdi-plus-circle-outline" name="mdi-cloud-upload"
:size="'xs'" size="xl"
></q-icon> ></q-icon>
<div class="q-mt-xs">{{ $t('uploadImage.uploadBanner') }}</div> Tải ảnh lên
</div> </div>
<q-img
@click="uploadBanner"
style="height: 265px; width: 195px"
></q-img>
</div>
<div>
<input <input
ref="upload" ref="upload"
hidden hidden
...@@ -40,7 +67,7 @@ ...@@ -40,7 +67,7 @@
type="file" type="file"
accept="image/png, image/jpeg" accept="image/png, image/jpeg"
/> />
</q-card> </div>
</div> </div>
</div> </div>
</div> </div>
...@@ -203,8 +230,7 @@ ...@@ -203,8 +230,7 @@
</div> </div>
</div> </div>
</div> </div>
<q-space></q-space> <div class="col-5 q-ml-xl">
<div class="col-5">
<div class="row q-mt-xs flex-center"> <div class="row q-mt-xs flex-center">
<div class="col-3 text-weight-medium"> <div class="col-3 text-weight-medium">
{{ $t('artist.artistInformation.titleDataField.field') }} {{ $t('artist.artistInformation.titleDataField.field') }}
......
<template> <template>
<q-card <q-card @click="uploadBanner">
@click="uploadBanner"
:class="{
'full-height full-width flex flex-center': !isBtn,
}"
bordered
>
<div <div
align="center" align="center"
:class="{ :class="{
'flex flex-center q-py-xs': isBtn, 'full-height full-width flex flex-center ': isBtn,
}" }"
> >
<q-icon <q-icon
style="color: #5d319e" style="color: #5d319e"
name="mdi-plus-circle-outline" name="mdi-cloud-upload"
:size="isBtn ? 'sm' : 'xl'" :size="isBtn ? 'md' : 'md'"
></q-icon> ></q-icon>
<div class="q-mt-xs">{{ $t('uploadImage.uploadBanner') }}</div> <span>{{ $t('uploadImage.uploadBanner') }}</span>
</div> </div>
<input <input
ref="upload" ref="upload"
......
...@@ -412,6 +412,7 @@ export default { ...@@ -412,6 +412,7 @@ export default {
}, },
dialogLabel: { dialogLabel: {
title: { title: {
addStory: 'Thêm Story',
addArtist: 'Thêm nghệ sỹ', addArtist: 'Thêm nghệ sỹ',
updateArtist: 'Cập nhật nghệ sỹ', updateArtist: 'Cập nhật nghệ sỹ',
addAccountBank: 'Thêm tài khoản ngân hàng', addAccountBank: 'Thêm tài khoản ngân hàng',
...@@ -541,7 +542,7 @@ export default { ...@@ -541,7 +542,7 @@ export default {
}, },
vabAccount: { vabAccount: {
confirmActionsTitle: { confirmActionsTitle: {
confirmDeleteStory: 'Bạn có chắc muốn xoá Story này không', confirmDeleteStory: 'Bạn có chắc muốn xoá Story này không?',
}, },
}, },
}, },
......
...@@ -81,9 +81,9 @@ export default defineComponent({ ...@@ -81,9 +81,9 @@ export default defineComponent({
const typeBankOptions: Ref<TypeCardType[]> = ref([]); const typeBankOptions: Ref<TypeCardType[]> = ref([]);
const workOptions: Ref<WorkType[]> = ref([]); const workOptions: Ref<WorkType[]> = ref([]);
const sexOptions = ref([ const sexOptions = ref([
{ id: 0, name: 'Khác' },
{ id: 1, name: 'Nam' }, { id: 1, name: 'Nam' },
{ id: 2, name: 'Nữ' }, { id: 2, name: 'Nữ' },
{ id: 3, name: 'Khác' },
]); ]);
//state sử dụng trong tab thong-tin-ca-nhan //state sử dụng trong tab thong-tin-ca-nhan
......
...@@ -118,9 +118,9 @@ export default defineComponent({ ...@@ -118,9 +118,9 @@ export default defineComponent({
const totalPage = ref(0); const totalPage = ref(0);
const fullNameKeyword = ref(''); const fullNameKeyword = ref('');
const sexOptions = ref([ const sexOptions = ref([
{ id: 0, name: 'Khác' },
{ id: 1, name: 'Nam' }, { id: 1, name: 'Nam' },
{ id: 2, name: 'Nữ' }, { id: 2, name: 'Nữ' },
{ id: 3, name: 'Khác' },
]); ]);
const fieldOptions: Ref<FieldType[]> = ref([]); const fieldOptions: Ref<FieldType[]> = ref([]);
const nationalityOptions: Ref<NationalityType[]> = ref([]); const nationalityOptions: Ref<NationalityType[]> = ref([]);
......
...@@ -293,9 +293,9 @@ export default defineComponent({ ...@@ -293,9 +293,9 @@ export default defineComponent({
const totalPage = ref(0); const totalPage = ref(0);
const fullNameKeyword = ref(''); const fullNameKeyword = ref('');
const sexOptions = ref([ const sexOptions = ref([
{ id: 0, name: 'Khác' },
{ id: 1, name: 'Nam' }, { id: 1, name: 'Nam' },
{ id: 2, name: 'Nữ' }, { id: 2, name: 'Nữ' },
{ id: 3, name: 'Khác' },
]); ]);
const configImg = config; const configImg = config;
const fieldOptions: Ref<FieldType[]> = ref([]); const fieldOptions: Ref<FieldType[]> = ref([]);
......
...@@ -103,9 +103,9 @@ export default defineComponent({ ...@@ -103,9 +103,9 @@ export default defineComponent({
const mobileNumber = ref(''); const mobileNumber = ref('');
const sex: Ref<number | undefined> = ref(); const sex: Ref<number | undefined> = ref();
const sexOptions = ref([ const sexOptions = ref([
{ id: 0, text: 'Khác' },
{ id: 1, text: 'Nam' }, { id: 1, text: 'Nam' },
{ id: 2, text: 'Nữ' }, { id: 2, text: 'Nữ' },
{ id: 3, text: 'Khác' },
]); ]);
const address: Ref<string | undefined> = ref(); const address: Ref<string | undefined> = ref();
const unit: Ref<string | null> = ref(null); const unit: Ref<string | null> = ref(null);
......
...@@ -81,9 +81,9 @@ export default defineComponent({ ...@@ -81,9 +81,9 @@ export default defineComponent({
const typeBankOptions: Ref<TypeCardType[]> = ref([]); const typeBankOptions: Ref<TypeCardType[]> = ref([]);
const workOptions: Ref<WorkType[]> = ref([]); const workOptions: Ref<WorkType[]> = ref([]);
const sexOptions = ref([ const sexOptions = ref([
{ id: 0, name: 'Khác' },
{ id: 1, name: 'Nam' }, { id: 1, name: 'Nam' },
{ id: 2, name: 'Nữ' }, { id: 2, name: 'Nữ' },
{ id: 3, name: 'Khác' },
]); ]);
//state sử dụng trong tab thong-tin-ca-nhan //state sử dụng trong tab thong-tin-ca-nhan
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment