Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Q
quasar-web-base
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Nguyễn Hải Sơn
quasar-web-base
Commits
c5e7ef13
Commit
c5e7ef13
authored
Jun 28, 2021
by
Tình Trương
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update fix-bug
parent
465106da
Changes
17
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
459 additions
and
255 deletions
+459
-255
logo_cms.png
public/icons/logo_cms.png
+0
-0
logo_cms_2.png
public/icons/logo_cms_2.png
+0
-0
index.vue
src/components/add-update-banner/index.vue
+1
-0
index.vue
src/components/add-update-post/index.vue
+1
-0
index.vue
src/components/artist-information/VAB-account/index.vue
+11
-3
PersonalInformation.ts
...t-information/personal-information/PersonalInformation.ts
+8
-0
index.vue
...ponents/artist-information/personal-information/index.vue
+48
-5
index.vue
...mponents/update-info-vab/update-info-vab-dialog/index.vue
+1
-1
index.vue
src/components/upload-image/index.vue
+1
-0
index.ts
src/i18n/vi/index.ts
+5
-0
index.vue
src/pages/cap-nhat-thong-tin-nghe-sy/index.vue
+123
-119
updateInformationArtist.ts
...ges/cap-nhat-thong-tin-nghe-sy/updateInformationArtist.ts
+57
-0
Login.ts
src/pages/login/Login.ts
+1
-0
index.vue
src/pages/login/index.vue
+22
-6
index.vue
src/pages/nghe-sy/index.vue
+2
-2
AddArtist.ts
src/pages/them-nghe-sy/AddArtist.ts
+55
-0
index.vue
src/pages/them-nghe-sy/index.vue
+123
-119
No files found.
public/icons/logo_cms.png
0 → 100644
View file @
c5e7ef13
14.8 KB
public/icons/logo_cms_2.png
0 → 100644
View file @
c5e7ef13
14.3 KB
src/components/add-update-banner/index.vue
View file @
c5e7ef13
...
@@ -57,6 +57,7 @@
...
@@ -57,6 +57,7 @@
<q-card
@
click=
"uploadAvatar"
>
<q-card
@
click=
"uploadAvatar"
>
<div
align=
"center"
class=
"flex flex-center q-py-xs"
>
<div
align=
"center"
class=
"flex flex-center q-py-xs"
>
<q-icon
<q-icon
style=
"color: #5d319e"
name=
"mdi-plus-circle-outline"
name=
"mdi-plus-circle-outline"
:size=
"'xs'"
:size=
"'xs'"
></q-icon>
></q-icon>
...
...
src/components/add-update-post/index.vue
View file @
c5e7ef13
...
@@ -57,6 +57,7 @@
...
@@ -57,6 +57,7 @@
<q-card
@
click=
"uploadAvatar"
>
<q-card
@
click=
"uploadAvatar"
>
<div
align=
"center"
class=
"flex flex-center q-py-xs"
>
<div
align=
"center"
class=
"flex flex-center q-py-xs"
>
<q-icon
<q-icon
style=
"color: #5d319e"
name=
"mdi-plus-circle-outline"
name=
"mdi-plus-circle-outline"
:size=
"'xs'"
:size=
"'xs'"
></q-icon>
></q-icon>
...
...
src/components/artist-information/VAB-account/index.vue
View file @
c5e7ef13
...
@@ -212,7 +212,11 @@
...
@@ -212,7 +212,11 @@
align=
"center"
align=
"center"
class=
"flex flex-center q-py-xs"
class=
"flex flex-center q-py-xs"
>
>
<q-icon
name=
"mdi-plus-circle-outline"
size=
"xl"
></q-icon>
<q-icon
style=
"color: #5d319e"
name=
"mdi-plus-circle-outline"
size=
"xl"
></q-icon>
<div
class=
"q-mt-xs"
>
{{ $t('uploadImage.uploadEmbed') }}
</div>
<div
class=
"q-mt-xs"
>
{{ $t('uploadImage.uploadEmbed') }}
</div>
</div>
</div>
</q-card>
</q-card>
...
@@ -227,7 +231,7 @@
...
@@ -227,7 +231,7 @@
@
click=
"$emit('click:openAddStoryDialog')"
@
click=
"$emit('click:openAddStoryDialog')"
flat
flat
round
round
color=
"primary
"
style=
"color: #5d319e
"
icon=
"mdi-plus-circle-outline"
icon=
"mdi-plus-circle-outline"
class=
"q-mr-md"
class=
"q-mr-md"
>
>
...
@@ -245,7 +249,11 @@
...
@@ -245,7 +249,11 @@
align=
"center"
align=
"center"
class=
"flex flex-center q-py-xs"
class=
"flex flex-center q-py-xs"
>
>
<q-icon
name=
"mdi-plus-circle-outline"
size=
"xl"
></q-icon>
<q-icon
style=
"color: #5d319e"
name=
"mdi-plus-circle-outline"
size=
"xl"
></q-icon>
<div
class=
"q-mt-xs"
>
{{ $t('uploadImage.uploadStory') }}
</div>
<div
class=
"q-mt-xs"
>
{{ $t('uploadImage.uploadStory') }}
</div>
</div>
</div>
</q-card>
</q-card>
...
...
src/components/artist-information/personal-information/PersonalInformation.ts
View file @
c5e7ef13
...
@@ -21,6 +21,8 @@ export default defineComponent({
...
@@ -21,6 +21,8 @@ export default defineComponent({
artistLevel
:
{
type
:
Number
,
required
:
true
},
artistLevel
:
{
type
:
Number
,
required
:
true
},
phoneNumber
:
{
type
:
String
,
required
:
true
},
phoneNumber
:
{
type
:
String
,
required
:
true
},
email
:
{
type
:
String
,
required
:
true
},
email
:
{
type
:
String
,
required
:
true
},
phoneNumberAdminister
:
{
type
:
String
,
required
:
true
},
emailAdminister
:
{
type
:
String
,
required
:
true
},
facebook
:
{
type
:
String
,
required
:
true
},
facebook
:
{
type
:
String
,
required
:
true
},
facebookMessage
:
{
type
:
String
,
required
:
true
},
facebookMessage
:
{
type
:
String
,
required
:
true
},
instagram
:
{
type
:
String
,
required
:
true
},
instagram
:
{
type
:
String
,
required
:
true
},
...
@@ -36,6 +38,8 @@ export default defineComponent({
...
@@ -36,6 +38,8 @@ export default defineComponent({
artistNameRules
:
{
type
:
Boolean
,
required
:
true
},
artistNameRules
:
{
type
:
Boolean
,
required
:
true
},
birthdayRules
:
{
type
:
Boolean
,
required
:
true
},
birthdayRules
:
{
type
:
Boolean
,
required
:
true
},
emailRules
:
{
type
:
Boolean
,
required
:
true
},
emailRules
:
{
type
:
Boolean
,
required
:
true
},
emailAdministerRules
:
{
type
:
Boolean
,
required
:
true
},
phoneNumberAdministerRules
:
{
type
:
Boolean
,
required
:
true
},
addressRules
:
{
type
:
Boolean
,
required
:
true
},
addressRules
:
{
type
:
Boolean
,
required
:
true
},
phoneNumberRules
:
{
type
:
Boolean
,
required
:
true
},
phoneNumberRules
:
{
type
:
Boolean
,
required
:
true
},
sexRules
:
{
type
:
Boolean
,
required
:
true
},
sexRules
:
{
type
:
Boolean
,
required
:
true
},
...
@@ -46,6 +50,8 @@ export default defineComponent({
...
@@ -46,6 +50,8 @@ export default defineComponent({
artistLevelRules
:
{
type
:
Boolean
,
required
:
true
},
artistLevelRules
:
{
type
:
Boolean
,
required
:
true
},
errorMessPhoneNumber
:
{
type
:
String
,
required
:
true
},
errorMessPhoneNumber
:
{
type
:
String
,
required
:
true
},
errorMessEmail
:
{
type
:
String
,
required
:
true
},
errorMessEmail
:
{
type
:
String
,
required
:
true
},
errorMessPhoneNumberAdminister
:
{
type
:
String
,
required
:
true
},
errorMessEmailAdminister
:
{
type
:
String
,
required
:
true
},
},
},
components
:
{
components
:
{
UploadImage
,
UploadImage
,
...
@@ -144,6 +150,8 @@ export default defineComponent({
...
@@ -144,6 +150,8 @@ export default defineComponent({
};
};
},
},
emits
:
[
emits
:
[
'update:emailAdminister'
,
'update:phoneNumberAdminister'
,
'update:artistCode'
,
'update:artistCode'
,
'update:fullName'
,
'update:fullName'
,
'update:avatar'
,
'update:avatar'
,
...
...
src/components/artist-information/personal-information/index.vue
View file @
c5e7ef13
...
@@ -9,8 +9,8 @@
...
@@ -9,8 +9,8 @@
<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
style=
"margin-bottom: 8px
"
v-if=
"avatar !== null"
>
<q-card
class=
"q-mb-sm
"
v-if=
"avatar !== null"
>
<q-img
:src=
"avatar"
style=
"height:
180px; width: 13
5px"
></q-img>
<q-img
:src=
"avatar"
style=
"height:
240px; width: 18
5px"
></q-img>
<q-icon
<q-icon
name=
"mdi-close-circle"
name=
"mdi-close-circle"
color=
"red"
color=
"red"
...
@@ -18,15 +18,19 @@
...
@@ -18,15 +18,19 @@
@
click=
"deleteAvatar"
@
click=
"deleteAvatar"
></q-icon>
></q-icon>
</q-card>
</q-card>
<q-card
v-else
style=
"margin-bottom: 8px
"
>
<q-card
v-else
class=
"q-mb-sm
"
>
<q-img
<q-img
src=
"~/assets/noavatar.png"
src=
"~/assets/noavatar.png"
style=
"height:
180px; width: 13
5px"
style=
"height:
240px; width: 18
5px"
></q-img>
></q-img>
</q-card>
</q-card>
<q-card
@
click=
"uploadBanner"
>
<q-card
@
click=
"uploadBanner"
>
<div
align=
"center"
class=
"flex flex-center q-py-xs"
>
<div
align=
"center"
class=
"flex flex-center q-py-xs"
>
<q-icon
name=
"mdi-plus-circle-outline"
:size=
"'xs'"
></q-icon>
<q-icon
style=
"color: #5d319e"
name=
"mdi-plus-circle-outline"
:size=
"'xs'"
></q-icon>
<div
class=
"q-mt-xs"
>
{{
$t
(
'uploadImage.uploadBanner'
)
}}
</div>
<div
class=
"q-mt-xs"
>
{{
$t
(
'uploadImage.uploadBanner'
)
}}
</div>
</div>
</div>
<input
<input
...
@@ -337,6 +341,45 @@
...
@@ -337,6 +341,45 @@
></q-input>
></q-input>
</div>
</div>
</div>
</div>
<div
class=
"row q-mt-sm flex-center"
>
<div
class=
"col-3 text-weight-medium"
>
{{
$t('artist.artistInformation.titleDataField.phoneNumberAdminister')
}}
<span
style=
"color: red"
>
*
</span>
</div>
<div
class=
"col-8"
>
<q-input
:model-value=
"phoneNumberAdminister"
@
update:model-value=
"$emit('update:phoneNumberAdminister', $event)"
:error=
"phoneNumberAdministerRules"
:error-message=
"errorMessPhoneNumberAdminister"
mask=
"##########"
outlined
dense
hide-bottom-space
></q-input>
</div>
</div>
<div
class=
"row q-mt-md flex-center"
>
<div
class=
"col-3 text-weight-medium"
>
{{ $t('artist.artistInformation.titleDataField.emailAdminister') }}
<span
style=
"color: red"
>
*
</span>
</div>
<div
class=
"col-8"
>
<q-input
:model-value=
"emailAdminister"
@
update:model-value=
"$emit('update:emailAdminister', $event)"
:error=
"emailAdministerRules"
:error-message=
"errorMessEmailAdminister"
outlined
dense
hide-bottom-space
></q-input>
</div>
</div>
<div
class=
"row q-mt-md flex-center"
>
<div
class=
"row q-mt-md flex-center"
>
<div
class=
"col-3 text-weight-medium"
>
<div
class=
"col-3 text-weight-medium"
>
{{ $t('artist.artistInformation.titleDataField.facebook') }}
{{ $t('artist.artistInformation.titleDataField.facebook') }}
...
...
src/components/update-info-vab/update-info-vab-dialog/index.vue
View file @
c5e7ef13
...
@@ -42,7 +42,6 @@
...
@@ -42,7 +42,6 @@
</q-img>
</q-img>
<q-icon
<q-icon
name=
"mdi-close-circle"
name=
"mdi-close-circle"
color=
"red"
style=
"position: absolute; right: 0; font-size: 18px"
style=
"position: absolute; right: 0; font-size: 18px"
@
click=
"deleteAvatar"
@
click=
"deleteAvatar"
></q-icon>
></q-icon>
...
@@ -57,6 +56,7 @@
...
@@ -57,6 +56,7 @@
<q-card
@
click=
"uploadAvatar"
>
<q-card
@
click=
"uploadAvatar"
>
<div
align=
"center"
class=
"flex flex-center q-py-xs"
>
<div
align=
"center"
class=
"flex flex-center q-py-xs"
>
<q-icon
<q-icon
style=
"color: #5d319e"
name=
"mdi-plus-circle-outline"
name=
"mdi-plus-circle-outline"
:size=
"'xs'"
:size=
"'xs'"
></q-icon>
></q-icon>
...
...
src/components/upload-image/index.vue
View file @
c5e7ef13
...
@@ -13,6 +13,7 @@
...
@@ -13,6 +13,7 @@
}"
}"
>
>
<q-icon
<q-icon
style=
"color: #5d319e"
name=
"mdi-plus-circle-outline"
name=
"mdi-plus-circle-outline"
:size=
"isBtn ? 'sm' : 'xl'"
:size=
"isBtn ? 'sm' : 'xl'"
></q-icon>
></q-icon>
...
...
src/i18n/vi/index.ts
View file @
c5e7ef13
...
@@ -482,8 +482,13 @@ export default {
...
@@ -482,8 +482,13 @@ export default {
facebookMessage
:
'FB Message'
,
facebookMessage
:
'FB Message'
,
instagram
:
'Instagram'
,
instagram
:
'Instagram'
,
whatsapp
:
'Whatsapp'
,
whatsapp
:
'Whatsapp'
,
phoneNumberAdminister
:
'Số điện thoại quản lý'
,
emailAdminister
:
'Email quản lý'
,
},
},
validateMessages
:
{
validateMessages
:
{
requireEmailAdminister
:
'Vui lòng nhập Email người quản lý'
,
requirePhoneNumberAdminister
:
'Vui lòng nhập Số điện thoại người quản lý'
,
requireProducCode
:
'Vui lòng nhập Mã sản phẩm'
,
requireProducCode
:
'Vui lòng nhập Mã sản phẩm'
,
requireUrlembed
:
'Vui lòng nhập Url Embed'
,
requireUrlembed
:
'Vui lòng nhập Url Embed'
,
requireArtistCode
:
'Vui lòng nhập Mã nghệ sỹ'
,
requireArtistCode
:
'Vui lòng nhập Mã nghệ sỹ'
,
...
...
src/pages/cap-nhat-thong-tin-nghe-sy/index.vue
View file @
c5e7ef13
<
template
>
<
template
>
<div
class=
"q-mt-sm row q-col-gutter-sm"
>
<div
class=
"q-mt-sm row q-col-gutter-sm"
>
<div
class=
"col-12"
width=
"100%"
>
<div
class=
"col-12"
width=
"100%"
>
<q-card>
<q-tabs
<q-tabs
v-model=
"tab"
v-model=
"tab"
dense
dense
class=
"text-grey"
class=
"text-grey"
active-color=
"primary"
active-color=
"primary"
indicator-color=
"primary"
indicator-color=
"primary"
align=
"justify"
align=
"justify"
narrow-indicator
narrow-indicator
>
<q-tab
name=
"information"
:label=
"$t('artist.artistInformation.tabLabel.personalInformation')"
>
>
<q-tab
<!--
<template
v-slot:default
>
name=
"information"
:label=
"$t('artist.artistInformation.tabLabel.personalInformation')"
>
<!--
<template
v-slot:default
>
<q-icon
<q-icon
style=
"position: absolute; top: 5px; right: -16px"
style=
"position: absolute; top: 5px; right: -16px"
name=
"mdi-alert"
name=
"mdi-alert"
color=
"red"
color=
"red"
></q-icon>
></q-icon>
</
template
>
-->
</
template
>
-->
</q-tab>
</q-tab>
<q-tab
<q-tab
name=
"vabAccount"
name=
"vabAccount"
:label=
"$t('artist.artistInformation.tabLabel.vabAccout')"
:label=
"$t('artist.artistInformation.tabLabel.vabAccout')"
/>
/>
<q-tab
<q-tab
name=
"bankAccount"
name=
"bankAccount"
:label=
"$t('artist.artistInformation.tabLabel.bankAcount')"
:label=
"$t('artist.artistInformation.tabLabel.bankAcount')"
/>
/>
<q-tab
<q-tab
name=
"hotProduct"
name=
"hotProduct"
:label=
"$t('artist.artistInformation.tabLabel.hotProduct')"
:label=
"$t('artist.artistInformation.tabLabel.hotProduct')"
/>
/>
</q-tabs>
</q-tabs>
<q-separator
/>
<q-separator
/>
<q-tab-panels
v-model=
"tab"
animated
>
<q-tab-panels
v-model=
"tab"
animated
>
<q-tab-panel
name=
"information"
>
<q-tab-panel
name=
"information"
>
<PersonalInformation
<PersonalInformation
:id=
"id"
:id=
"id"
v-model:artist-code=
"artistCode"
v-model:artist-code=
"artistCode"
:avatar=
"avatar"
:avatar=
"avatar"
v-model:full-name=
"fullName"
v-model:full-name=
"fullName"
v-model:artist-name=
"artistName"
v-model:artist-name=
"artistName"
v-model:birthday=
"birthday"
v-model:birthday=
"birthday"
v-model:sex=
"sex"
v-model:sex=
"sex"
v-model:nationality=
"nationality"
v-model:nationality=
"nationality"
v-model:status=
"status"
v-model:status=
"status"
v-model:address=
"address"
v-model:address=
"address"
v-model:fields=
"fields"
v-model:fields=
"fields"
v-model:works=
"works"
v-model:works=
"works"
v-model:qualification=
"qualification"
v-model:qualification=
"qualification"
v-model:artist-level=
"artistLevel"
v-model:artist-level=
"artistLevel"
v-model:phone-number=
"phoneNumber"
v-model:phone-number=
"phoneNumber"
v-model:email=
"email"
v-model:email=
"email"
v-model:facebook=
"facebook"
v-model:phone-number-administer=
"phoneNumberAdminister"
v-model:facebook-message=
"facebookMessage"
v-model:email-administer=
"emailAdminister"
v-model:instagram=
"instagram"
v-model:facebook=
"facebook"
v-model:whatsapp=
"whatsapp"
v-model:facebook-message=
"facebookMessage"
:errorMessPhoneNumber=
"errorMessPhoneNumber"
v-model:instagram=
"instagram"
:errorMessEmail=
"errorMessEmail"
v-model:whatsapp=
"whatsapp"
:artistCodeRules=
"artistCodeRules"
:errorMessPhoneNumber=
"errorMessPhoneNumber"
:fullNameRules=
"fullNameRules"
:errorMessEmail=
"errorMessEmail"
:artistNameRules=
"artistNameRules"
:errorMessPhoneNumberAdminister=
"errorMessPhoneNumberAdminister"
:birthdayRules=
"birthdayRules"
:errorMessEmailAdminister=
"errorMessEmailAdminister"
:emailRules=
"emailRules"
:artistCodeRules=
"artistCodeRules"
:addressRules=
"addressRules"
:fullNameRules=
"fullNameRules"
:phoneNumberRules=
"phoneNumberRules"
:artistNameRules=
"artistNameRules"
:sexRules=
"sexRules"
:birthdayRules=
"birthdayRules"
:nationalityRules=
"nationalityRules"
:emailRules=
"emailRules"
:fieldRules=
"fieldRules"
:addressRules=
"addressRules"
:workRules=
"workRules"
:phoneNumberRules=
"phoneNumberRules"
:qualificationRules=
"qualificationRules"
:emailAdministerRules=
"emailAdministerRules"
:artistLevelRules=
"artistLevelRules"
:phoneNumberAdministerRules=
"phoneNumberAdministerRules"
:sex-options=
"sexOptions"
:sexRules=
"sexRules"
:field-options=
"fieldOptions"
:nationalityRules=
"nationalityRules"
:nationality-options=
"nationalityOptions"
:fieldRules=
"fieldRules"
:profession-options=
"professionOptions"
:workRules=
"workRules"
:artist-level-options=
"artistLevelOptions"
:qualificationRules=
"qualificationRules"
:work-options=
"workOptions"
:artistLevelRules=
"artistLevelRules"
@
SetAvatar=
"setAvatar($event)"
:sex-options=
"sexOptions"
@
deleteAvatar=
"deleteAvatar"
:field-options=
"fieldOptions"
@
UpdateBirtday=
"UpdateBirtday($event)"
:nationality-options=
"nationalityOptions"
></PersonalInformation>
:profession-options=
"professionOptions"
</q-tab-panel>
:artist-level-options=
"artistLevelOptions"
<q-tab-panel
name=
"vabAccount"
>
:work-options=
"workOptions"
<VabAccount
@
SetAvatar=
"setAvatar($event)"
v-model:account=
"account"
@
deleteAvatar=
"deleteAvatar"
v-model:short-description=
"shortDescription"
@
UpdateBirtday=
"UpdateBirtday($event)"
v-model:format-schedules=
"formatSchedules"
></PersonalInformation>
@
confirmDeleteSocialEmbedded=
"confirmDeleteSocialEmbedded"
</q-tab-panel>
@
selectedFile=
"selectedFile"
<q-tab-panel
name=
"vabAccount"
>
@
deleteBanner=
"banners.splice($event, 1)"
<VabAccount
@
openDialogUploadEmbed=
"isOpenDialogEmbed = true"
v-model:account=
"account"
:id=
"route.params.id"
v-model:short-description=
"shortDescription"
:social-embedded=
"socialEmbedded"
v-model:format-schedules=
"formatSchedules"
:banners=
"banners"
@
confirmDeleteSocialEmbedded=
"confirmDeleteSocialEmbedded"
:stories=
"stories"
@
selectedFile=
"selectedFile"
@
deleteStories=
"DeleteItemStories"
@
deleteBanner=
"banners.splice($event, 1)"
@
click:openAddStoryDialog=
"isOpenAddStory = true"
@
openDialogUploadEmbed=
"isOpenDialogEmbed = true"
@
confirmDeleteStory=
"deleteStory"
:id=
"route.params.id"
></VabAccount>
:social-embedded=
"socialEmbedded"
</q-tab-panel>
:banners=
"banners"
<q-tab-panel
name=
"bankAccount"
>
:stories=
"stories"
<BankAccount
@
deleteStories=
"DeleteItemStories"
:bank-accounts=
"bankAccounts"
@
click:openAddStoryDialog=
"isOpenAddStory = true"
@
confirmDeleteAccBank=
"confirmDeleteAccBank"
@
confirmDeleteStory=
"deleteStory"
@
confirmChangeIsDefault=
"confirmChangeIsDefault($event)"
></VabAccount>
@
click:addBankBtn=
"isOpenAddAccountBankDialog = true"
</q-tab-panel>
@
clickEditAccBankBtn=
"openDialogEditAccBank"
<q-tab-panel
name=
"bankAccount"
>
></BankAccount>
<BankAccount
</q-tab-panel>
:bank-accounts=
"bankAccounts"
<q-tab-panel
name=
"hotProduct"
>
@
confirmDeleteAccBank=
"confirmDeleteAccBank"
<HotProduct
@
confirmChangeIsDefault=
"confirmChangeIsDefault($event)"
:products=
"products"
@
click:addBankBtn=
"isOpenAddAccountBankDialog = true"
@
deleteRow=
"confirmDeleteRow($event)"
@
clickEditAccBankBtn=
"openDialogEditAccBank"
@
reset=
"resetOldData"
></BankAccount>
:DataInsertHotProduct=
"DataInsertHotProduct"
</q-tab-panel>
@
click:addHotProduct=
"openAddHotProduct = true"
<q-tab-panel
name=
"hotProduct"
>
@
click:openUpadateHotProduct=
"openUpdateHotProduct = true"
<HotProduct
@
setDataUpdate=
"SetProduct($event)"
:products=
"products"
></HotProduct>
@
deleteRow=
"confirmDeleteRow($event)"
</q-tab-panel>
@
reset=
"resetOldData"
</q-tab-panels>
:DataInsertHotProduct=
"DataInsertHotProduct"
</q-card>
@
click:addHotProduct=
"openAddHotProduct = true"
@
click:openUpadateHotProduct=
"openUpdateHotProduct = true"
@
setDataUpdate=
"SetProduct($event)"
></HotProduct>
</q-tab-panel>
</q-tab-panels>
</div>
</div>
<AddNewBankAccountDialog
<AddNewBankAccountDialog
v-model:is-open-add-account-bank-dialog=
"isOpenAddAccountBankDialog"
v-model:is-open-add-account-bank-dialog=
"isOpenAddAccountBankDialog"
...
@@ -183,7 +187,7 @@
...
@@ -183,7 +187,7 @@
:label=
"$t('crudActions.back')"
:label=
"$t('crudActions.back')"
></q-btn>
></q-btn>
</div>
</div>
<div
class=
"col-auto q-m
x-md
"
>
<div
class=
"col-auto q-m
r-lg q-ml-sm
"
>
<q-btn
<q-btn
color=
"primary"
color=
"primary"
no-caps
no-caps
...
...
src/pages/cap-nhat-thong-tin-nghe-sy/updateInformationArtist.ts
View file @
c5e7ef13
...
@@ -113,6 +113,8 @@ export default defineComponent({
...
@@ -113,6 +113,8 @@ export default defineComponent({
const
works
:
Ref
<
WorkType
[]
>
=
ref
([]);
const
works
:
Ref
<
WorkType
[]
>
=
ref
([]);
const
phoneNumber
:
Ref
<
string
|
null
>
=
ref
(
null
);
const
phoneNumber
:
Ref
<
string
|
null
>
=
ref
(
null
);
const
email
:
Ref
<
string
|
null
>
=
ref
(
null
);
const
email
:
Ref
<
string
|
null
>
=
ref
(
null
);
const
emailAdminister
:
Ref
<
string
|
null
>
=
ref
(
null
);
const
phoneNumberAdminister
:
Ref
<
string
|
null
>
=
ref
(
null
);
const
facebook
:
Ref
<
string
|
null
>
=
ref
(
null
);
const
facebook
:
Ref
<
string
|
null
>
=
ref
(
null
);
const
facebookMessage
:
Ref
<
string
|
null
|
undefined
>
=
ref
();
const
facebookMessage
:
Ref
<
string
|
null
|
undefined
>
=
ref
();
const
instagram
:
Ref
<
string
|
null
|
undefined
>
=
ref
();
const
instagram
:
Ref
<
string
|
null
|
undefined
>
=
ref
();
...
@@ -145,6 +147,8 @@ export default defineComponent({
...
@@ -145,6 +147,8 @@ export default defineComponent({
const
emailRules
=
ref
(
false
);
const
emailRules
=
ref
(
false
);
const
addressRules
=
ref
(
false
);
const
addressRules
=
ref
(
false
);
const
phoneNumberRules
=
ref
(
false
);
const
phoneNumberRules
=
ref
(
false
);
const
phoneNumberAdministerRules
=
ref
(
false
);
const
emailAdministerRules
=
ref
(
false
);
const
sexRules
=
ref
(
false
);
const
sexRules
=
ref
(
false
);
const
nationalityRules
=
ref
(
false
);
const
nationalityRules
=
ref
(
false
);
const
fieldRules
=
ref
(
false
);
const
fieldRules
=
ref
(
false
);
...
@@ -159,6 +163,16 @@ export default defineComponent({
...
@@ -159,6 +163,16 @@ export default defineComponent({
'artist.artistInformation.validateMessages.requirePhoneNumber'
'artist.artistInformation.validateMessages.requirePhoneNumber'
)
)
);
);
const
errorMessEmailAdminister
=
ref
(
i18n
.
global
.
t
(
'artist.artistInformation.validateMessages.requireEmailAdminister'
)
);
const
errorMessPhoneNumberAdminister
=
ref
(
i18n
.
global
.
t
(
'artist.artistInformation.validateMessages.requirePhoneNumberAdminister'
)
);
watch
(
watch
(
()
=>
fields
.
value
,
()
=>
fields
.
value
,
(
value
)
=>
{
(
value
)
=>
{
...
@@ -231,6 +245,22 @@ export default defineComponent({
...
@@ -231,6 +245,22 @@ export default defineComponent({
}
}
}
}
);
);
watch
(
()
=>
phoneNumberAdminister
.
value
,
(
value
)
=>
{
if
(
value
)
{
phoneNumberAdministerRules
.
value
=
false
;
}
}
);
watch
(
()
=>
emailAdminister
.
value
,
(
value
)
=>
{
if
(
value
)
{
emailAdministerRules
.
value
=
false
;
}
}
);
watch
(
watch
(
()
=>
sex
.
value
,
()
=>
sex
.
value
,
(
value
)
=>
{
(
value
)
=>
{
...
@@ -307,6 +337,8 @@ export default defineComponent({
...
@@ -307,6 +337,8 @@ export default defineComponent({
status
.
value
=
ArtistInformation
.
status
;
status
.
value
=
ArtistInformation
.
status
;
phoneNumber
.
value
=
ArtistInformation
.
phoneNumber
;
phoneNumber
.
value
=
ArtistInformation
.
phoneNumber
;
email
.
value
=
ArtistInformation
.
email
;
email
.
value
=
ArtistInformation
.
email
;
// phoneNumberAdminister.value = ArtistInformation.phoneNumberAdminister;
// emailAdminister.value = ArtistInformation.emailAdminister;
facebook
.
value
=
ArtistInformation
.
facebook
;
facebook
.
value
=
ArtistInformation
.
facebook
;
facebookMessage
.
value
=
ArtistInformation
.
facebookMessage
;
facebookMessage
.
value
=
ArtistInformation
.
facebookMessage
;
instagram
.
value
=
ArtistInformation
.
instagram
;
instagram
.
value
=
ArtistInformation
.
instagram
;
...
@@ -675,6 +707,23 @@ export default defineComponent({
...
@@ -675,6 +707,23 @@ export default defineComponent({
// 'artist.artistInformation.validateMessages.isEmail'
// 'artist.artistInformation.validateMessages.isEmail'
// );
// );
// }
// }
if
(
!
phoneNumberAdminister
.
value
||
!
phoneNumberAdminister
.
value
?.
trim
().
length
)
{
hasError
=
true
;
phoneNumberAdministerRules
.
value
=
true
;
errorMessPhoneNumberAdminister
.
value
=
i18n
.
global
.
t
(
'artist.artistInformation.validateMessages.requirePhoneNumberAdminister'
);
}
if
(
!
emailAdminister
.
value
||
!
emailAdminister
.
value
?.
trim
().
length
)
{
hasError
=
true
;
emailAdministerRules
.
value
=
true
;
errorMessEmailAdminister
.
value
=
i18n
.
global
.
t
(
'artist.artistInformation.validateMessages.requireEmailAdminister'
);
}
if
(
artistLevel
.
value
===
null
)
{
if
(
artistLevel
.
value
===
null
)
{
hasError
=
true
;
hasError
=
true
;
...
@@ -744,6 +793,8 @@ export default defineComponent({
...
@@ -744,6 +793,8 @@ export default defineComponent({
address
:
address
.
value
,
address
:
address
.
value
,
phoneNumber
:
phoneNumber
.
value
,
phoneNumber
:
phoneNumber
.
value
,
email
:
email
.
value
,
email
:
email
.
value
,
// phoneNumberAdminister: phoneNumberAdminister.value,
// emailAdminister: emailAdminister.value,
facebook
:
facebook
.
value
,
facebook
:
facebook
.
value
,
facebookMessage
:
facebookMessage
.
value
,
facebookMessage
:
facebookMessage
.
value
,
instagram
:
instagram
.
value
,
instagram
:
instagram
.
value
,
...
@@ -900,6 +951,12 @@ export default defineComponent({
...
@@ -900,6 +951,12 @@ export default defineComponent({
errorMessEmail
,
errorMessEmail
,
errorMessPhoneNumber
,
errorMessPhoneNumber
,
confirmChangeIsDefault
,
confirmChangeIsDefault
,
phoneNumberAdminister
,
phoneNumberAdministerRules
,
emailAdminister
,
emailAdministerRules
,
errorMessEmailAdminister
,
errorMessPhoneNumberAdminister
,
};
};
},
},
});
});
src/pages/login/Login.ts
View file @
c5e7ef13
...
@@ -51,6 +51,7 @@ export const Login = defineComponent({
...
@@ -51,6 +51,7 @@ export const Login = defineComponent({
};
};
return
{
return
{
isPwd
:
ref
(
true
),
usernameInputRules
,
usernameInputRules
,
passwordInputRules
,
passwordInputRules
,
user_name
,
user_name
,
...
...
src/pages/login/index.vue
View file @
c5e7ef13
<
template
>
<
template
>
<q-page
class=
"row items-center justify-evenly"
>
<q-page
class=
"row items-center justify-evenly"
>
<q-card
class=
"login-card"
>
<q-card
class=
"login-card"
>
<q-card-section
class=
"text-h5 text-center"
>
{{
<q-card-section
class=
"text-center"
$t
(
'loginPage.pageTitle'
)
><img
src=
"icons/logo_cms_2.png"
/>
}}
</q-card-section>
</q-card-section>
<q-separator
inset
/>
<q-card-section>
<q-card-section>
<q-form
autofocus
@
submit=
"onSubmit"
@
reset=
"resetForm"
>
<q-form
autofocus
@
submit=
"onSubmit"
@
reset=
"resetForm"
>
<q-input
<q-input
...
@@ -14,18 +15,33 @@
...
@@ -14,18 +15,33 @@
:rules="usernameInputRules"
:rules="usernameInputRules"
class="q-my-sm"
class="q-my-sm"
:disable="loggingIn"
:disable="loggingIn"
/>
>
<template
v-slot:prepend
>
<q-icon
name=
"mdi-account"
/>
</
template
>
</q-input>
<q-input
<q-input
filled
filled
type=
"password"
v-model=
"password"
v-model=
"password"
:label=
"`${$t('loginPage.passwordInputLabel')} *`"
:label=
"`${$t('loginPage.passwordInputLabel')} *`"
lazy-rules
lazy-rules
:rules=
"passwordInputRules"
:rules=
"passwordInputRules"
class=
"q-my-sm"
class=
"q-my-sm"
:type=
"isPwd ? 'password' : 'text'"
:disable=
"loggingIn"
:disable=
"loggingIn"
/>
>
<
template
v-slot:append
>
<q-icon
:name=
"isPwd ? 'visibility_off' : 'visibility'"
class=
"cursor-pointer"
@
click=
"isPwd = !isPwd"
/>
</
template
>
<
template
v-slot:prepend
>
<q-icon
name=
"mdi-lock"
/>
</
template
>
</q-input>
<div>
<div>
<q-btn
<q-btn
...
...
src/pages/nghe-sy/index.vue
View file @
c5e7ef13
...
@@ -89,9 +89,9 @@
...
@@ -89,9 +89,9 @@
</q-td>
</q-td>
</
template
>
</
template
>
<
template
v-slot:body-cell-avatar=
"avatar"
>
<
template
v-slot:body-cell-avatar=
"avatar"
>
<q-td
style=
"padding:
0
; height: 100%; text-align: center"
>
<q-td
style=
"padding:
auto
; height: 100%; text-align: center"
>
<q-img
<q-img
style=
"width:
7rem; height: 5
rem"
style=
"width:
9
rem"
fit=
"contain"
fit=
"contain"
:ratio=
"16 / 9"
:ratio=
"16 / 9"
:src=
"
:src=
"
...
...
src/pages/them-nghe-sy/AddArtist.ts
View file @
c5e7ef13
...
@@ -111,6 +111,8 @@ export default defineComponent({
...
@@ -111,6 +111,8 @@ export default defineComponent({
const
works
:
Ref
<
WorkType
[]
>
=
ref
([]);
const
works
:
Ref
<
WorkType
[]
>
=
ref
([]);
const
phoneNumber
:
Ref
<
string
|
null
>
=
ref
(
null
);
const
phoneNumber
:
Ref
<
string
|
null
>
=
ref
(
null
);
const
email
:
Ref
<
string
|
null
>
=
ref
(
null
);
const
email
:
Ref
<
string
|
null
>
=
ref
(
null
);
const
emailAdminister
:
Ref
<
string
|
null
>
=
ref
(
null
);
const
phoneNumberAdminister
:
Ref
<
string
|
null
>
=
ref
(
null
);
const
facebook
:
Ref
<
string
|
null
>
=
ref
(
null
);
const
facebook
:
Ref
<
string
|
null
>
=
ref
(
null
);
const
facebookMessage
:
Ref
<
string
|
null
|
undefined
>
=
ref
();
const
facebookMessage
:
Ref
<
string
|
null
|
undefined
>
=
ref
();
const
instagram
:
Ref
<
string
|
null
|
undefined
>
=
ref
();
const
instagram
:
Ref
<
string
|
null
|
undefined
>
=
ref
();
...
@@ -143,6 +145,8 @@ export default defineComponent({
...
@@ -143,6 +145,8 @@ export default defineComponent({
const
emailRules
=
ref
(
false
);
const
emailRules
=
ref
(
false
);
const
addressRules
=
ref
(
false
);
const
addressRules
=
ref
(
false
);
const
phoneNumberRules
=
ref
(
false
);
const
phoneNumberRules
=
ref
(
false
);
const
phoneNumberAdministerRules
=
ref
(
false
);
const
emailAdministerRules
=
ref
(
false
);
const
sexRules
=
ref
(
false
);
const
sexRules
=
ref
(
false
);
const
nationalityRules
=
ref
(
false
);
const
nationalityRules
=
ref
(
false
);
const
fieldRules
=
ref
(
false
);
const
fieldRules
=
ref
(
false
);
...
@@ -157,6 +161,16 @@ export default defineComponent({
...
@@ -157,6 +161,16 @@ export default defineComponent({
'artist.artistInformation.validateMessages.requirePhoneNumber'
'artist.artistInformation.validateMessages.requirePhoneNumber'
)
)
);
);
const
errorMessEmailAdminister
=
ref
(
i18n
.
global
.
t
(
'artist.artistInformation.validateMessages.requireEmailAdminister'
)
);
const
errorMessPhoneNumberAdminister
=
ref
(
i18n
.
global
.
t
(
'artist.artistInformation.validateMessages.requirePhoneNumberAdminister'
)
);
watch
(
watch
(
()
=>
fields
.
value
,
()
=>
fields
.
value
,
(
value
)
=>
{
(
value
)
=>
{
...
@@ -225,6 +239,22 @@ export default defineComponent({
...
@@ -225,6 +239,22 @@ export default defineComponent({
}
}
}
}
);
);
watch
(
()
=>
phoneNumberAdminister
.
value
,
(
value
)
=>
{
if
(
value
)
{
phoneNumberAdministerRules
.
value
=
false
;
}
}
);
watch
(
()
=>
emailAdminister
.
value
,
(
value
)
=>
{
if
(
value
)
{
emailAdministerRules
.
value
=
false
;
}
}
);
watch
(
watch
(
()
=>
sex
.
value
,
()
=>
sex
.
value
,
(
value
)
=>
{
(
value
)
=>
{
...
@@ -613,6 +643,23 @@ export default defineComponent({
...
@@ -613,6 +643,23 @@ export default defineComponent({
// 'artist.artistInformation.validateMessages.isEmail'
// 'artist.artistInformation.validateMessages.isEmail'
// );
// );
// }
// }
if
(
!
phoneNumberAdminister
.
value
||
!
phoneNumberAdminister
.
value
?.
trim
().
length
)
{
hasError
=
true
;
phoneNumberAdministerRules
.
value
=
true
;
errorMessPhoneNumberAdminister
.
value
=
i18n
.
global
.
t
(
'artist.artistInformation.validateMessages.requirePhoneNumberAdminister'
);
}
if
(
!
emailAdminister
.
value
||
!
emailAdminister
.
value
?.
trim
().
length
)
{
hasError
=
true
;
emailAdministerRules
.
value
=
true
;
errorMessEmailAdminister
.
value
=
i18n
.
global
.
t
(
'artist.artistInformation.validateMessages.requireEmailAdminister'
);
}
if
(
artistLevel
.
value
===
null
)
{
if
(
artistLevel
.
value
===
null
)
{
hasError
=
true
;
hasError
=
true
;
...
@@ -677,6 +724,8 @@ export default defineComponent({
...
@@ -677,6 +724,8 @@ export default defineComponent({
address
:
address
.
value
,
address
:
address
.
value
,
phoneNumber
:
phoneNumber
.
value
,
phoneNumber
:
phoneNumber
.
value
,
email
:
email
.
value
,
email
:
email
.
value
,
// phoneNumberAdminister: phoneNumberAdminister.value,
// emailAdminister: emailAdminister.value,
facebook
:
facebook
.
value
,
facebook
:
facebook
.
value
,
facebookMessage
:
facebookMessage
.
value
,
facebookMessage
:
facebookMessage
.
value
,
instagram
:
instagram
.
value
,
instagram
:
instagram
.
value
,
...
@@ -827,6 +876,12 @@ export default defineComponent({
...
@@ -827,6 +876,12 @@ export default defineComponent({
errorMessEmail
,
errorMessEmail
,
errorMessPhoneNumber
,
errorMessPhoneNumber
,
confirmChangeIsDefault
,
confirmChangeIsDefault
,
phoneNumberAdminister
,
phoneNumberAdministerRules
,
emailAdminister
,
emailAdministerRules
,
errorMessEmailAdminister
,
errorMessPhoneNumberAdminister
,
};
};
},
},
});
});
src/pages/them-nghe-sy/index.vue
View file @
c5e7ef13
<
template
>
<
template
>
<div
class=
"q-mt-sm row q-col-gutter-sm"
>
<div
class=
"q-mt-sm row q-col-gutter-sm"
>
<div
class=
"col-12"
width=
"100%"
>
<div
class=
"col-12"
width=
"100%"
>
<q-card>
<q-tabs
<q-tabs
v-model=
"tab"
v-model=
"tab"
dense
dense
class=
"text-grey"
class=
"text-grey"
active-color=
"primary"
active-color=
"primary"
indicator-color=
"primary"
indicator-color=
"primary"
align=
"justify"
align=
"justify"
narrow-indicator
narrow-indicator
>
<q-tab
name=
"information"
:label=
"$t('artist.artistInformation.tabLabel.personalInformation')"
>
>
<q-tab
<!--
<template
v-slot:default
>
name=
"information"
:label=
"$t('artist.artistInformation.tabLabel.personalInformation')"
>
<!--
<template
v-slot:default
>
<q-icon
<q-icon
style=
"position: absolute; top: 5px; right: -16px"
style=
"position: absolute; top: 5px; right: -16px"
name=
"mdi-alert"
name=
"mdi-alert"
color=
"red"
color=
"red"
></q-icon>
></q-icon>
</
template
>
-->
</
template
>
-->
</q-tab>
</q-tab>
<q-tab
<q-tab
name=
"vabAccount"
name=
"vabAccount"
:label=
"$t('artist.artistInformation.tabLabel.vabAccout')"
:label=
"$t('artist.artistInformation.tabLabel.vabAccout')"
/>
/>
<q-tab
<q-tab
name=
"bankAccount"
name=
"bankAccount"
:label=
"$t('artist.artistInformation.tabLabel.bankAcount')"
:label=
"$t('artist.artistInformation.tabLabel.bankAcount')"
/>
/>
<q-tab
<q-tab
name=
"hotProduct"
name=
"hotProduct"
:label=
"$t('artist.artistInformation.tabLabel.hotProduct')"
:label=
"$t('artist.artistInformation.tabLabel.hotProduct')"
/>
/>
</q-tabs>
</q-tabs>
<q-separator
/>
<q-separator
/>
<q-tab-panels
v-model=
"tab"
animated
>
<q-tab-panels
v-model=
"tab"
animated
>
<q-tab-panel
name=
"information"
>
<q-tab-panel
name=
"information"
>
<PersonalInformation
<PersonalInformation
:id=
"id"
:id=
"id"
v-model:artist-code=
"artistCode"
v-model:artist-code=
"artistCode"
:avatar=
"avatar"
:avatar=
"avatar"
v-model:full-name=
"fullName"
v-model:full-name=
"fullName"
v-model:artist-name=
"artistName"
v-model:artist-name=
"artistName"
v-model:birthday=
"birthday"
v-model:birthday=
"birthday"
v-model:sex=
"sex"
v-model:sex=
"sex"
v-model:nationality=
"nationality"
v-model:nationality=
"nationality"
v-model:status=
"status"
v-model:status=
"status"
v-model:address=
"address"
v-model:address=
"address"
v-model:fields=
"fields"
v-model:fields=
"fields"
v-model:works=
"works"
v-model:works=
"works"
v-model:qualification=
"qualification"
v-model:qualification=
"qualification"
v-model:artist-level=
"artistLevel"
v-model:artist-level=
"artistLevel"
v-model:phone-number=
"phoneNumber"
v-model:phone-number=
"phoneNumber"
v-model:email=
"email"
v-model:email=
"email"
v-model:facebook=
"facebook"
v-model:phone-number-administer=
"phoneNumberAdminister"
v-model:facebook-message=
"facebookMessage"
v-model:email-administer=
"emailAdminister"
v-model:instagram=
"instagram"
v-model:facebook=
"facebook"
v-model:whatsapp=
"whatsapp"
v-model:facebook-message=
"facebookMessage"
:errorMessPhoneNumber=
"errorMessPhoneNumber"
v-model:instagram=
"instagram"
:errorMessEmail=
"errorMessEmail"
v-model:whatsapp=
"whatsapp"
:artistCodeRules=
"artistCodeRules"
:errorMessPhoneNumber=
"errorMessPhoneNumber"
:fullNameRules=
"fullNameRules"
:errorMessEmail=
"errorMessEmail"
:artistNameRules=
"artistNameRules"
:errorMessPhoneNumberAdminister=
"errorMessPhoneNumberAdminister"
:birthdayRules=
"birthdayRules"
:errorMessEmailAdminister=
"errorMessEmailAdminister"
:emailRules=
"emailRules"
:artistCodeRules=
"artistCodeRules"
:addressRules=
"addressRules"
:fullNameRules=
"fullNameRules"
:phoneNumberRules=
"phoneNumberRules"
:artistNameRules=
"artistNameRules"
:sexRules=
"sexRules"
:birthdayRules=
"birthdayRules"
:nationalityRules=
"nationalityRules"
:emailRules=
"emailRules"
:fieldRules=
"fieldRules"
:addressRules=
"addressRules"
:workRules=
"workRules"
:phoneNumberRules=
"phoneNumberRules"
:qualificationRules=
"qualificationRules"
:emailAdministerRules=
"emailAdministerRules"
:artistLevelRules=
"artistLevelRules"
:phoneNumberAdministerRules=
"phoneNumberAdministerRules"
:sex-options=
"sexOptions"
:sexRules=
"sexRules"
:field-options=
"fieldOptions"
:nationalityRules=
"nationalityRules"
:nationality-options=
"nationalityOptions"
:fieldRules=
"fieldRules"
:profession-options=
"professionOptions"
:workRules=
"workRules"
:artist-level-options=
"artistLevelOptions"
:qualificationRules=
"qualificationRules"
:work-options=
"workOptions"
:artistLevelRules=
"artistLevelRules"
@
SetAvatar=
"setAvatar($event)"
:sex-options=
"sexOptions"
@
deleteAvatar=
"deleteAvatar"
:field-options=
"fieldOptions"
@
UpdateBirtday=
"UpdateBirtday($event)"
:nationality-options=
"nationalityOptions"
></PersonalInformation>
:profession-options=
"professionOptions"
</q-tab-panel>
:artist-level-options=
"artistLevelOptions"
<q-tab-panel
name=
"vabAccount"
>
:work-options=
"workOptions"
<VabAccount
@
SetAvatar=
"setAvatar($event)"
v-model:account=
"account"
@
deleteAvatar=
"deleteAvatar"
v-model:short-description=
"shortDescription"
@
UpdateBirtday=
"UpdateBirtday($event)"
v-model:format-schedules=
"formatSchedules"
></PersonalInformation>
@
confirmDeleteSocialEmbedded=
"confirmDeleteSocialEmbedded"
</q-tab-panel>
@
selectedFile=
"selectedFile"
<q-tab-panel
name=
"vabAccount"
>
@
deleteBanner=
"banners.splice($event, 1)"
<VabAccount
@
openDialogUploadEmbed=
"isOpenDialogEmbed = true"
v-model:account=
"account"
:id=
"route.params.id"
v-model:short-description=
"shortDescription"
:social-embedded=
"socialEmbedded"
v-model:format-schedules=
"formatSchedules"
:banners=
"banners"
@
confirmDeleteSocialEmbedded=
"confirmDeleteSocialEmbedded"
:stories=
"stories"
@
selectedFile=
"selectedFile"
@
deleteStories=
"DeleteItemStories"
@
deleteBanner=
"banners.splice($event, 1)"
@
click:openAddStoryDialog=
"isOpenAddStory = true"
@
openDialogUploadEmbed=
"isOpenDialogEmbed = true"
@
confirmDeleteStory=
"deleteStory"
:id=
"route.params.id"
></VabAccount>
:social-embedded=
"socialEmbedded"
</q-tab-panel>
:banners=
"banners"
<q-tab-panel
name=
"bankAccount"
>
:stories=
"stories"
<BankAccount
@
deleteStories=
"DeleteItemStories"
:bank-accounts=
"bankAccounts"
@
click:openAddStoryDialog=
"isOpenAddStory = true"
@
confirmDeleteAccBank=
"confirmDeleteAccBank"
@
confirmDeleteStory=
"deleteStory"
@
confirmChangeIsDefault=
"confirmChangeIsDefault($event)"
></VabAccount>
@
click:addBankBtn=
"isOpenAddAccountBankDialog = true"
</q-tab-panel>
@
clickEditAccBankBtn=
"openDialogEditAccBank"
<q-tab-panel
name=
"bankAccount"
>
></BankAccount>
<BankAccount
</q-tab-panel>
:bank-accounts=
"bankAccounts"
<q-tab-panel
name=
"hotProduct"
>
@
confirmDeleteAccBank=
"confirmDeleteAccBank"
<HotProduct
@
confirmChangeIsDefault=
"confirmChangeIsDefault($event)"
:products=
"products"
@
click:addBankBtn=
"isOpenAddAccountBankDialog = true"
@
deleteRow=
"confirmDeleteRow($event)"
@
clickEditAccBankBtn=
"openDialogEditAccBank"
@
reset=
"resetOldData"
></BankAccount>
:DataInsertHotProduct=
"DataInsertHotProduct"
</q-tab-panel>
@
click:addHotProduct=
"openAddHotProduct = true"
<q-tab-panel
name=
"hotProduct"
>
@
click:openUpadateHotProduct=
"openUpdateHotProduct = true"
<HotProduct
@
setDataUpdate=
"SetProduct($event)"
:products=
"products"
></HotProduct>
@
deleteRow=
"confirmDeleteRow($event)"
</q-tab-panel>
@
reset=
"resetOldData"
</q-tab-panels>
:DataInsertHotProduct=
"DataInsertHotProduct"
</q-card>
@
click:addHotProduct=
"openAddHotProduct = true"
@
click:openUpadateHotProduct=
"openUpdateHotProduct = true"
@
setDataUpdate=
"SetProduct($event)"
></HotProduct>
</q-tab-panel>
</q-tab-panels>
</div>
</div>
<AddNewBankAccountDialog
<AddNewBankAccountDialog
v-model:is-open-add-account-bank-dialog=
"isOpenAddAccountBankDialog"
v-model:is-open-add-account-bank-dialog=
"isOpenAddAccountBankDialog"
...
@@ -183,7 +187,7 @@
...
@@ -183,7 +187,7 @@
:label=
"$t('crudActions.back')"
:label=
"$t('crudActions.back')"
></q-btn>
></q-btn>
</div>
</div>
<div
class=
"col-auto q-m
x-md
"
>
<div
class=
"col-auto q-m
r-lg q-ml-sm
"
>
<q-btn
<q-btn
color=
"primary"
color=
"primary"
no-caps
no-caps
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment