Commit 44b9a15d authored by Tình Trương's avatar Tình Trương

update

parent cb44aac0
...@@ -76,10 +76,34 @@ export default defineComponent({ ...@@ -76,10 +76,34 @@ export default defineComponent({
}); });
}); });
}; };
const deleteStory = (storyIdx: number) => { const deleteStory = (storyIdx: number) => {
context.emit('confirmDeleteStory', storyIdx); context.emit('confirmDeleteStory', storyIdx);
}; };
const uploadBannerImg = ref(null);
const indexBanner = ref(0);
const updateImage = (index: number) => {
indexBanner.value = index;
// eslint-disable-next-line
// @ts-ignore
// eslint-disable-next-line
uploadBannerImg.value?.click();
};
const updateBanner = (value: FileList) => {
context.emit('editBanner', {
index: indexBanner.value,
obj: encodeImageFileAsURL(value[0]),
});
Notify.create({
type: 'positive',
message: i18n.global.t('artist.actionMessages.bannerUpdateAccess'),
actions: [{ icon: 'close', color: 'white' }],
});
};
return { return {
autoplay: ref(true), autoplay: ref(true),
router, router,
...@@ -91,6 +115,9 @@ export default defineComponent({ ...@@ -91,6 +115,9 @@ export default defineComponent({
deleteImage, deleteImage,
deleteStory, deleteStory,
configImg, configImg,
updateImage,
uploadBannerImg,
updateBanner,
}; };
}, },
emits: [ emits: [
...@@ -106,5 +133,6 @@ export default defineComponent({ ...@@ -106,5 +133,6 @@ export default defineComponent({
'click:openAddStoryDialog', 'click:openAddStoryDialog',
'click:openUpdateStoryDialog', 'click:openUpdateStoryDialog',
'confirmDeleteStory', 'confirmDeleteStory',
'editBanner',
], ],
}); });
...@@ -34,8 +34,14 @@ ...@@ -34,8 +34,14 @@
</div> </div>
<div class="col-12 flex q-mt-sm"> <div class="col-12 flex q-mt-sm">
<div class="text-uppercase text-weight-medium">Thông tin profile</div> <div class="text-uppercase text-weight-medium">Thông tin profile</div>
<q-space />
<UploadImage
v-if="banners.length !== 0"
:isButton="false"
@selectedFile="uploadBanner"
></UploadImage>
</div> </div>
<div class="col-12 q-mt-sm"> <div class="col-12">
<div class="row q-col-gutter-lg"> <div class="row q-col-gutter-lg">
<div class="col-12"> <div class="col-12">
<q-carousel <q-carousel
...@@ -75,26 +81,48 @@ ...@@ -75,26 +81,48 @@
@click="deleteImage(bannerIdx)" @click="deleteImage(bannerIdx)"
></q-icon> ></q-icon>
</div> </div>
<div align="right">
<div @click="updateImage(bannerIdx)">
<q-icon
style="
position: absolute;
right: 30px;
font-size: 24px;
top: 1px;
cursor: pointer;
"
color="red"
name="mdi-pencil-circle"
>
</q-icon>
<input
ref="uploadBannerImg"
hidden
type="file"
accept="image/png, image/jpeg"
@change="updateBanner($event.target.files)"
/>
</div>
</div>
</template> </template>
</q-carousel-slide> </q-carousel-slide>
</q-carousel> </q-carousel>
<UploadImage <UploadImage
v-if="banners.length !== null" v-if="banners.length === 0"
:isBtn="true"
@selectedFile="uploadBanner" @selectedFile="uploadBanner"
></UploadImage> ></UploadImage>
<UploadImage v-else @selectedFile="uploadBanner"> </UploadImage>
</div> </div>
<div class="col-12"> <div class="col-12">
<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" placeholder="Thông tin Profile"
toolbar-text-color="white" toolbar-text-color="white"
toolbar-toggle-color="yellow-8" toolbar-toggle-color="yellow-8"
toolbar-bg="primary" toolbar-bg="primary"
style="height: 100%" style="height: 100%"
:spellcheck="false"
:toolbar="[ :toolbar="[
[ [
{ {
......
...@@ -311,7 +311,6 @@ ...@@ -311,7 +311,6 @@
<div class="row flex-center"> <div class="row flex-center">
<div class="col-3 text-weight-medium"> <div class="col-3 text-weight-medium">
{{ $t('artist.artistInformation.titleDataField.favoriteScore') }} {{ $t('artist.artistInformation.titleDataField.favoriteScore') }}
<span style="color: red">*</span>
</div> </div>
<div class="col-8"> <div class="col-8">
<q-input <q-input
......
...@@ -90,6 +90,7 @@ ...@@ -90,6 +90,7 @@
toolbar-text-color="white" toolbar-text-color="white"
toolbar-toggle-color="yellow-8" toolbar-toggle-color="yellow-8"
toolbar-bg="primary" toolbar-bg="primary"
:spellcheck="false"
:toolbar="[ :toolbar="[
[ [
{ {
......
...@@ -6,6 +6,14 @@ export default defineComponent({ ...@@ -6,6 +6,14 @@ export default defineComponent({
type: Boolean, type: Boolean,
default: false, default: false,
}, },
isButton: {
type: Boolean,
default: true,
},
tooltipMessage: {
type: String,
default: '',
},
}, },
setup() { setup() {
const upload = ref(null); const upload = ref(null);
......
<template> <template>
<div @click="uploadBanner"> <div @click="uploadBanner">
<div <div
v-if="isButton"
style=" style="
border: 2px dashed #5d319e; border: 2px dashed #5d319e;
border-radius: 5px; border-radius: 5px;
...@@ -17,6 +18,16 @@ ...@@ -17,6 +18,16 @@
<span>Tải ảnh lên</span> <span>Tải ảnh lên</span>
<!-- <div style="font-size: 12px">(kích cỡ: 1914x448)</div> --> <!-- <div style="font-size: 12px">(kích cỡ: 1914x448)</div> -->
</div> </div>
<q-btn
v-else
class="q-py-md"
flat
style="color: #5d319e"
icon="mdi-plus-circle-outline"
>
<q-tooltip v-if="tooltipMessage">{{ tooltipMessage }}</q-tooltip>
</q-btn>
<input <input
ref="upload" ref="upload"
hidden hidden
......
...@@ -462,6 +462,7 @@ export default { ...@@ -462,6 +462,7 @@ export default {
StoryAddSuccess: 'Thêm Story thành công', StoryAddSuccess: 'Thêm Story thành công',
bannerDeleteAccess: 'Xóa banner thành công', bannerDeleteAccess: 'Xóa banner thành công',
bannerAddAccess: 'Thêm banner thành công', bannerAddAccess: 'Thêm banner thành công',
bannerUpdateAccess: 'Cập nhập banner thành công',
}, },
artistInformation: { artistInformation: {
tabLabel: { tabLabel: {
......
...@@ -90,14 +90,15 @@ ...@@ -90,14 +90,15 @@
v-model:account="account" v-model:account="account"
v-model:short-description="shortDescription" v-model:short-description="shortDescription"
v-model:format-schedules="formatSchedules" v-model:format-schedules="formatSchedules"
@confirmDeleteSocialEmbedded="confirmDeleteSocialEmbedded"
@selectedFile="selectedFile"
@deleteBanner="banners.splice($event, 1)"
@openDialogUploadEmbed="isOpenDialogEmbed = true"
:id="route.params.id" :id="route.params.id"
:social-embedded="socialEmbedded" :social-embedded="socialEmbedded"
:banners="banners" :banners="banners"
:stories="stories" :stories="stories"
@confirmDeleteSocialEmbedded="confirmDeleteSocialEmbedded"
@selectedFile="selectedFile"
@deleteBanner="banners.splice($event, 1)"
@openDialogUploadEmbed="isOpenDialogEmbed = true"
@editBanner="editBanner"
@deleteStories="DeleteItemStories" @deleteStories="DeleteItemStories"
@click:openAddStoryDialog="isOpenAddStory = true" @click:openAddStoryDialog="isOpenAddStory = true"
@click:openUpdateStoryDialog="isOpenUpdateStory = true" @click:openUpdateStoryDialog="isOpenUpdateStory = true"
......
...@@ -499,6 +499,9 @@ export default defineComponent({ ...@@ -499,6 +499,9 @@ export default defineComponent({
const selectedFile = (value: BannerType) => { const selectedFile = (value: BannerType) => {
banners.value.push(value); banners.value.push(value);
}; };
const editBanner = (data: { index: number; obj: BannerType }) => {
banners.value[data.index] = data.obj;
};
const reset = ref(null); const reset = ref(null);
const resetOldData = () => { const resetOldData = () => {
document.getElementById('reset')?.click(); document.getElementById('reset')?.click();
...@@ -931,6 +934,7 @@ export default defineComponent({ ...@@ -931,6 +934,7 @@ export default defineComponent({
formatSchedules, formatSchedules,
confirmDeleteAccBank, confirmDeleteAccBank,
selectedFile, selectedFile,
editBanner,
isOpenDialogEmbed, isOpenDialogEmbed,
cardBankOptions, cardBankOptions,
typeBankOptions, typeBankOptions,
......
...@@ -440,6 +440,10 @@ export default defineComponent({ ...@@ -440,6 +440,10 @@ export default defineComponent({
const selectedFile = (value: BannerType) => { const selectedFile = (value: BannerType) => {
banners.value.push(value); banners.value.push(value);
}; };
const editBanner = (data: { index: number; obj: BannerType }) => {
banners.value[data.index] = data.obj;
};
const reset = ref(null); const reset = ref(null);
const resetOldData = () => { const resetOldData = () => {
document.getElementById('reset')?.click(); document.getElementById('reset')?.click();
...@@ -843,6 +847,7 @@ export default defineComponent({ ...@@ -843,6 +847,7 @@ export default defineComponent({
formatSchedules, formatSchedules,
confirmDeleteAccBank, confirmDeleteAccBank,
selectedFile, selectedFile,
editBanner,
isOpenDialogEmbed, isOpenDialogEmbed,
cardBankOptions, cardBankOptions,
typeBankOptions, typeBankOptions,
......
...@@ -90,10 +90,6 @@ ...@@ -90,10 +90,6 @@
v-model:account="account" v-model:account="account"
v-model:short-description="shortDescription" v-model:short-description="shortDescription"
v-model:format-schedules="formatSchedules" v-model:format-schedules="formatSchedules"
@confirmDeleteSocialEmbedded="confirmDeleteSocialEmbedded"
@selectedFile="selectedFile"
@deleteBanner="banners.splice($event, 1)"
@openDialogUploadEmbed="isOpenDialogEmbed = true"
:id="route.params.id" :id="route.params.id"
:social-embedded="socialEmbedded" :social-embedded="socialEmbedded"
:banners="banners" :banners="banners"
...@@ -102,6 +98,11 @@ ...@@ -102,6 +98,11 @@
@click:openAddStoryDialog="isOpenAddStory = true" @click:openAddStoryDialog="isOpenAddStory = true"
@click:openUpdateStoryDialog="isOpenUpdateStory = true" @click:openUpdateStoryDialog="isOpenUpdateStory = true"
@confirmDeleteStory="deleteStory" @confirmDeleteStory="deleteStory"
@confirmDeleteSocialEmbedded="confirmDeleteSocialEmbedded"
@selectedFile="selectedFile"
@editBanner="editBanner"
@deleteBanner="banners.splice($event, 1)"
@openDialogUploadEmbed="isOpenDialogEmbed = true"
></VabAccount> ></VabAccount>
</q-tab-panel> </q-tab-panel>
<q-tab-panel name="bankAccount"> <q-tab-panel name="bankAccount">
......
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