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
68a80dbf
Commit
68a80dbf
authored
Jul 07, 2021
by
Tình Trương
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
parent
0c261995
Changes
26
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
26 changed files
with
991 additions
and
637 deletions
+991
-637
configurations.example.ts
src/assets/configurations.example.ts
+2
-0
enums.ts
src/assets/enums.ts
+2
-1
type.ts
src/assets/type.ts
+14
-0
AddHotProductDialog.ts
...s/artist-information/AddHotProduct/AddHotProductDialog.ts
+14
-2
index.vue
src/components/artist-information/AddHotProduct/index.vue
+12
-0
index.vue
src/components/artist-information/UpdateHotProduct/index.vue
+12
-0
updateHotProduc.ts
...ts/artist-information/UpdateHotProduct/updateHotProduc.ts
+13
-1
index.vue
...onents/artist-information/VAB-account/add-story/index.vue
+9
-0
index.vue
src/components/artist-information/VAB-account/index.vue
+8
-4
HotProduct.ts
src/components/artist-information/hot-product/HotProduct.ts
+8
-0
AddNewCustomerDialog.ts
.../customer/add-new-customer-dialog/AddNewCustomerDialog.ts
+1
-0
index.vue
src/components/customer/add-new-customer-dialog/index.vue
+13
-4
UpdateNewCustomerDialog.ts
...mer/update-new-customer-dialog/UpdateNewCustomerDialog.ts
+1
-0
index.vue
src/components/customer/update-new-customer-dialog/index.vue
+11
-4
index.vue
src/components/detailBooking/index.vue
+131
-0
index.vue
...components/units-manager/add-update-unit-dialog/index.vue
+13
-5
index.ts
src/i18n/vi/index.ts
+23
-15
index.vue
src/pages/cap-nhat-thong-tin-nghe-sy/index.vue
+0
-7
updateInformationArtist.ts
...ges/cap-nhat-thong-tin-nghe-sy/updateInformationArtist.ts
+15
-34
ListBooking.ts
src/pages/danh-sach-booking/ListBooking.ts
+0
-144
index.vue
src/pages/danh-sach-booking/index.vue
+312
-26
customer.ts
src/pages/khach-hang/customer.ts
+0
-354
index.vue
src/pages/khach-hang/index.vue
+356
-1
index.vue
src/pages/linh-vuc-hoat-dong/index.vue
+3
-11
AddArtist.ts
src/pages/them-nghe-sy/AddArtist.ts
+18
-17
index.vue
src/pages/them-nghe-sy/index.vue
+0
-7
No files found.
src/assets/configurations.example.ts
View file @
68a80dbf
...
...
@@ -80,4 +80,6 @@ export enum API_PATHS {
deleteCategoryPost
=
'postCategory/delete'
,
detailCategoryPost
=
'postCategory/detail'
,
updateCategoryPost
=
'postCategory/update'
,
getListBooking
=
'booking'
,
getBookingDetail
=
'booking/detail'
,
}
src/assets/enums.ts
View file @
68a80dbf
...
...
@@ -37,9 +37,10 @@ export enum BannerStatus {
export
enum
BookingStatus
{
active
=
1
,
inactive
=
2
,
waitBooking
=
0
,
}
export
enum
ActiveStatus
{
active
=
1
,
inactive
=
1
,
inactive
=
0
,
}
src/assets/type.ts
View file @
68a80dbf
...
...
@@ -398,3 +398,17 @@ export type MenuType = {
updateBy
:
string
|
null
;
updateTime
:
string
|
null
;
};
export
type
ListBooking
=
{
id
:
number
;
bookingCode
:
number
;
artistName
:
string
;
userName
:
string
;
content
:
string
;
address
:
string
;
fromTime
:
string
;
toTime
:
string
;
status
:
number
;
activeStatus
:
number
;
fee
:
string
;
};
src/components/artist-information/AddHotProduct/AddHotProductDialog.ts
View file @
68a80dbf
import
{
defineComponent
,
Ref
,
ref
,
watch
}
from
'vue'
;
import
{
i18n
}
from
'src/boot/i18n'
;
// import { isEmail } from '../../../boot/functions';
// import { isMobilePhone } from '../../../boot/functions';
import
UploadImage
from
'../../upload-image/index.vue'
;
export
default
defineComponent
({
...
...
@@ -18,6 +16,7 @@ export default defineComponent({
setup
(
props
,
context
)
{
const
file
:
Ref
<
File
|
string
>
=
ref
(
''
);
const
name
:
Ref
<
string
>
=
ref
(
''
);
const
code
:
Ref
<
string
>
=
ref
(
''
);
const
embeddedUrl
:
Ref
<
string
>
=
ref
(
''
);
const
urlFileLocal
:
Ref
<
string
>
=
ref
(
''
);
...
...
@@ -37,6 +36,7 @@ export default defineComponent({
const
ResetData
=
()
=>
{
file
.
value
=
''
;
code
.
value
=
''
;
name
.
value
=
''
;
embeddedUrl
.
value
=
''
;
urlFileLocal
.
value
=
''
;
status
.
value
=
2
;
...
...
@@ -45,12 +45,22 @@ export default defineComponent({
context
.
emit
(
'click:CloseBtnAddHotProduct'
);
context
.
emit
(
'insertData'
,
{
file
:
file
.
value
,
name
:
name
.
value
,
code
:
code
.
value
,
status
:
status
.
value
,
embeddedUrl
:
embeddedUrl
.
value
,
imageUrl
:
urlFileLocal
.
value
,
});
};
const
product_name
=
[
(
val
?:
string
)
=>
(
val
&&
val
.
trim
().
length
)
||
i18n
.
global
.
t
(
'artist.artistInformation.validateMessages.requireProducName'
),
];
const
product_code
=
[
(
val
?:
string
)
=>
(
val
&&
val
.
trim
().
length
)
||
...
...
@@ -71,10 +81,12 @@ export default defineComponent({
SubmitData
,
urlFileLocal
,
file
,
name
,
code
,
embeddedUrl
,
status
,
ResetData
,
product_name
,
product_code
,
url_embed
,
};
...
...
src/components/artist-information/AddHotProduct/index.vue
View file @
68a80dbf
...
...
@@ -31,6 +31,18 @@
:isBtn=
"true"
@
selectedFile=
"uploadAvatar"
></UploadImage>
<q-input
v-model=
"name"
label=
"
Tên sản phẩm
"
:rules=
"product_name"
type=
"text"
class=
"q-my-sm"
outlined
hide-bottom-space
clearable
></q-input>
<q-input
v-model=
"code"
label=
"
...
...
src/components/artist-information/UpdateHotProduct/index.vue
View file @
68a80dbf
...
...
@@ -34,6 +34,18 @@
:isBtn=
"true"
@
selectedFile=
"uploadAvatar"
></UploadImage>
<q-input
v-model=
"name"
label=
"
Tên sản phẩm
"
:rules=
"product_name"
type=
"text"
class=
"q-my-sm"
outlined
hide-bottom-space
clearable
></q-input>
<q-input
v-model=
"code"
label=
"
...
...
src/components/artist-information/UpdateHotProduct/updateHotProduc.ts
View file @
68a80dbf
...
...
@@ -24,6 +24,7 @@ export default defineComponent({
setup
(
props
,
context
)
{
const
configImg
=
config
;
const
file
:
Ref
<
File
|
string
>
=
ref
(
''
);
const
name
:
Ref
<
string
>
=
ref
(
''
);
const
code
:
Ref
<
string
>
=
ref
(
''
);
const
embeddedUrl
:
Ref
<
string
>
=
ref
(
''
);
const
urlFileLocal
:
Ref
<
string
>
=
ref
(
''
);
...
...
@@ -41,6 +42,7 @@ export default defineComponent({
(
value
)
=>
{
if
(
value
)
{
id
.
value
=
props
.
dataUpdate
?.
id
as
number
;
name
.
value
=
props
.
dataUpdate
?.
name
as
string
;
code
.
value
=
props
.
dataUpdate
?.
code
as
string
;
embeddedUrl
.
value
=
props
.
dataUpdate
?.
embeddedUrl
as
string
;
status
.
value
=
props
.
dataUpdate
?.
status
as
number
;
...
...
@@ -54,6 +56,7 @@ export default defineComponent({
);
const
ResetData
=
()
=>
{
file
.
value
=
''
;
name
.
value
=
''
;
code
.
value
=
''
;
embeddedUrl
.
value
=
''
;
urlFileLocal
.
value
=
''
;
...
...
@@ -63,6 +66,7 @@ export default defineComponent({
context
.
emit
(
'click:CloseBtnUpdateHotProduct'
);
context
.
emit
(
'UpdateData'
,
{
file
:
file
.
value
,
name
:
name
.
value
,
code
:
code
.
value
,
status
:
status
.
value
,
embeddedUrl
:
embeddedUrl
.
value
,
...
...
@@ -70,6 +74,13 @@ export default defineComponent({
id
:
id
.
value
,
});
};
const
product_name
=
[
(
val
?:
string
)
=>
(
val
&&
val
.
trim
().
length
)
||
i18n
.
global
.
t
(
'artist.artistInformation.validateMessages.requireProducName'
),
];
const
product_code
=
[
(
val
?:
string
)
=>
(
val
&&
val
.
trim
().
length
)
||
...
...
@@ -90,15 +101,16 @@ export default defineComponent({
SubbmitDataUpdate
,
urlFileLocal
,
file
,
name
,
code
,
embeddedUrl
,
status
,
ResetData
,
product_name
,
product_code
,
url_embed
,
id
,
configImg
,
imageAPI
,
};
},
...
...
src/components/artist-information/VAB-account/add-story/index.vue
View file @
68a80dbf
...
...
@@ -33,6 +33,15 @@
:isBtn=
"true"
></UploadImage>
<q-input
label=
"Tiêu đề"
hide-bottom-space
type=
"text"
class=
"q-my-sm"
outlined
clearable
></q-input>
<q-input
v-model=
"content"
label=
"Nội dung"
...
...
src/components/artist-information/VAB-account/index.vue
View file @
68a80dbf
...
...
@@ -208,7 +208,9 @@
<div
@
click=
"$emit('openDialogUploadEmbed')"
class=
"flex flex-center"
:style=
"socialEmbedded !== null ? 'height: 85%;' : 'height: 85%'"
:style=
"
socialEmbedded !== null ? 'height: 580px;' : 'height: 580px'
"
>
<iframe
v-if=
"socialEmbedded !== null"
...
...
@@ -256,7 +258,7 @@
</div>
<div
class=
"flex flex-center"
:style=
"stories.length ? 'height:
85%' : 'height: 85%
;'"
:style=
"stories.length ? 'height:
580px' : 'height: 580px
;'"
bordered
v-if=
"!stories.length"
>
...
...
@@ -315,9 +317,11 @@
@
click=
"deleteStory(storyIdx)"
></q-icon>
</div>
<q-input
outlined
type=
"text"
class=
"q-py-sm"
readonly
></q-input>
<q-input
outlined
type=
"textarea"
class=
"q-p
x
-sm"
class=
"q-p
y
-sm"
:model-value=
"story.content"
@
update:model-value=
"$emit('update:content', $event)"
readonly
...
...
@@ -329,7 +333,7 @@
<div
class=
"col-4"
>
<div
class=
"text-h6 text-weight-regular q-py-md"
>
Lịch
</div>
<q-date
style=
"width: 100%; height:
85%
"
style=
"width: 100%; height:
580px
"
:model-value=
"formatSchedules"
@
update:model-value=
"$emit('update:formatSchedules', $event)"
multiple
...
...
src/components/artist-information/hot-product/HotProduct.ts
View file @
68a80dbf
...
...
@@ -22,6 +22,14 @@ export default defineComponent({
align
:
'center'
,
sortable
:
false
,
},
{
name
:
'name'
,
field
:
'name'
,
required
:
true
,
label
:
i18n
.
global
.
t
(
'artist.hotProduct.tableColumnsProduct.name'
),
align
:
'center'
,
sortable
:
false
,
},
{
name
:
'code'
,
field
:
'code'
,
...
...
src/components/customer/add-new-customer-dialog/AddNewCustomerDialog.ts
View file @
68a80dbf
...
...
@@ -166,6 +166,7 @@ export default defineComponent({
i18n
.
global
.
t
(
'customer.validateMessages.requiredPosition'
),
];
return
{
isPwd
:
ref
(
true
),
userNameRules
,
customerNameRules
,
businessNameRules
,
...
...
src/components/customer/add-new-customer-dialog/index.vue
View file @
68a80dbf
...
...
@@ -33,11 +33,20 @@
v-model=
"password"
:label=
"$t('customer.dialogLabel.fieldLabels.password')"
:rules=
"passwordRules"
hide-bottom-space
type=
"password"
class=
"q-my-sm"
outlined
></q-input>
:type=
"isPwd ? 'password' : 'text'"
class=
"q-my-sm"
autocomplete=
"new-password"
hide-bottom-space
>
<template
v-slot:append
>
<q-icon
:name=
"isPwd ? 'visibility_off' : 'visibility'"
class=
"cursor-pointer"
@
click=
"isPwd = !isPwd"
/>
</
template
>
</q-input>
<q-input
v-model=
"code"
:label=
"$t('customer.dialogLabel.fieldLabels.code')"
...
...
src/components/customer/update-new-customer-dialog/UpdateNewCustomerDialog.ts
View file @
68a80dbf
...
...
@@ -148,6 +148,7 @@ export default defineComponent({
i18n
.
global
.
t
(
'customer.validateMessages.requiredPosition'
),
];
return
{
isPwd
:
ref
(
true
),
userNameRules
,
customerNameRules
,
businessNameRules
,
...
...
src/components/customer/update-new-customer-dialog/index.vue
View file @
68a80dbf
...
...
@@ -34,11 +34,18 @@
v-model=
"password"
:label=
"$t('customer.dialogLabel.fieldLabels.password')"
:rules=
"passwordRules"
hide-bottom-space
type=
"password"
class=
"q-my-sm"
outlined
readonly
:type=
"isPwd ? 'password' : 'text'"
class=
"q-my-sm"
autocomplete=
"new-password"
hide-bottom-space
>
<template
v-slot:append
>
<q-icon
:name=
"isPwd ? 'visibility_off' : 'visibility'"
class=
"cursor-pointer"
@
click=
"isPwd = !isPwd"
/>
</
template
></q-input>
<q-input
v-model=
"code"
...
...
src/components/detailBooking/index.vue
0 → 100644
View file @
68a80dbf
<
template
>
<q-dialog
persistent
:model-value=
"showDialog"
@
update:model-value=
"$emit('update:showDialog', $event)"
>
<q-card
style=
"min-width: 56rem"
bordered
>
<q-form
greedy
>
<q-card-section>
<q-item>
<q-item-section>
<q-item-label
class=
"text-h6 text-weight-regular"
>
{{
$t
(
'listBooking.dialogLabel.title'
)
}}
</q-item-label>
</q-item-section>
</q-item>
</q-card-section>
<q-separator
/>
<q-card-section>
<div
class=
"col-12 q-px-xl"
>
<div
class=
"row q-col-gutter-sm"
>
<div
class=
"col-4 fs-14 color"
>
{{
$t
(
'listBooking.titleColumnsTable.bookingCode'
)
}}
:
</div>
<div
class=
"col-8 fs-14"
>
{{
detailInfoBooking
.
bookingCode
}}
</div>
<div
class=
"col-4 fs-14 color"
>
{{
$t
(
'listBooking.titleColumnsTable.artistName'
)
}}
:
</div>
<div
class=
"col-8 fs-14"
>
{{
detailInfoBooking
.
artistName
}}
</div>
<div
class=
"col-4 fs-14 color"
>
{{
$t
(
'listBooking.titleColumnsTable.userName'
)
}}
:
</div>
<div
class=
"col-8 fs-14"
>
{{
detailInfoBooking
.
userName
}}
</div>
<div
class=
"col-4 fs-14 color"
>
{{
$t
(
'listBooking.titleColumnsTable.address'
)
}}
:
</div>
<div
class=
"col-8 fs-14"
>
{{
detailInfoBooking
.
address
}}
</div>
<div
class=
"col-4 fs-14 color"
>
{{
$t
(
'listBooking.titleColumnsTable.content'
)
}}
:
</div>
<div
class=
"col-8 fs-14"
>
{{
detailInfoBooking
.
content
}}
</div>
<div
class=
"col-4 fs-14 color"
>
{{
$t
(
'listBooking.titleColumnsTable.fromTime'
)
}}
:
</div>
<div
class=
"col-8 fs-14"
>
{{
detailInfoBooking
.
fromTime
}}
</div>
<div
class=
"col-4 fs-14 color"
>
{{
$t
(
'listBooking.titleColumnsTable.toTime'
)
}}
:
</div>
<div
class=
"col-8 fs-14"
>
{{
detailInfoBooking
.
toTime
}}
</div>
<div
class=
"col-4 fs-14 color"
>
{{
$t
(
'listBooking.titleColumnsTable.fee'
)
}}
:
</div>
<div
class=
"col-8 fs-14"
>
{{
detailInfoBooking
.
fee
}}
</div>
<!--
<div
class=
"col-4 fs-14 color"
>
{{
$t
(
'listBooking.titleColumnsTable.like'
)
}}
:
</div>
<div
class=
"col-8 fs-14"
>
{{
detailInfoBooking
.
like
}}
</div>
-->
<div
class=
"col-4 fs-14 color"
>
{{
$t
(
'listBooking.titleColumnsTable.status'
)
}}
:
</div>
<div
class=
"col-8 fs-14"
>
{{
detailInfoBooking
.
status
}}
</div>
<div
class=
"col-4 fs-14 color"
>
{{
$t
(
'listBooking.titleColumnsTable.activeStatus'
)
}}
:
</div>
<div
class=
"col-8 fs-14"
>
{{
detailInfoBooking
.
activeStatus
}}
</div>
</div>
</div>
</q-card-section>
<q-card-actions
align=
"right"
>
<q-btn
color=
"grey"
no-caps
style=
"width: 90px"
:label=
"$t('listBooking.crudActions.cancel')"
@
click=
"$emit('click:CloseBtn')"
/>
</q-card-actions>
</q-form>
</q-card>
</q-dialog>
</
template
>
<
script
lang=
"ts"
>
import
{
defineComponent
,
PropType
,
watch
}
from
'vue'
;
import
{
ListBooking
}
from
'src/assets/type'
;
export
default
defineComponent
({
props
:
{
showDialog
:
{
type
:
Boolean
,
required
:
true
,
},
detailInfoBooking
:
{
type
:
Object
as
PropType
<
ListBooking
>
,
required
:
true
,
},
},
setup
(
props
)
{
watch
(
()
=>
props
.
showDialog
,
(
value
)
=>
{
if
(
value
)
{
}
}
);
return
{};
},
emits
:
[
'update:showDialog'
,
'click:CloseBtn'
],
});
</
script
>
<
style
scoped
>
.fs-14
{
font-size
:
14px
;
}
.color
{
color
:
#5d319e
;
}
</
style
>
src/components/units-manager/add-update-unit-dialog/index.vue
View file @
68a80dbf
...
...
@@ -168,7 +168,7 @@
icon=
"mdi-delete-outline"
@
click=
"deleteContract(item.rowIndex)"
>
<q-tooltip
:offset=
"[
2
0, 10]"
>
{{
<q-tooltip
:offset=
"[
1
0, 10]"
>
{{
$t
(
'managingUnitAdd.toolTipMessage.delete'
)
}}
</q-tooltip>
</q-btn>
...
...
@@ -179,7 +179,7 @@
icon=
"mdi-account-edit-outline"
@
click=
"openUpdateArtistDialog(item.row, item.rowIndex)"
>
<q-tooltip
:offset=
"[
2
0, 10]"
>
{{
<q-tooltip
:offset=
"[
1
0, 10]"
>
{{
$t
(
'managingUnitAdd.toolTipMessage.updateInfo'
)
}}
</q-tooltip>
</q-btn>
...
...
@@ -213,9 +213,17 @@
</q-td>
</
template
>
</q-table>
<div
v-if=
"check_artistList"
>
Không được để trống
</div>
{{ check_artistList }}
<div
v-if=
"check_artistList"
style=
"color: #c10015; font-size: 12px"
>
Không được để trống
</div>
</div>
<div></div>
<!-- ngân hàng -->
<div
class=
"row q-pt-lg"
>
<div
class=
"col-auto text-h6 text-weight-regular flex q-ml-md"
>
...
...
@@ -246,7 +254,7 @@
<
template
v-slot:body-cell-action=
""
>
<q-td
style=
"padding: 0"
class=
"flex flex-center"
>
<q-btn
flat
round
color=
"primary"
icon=
"mdi-delete-outline"
>
<q-tooltip
:offset=
"[
2
0, 10]"
>
{{
<q-tooltip
:offset=
"[
1
0, 10]"
>
{{
$t
(
'managingUnitAdd.toolTipMessage.deleteBankAccount'
)
}}
</q-tooltip>
</q-btn>
...
...
@@ -256,7 +264,7 @@
color=
"primary"
icon=
"mdi-account-edit-outline"
>
<q-tooltip
:offset=
"[
2
0, 10]"
>
{{
<q-tooltip
:offset=
"[
1
0, 10]"
>
{{
$t
(
'managingUnitAdd.toolTipMessage.updateBankAccount'
)
}}
</q-tooltip>
</q-btn>
...
...
src/i18n/vi/index.ts
View file @
68a80dbf
...
...
@@ -490,6 +490,7 @@ export default {
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ý'
,
requireProducName
:
'Vui lòng nhập Tên sản phẩm'
,
requireProducCode
:
'Vui lòng nhập Mã sản phẩm'
,
requireUrlembed
:
'Vui lòng nhập Url Embed'
,
requireArtistCode
:
'Vui lòng nhập Mã nghệ sỹ'
,
...
...
@@ -529,6 +530,7 @@ export default {
},
hotProduct
:
{
tableColumnsProduct
:
{
name
:
'Tên sản phẩm'
,
productCode
:
'Mã sản phẩm'
,
urlEmbed
:
'Url embed'
,
productImage
:
'Ảnh sản phẩm'
,
...
...
@@ -918,25 +920,31 @@ export default {
title
:
'Danh sách booking'
,
titleColumnsTable
:
{
stt
:
'STT'
,
customerName
:
'Khách hàng'
,
bookingCode
:
'Mã'
,
userName
:
'Khách hàng'
,
artistName
:
'Nghệ sỹ'
,
description
:
'Nội dung'
,
place
:
'Địa điểm'
,
startTime
:
'Thời gian bắt đầu'
,
endTime
:
'Thời gian kết thúc'
,
statusBooking
:
'Trạng thái Booking'
,
statusActive
:
'Trạng thái hoạt động'
,
createTime
:
'Thời gian tạo'
,
createBy
:
'Người tạo'
,
updateBy
:
'Người cập nhật'
,
updateTime
:
'Thời gian cập nhật'
,
content
:
'Nội dung'
,
address
:
'Địa điểm'
,
fromTime
:
'Thời gian bắt đầu'
,
toTime
:
'Thời gian kết thúc'
,
fee
:
'Giá'
,
like
:
'Số lượt thích'
,
status
:
'T.T Booking'
,
activeStatus
:
'T.T Thực hiện'
,
action
:
'Chức năng'
,
},
dialogLabel
:
{
title
:
'Thông tin Booking'
,
},
crudActions
:
{
cancel
:
'Đóng'
,
},
statusLabel
:
{
activeBooking
:
'Đã xác nhận'
,
inactiveBooking
:
'Không xác nhận'
,
activeEvent
:
'Active'
,
inactiveEvent
:
'Xoá'
,
waitBooking
:
'Chờ nhận'
,
activeBooking
:
'Đã nhận'
,
inactiveBooking
:
'Từ chối'
,
activeEvent
:
'Đã diễn'
,
inactiveEvent
:
'Chưa diễn'
,
},
},
work
:
{
...
...
src/pages/cap-nhat-thong-tin-nghe-sy/index.vue
View file @
68a80dbf
...
...
@@ -14,13 +14,6 @@
name=
"information"
:label=
"$t('artist.artistInformation.tabLabel.personalInformation')"
>
<!--
<template
v-slot:default
>
<q-icon
style=
"position: absolute; top: 5px; right: -16px"
name=
"mdi-alert"
color=
"red"
></q-icon>
</
template
>
-->
</q-tab>
<q-tab
name=
"vabAccount"
...
...
src/pages/cap-nhat-thong-tin-nghe-sy/updateInformationArtist.ts
View file @
68a80dbf
...
...
@@ -36,9 +36,6 @@ import {
TypeCardType
,
FileUploadType
,
}
from
'src/assets/type'
;
// import { isEmail } from '../../boot/functions';
// import { isMobilePhone } from '../../boot/functions';
export
type
AvatarType
=
{
file
?:
File
;
url
?:
string
|
null
;
...
...
@@ -690,14 +687,6 @@ export default defineComponent({
'artist.artistInformation.validateMessages.requirePhoneNumber'
);
}
// if (!isMobilePhone(phoneNumber.value as string)) {
// hasError = true;
// phoneNumberRules.value = true;
// errorMessPhoneNumber.value = i18n.global.t(
// 'artist.artistInformation.validateMessages.isPhone'
// );
// }
if
(
!
email
.
value
||
!
email
.
value
?.
trim
().
length
)
{
hasError
=
true
;
emailRules
.
value
=
true
;
...
...
@@ -705,30 +694,24 @@ export default defineComponent({
'artist.artistInformation.validateMessages.requireEmail'
);
}
// if (!isEmail(email.value as string)) {
// if (
// !phoneNumberAdminister.value ||
// !phoneNumberAdminister.value?.trim().length
// ) {
// hasError = true;
// emailRules.value = true;
// errorMessEmail.value = i18n.global.t(
// 'artist.artistInformation.validateMessages.isEmail'
// 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
(
!
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
)
{
hasError
=
true
;
...
...
@@ -805,7 +788,6 @@ export default defineComponent({
instagram
:
instagram
.
value
,
whatsapp
:
whatsapp
.
value
,
fullName
:
fullName
.
value
,
// "workStatus": 1,
shortDescription
:
null
,
account
:
null
,
socialEmbedded
:
socialEmbedded
.
value
,
...
...
@@ -856,7 +838,6 @@ export default defineComponent({
void
getNationalityOptions
();
void
getArtistLevelOptions
();
void
getQualificationOptions
();
void
getBankOptions
();
void
getTypeCardOptions
();
});
...
...
src/pages/danh-sach-booking/ListBooking.ts
deleted
100644 → 0
View file @
0c261995
import
{
i18n
}
from
'src/boot/i18n'
;
import
{
defineComponent
,
onMounted
,
Ref
,
ref
}
from
'vue'
;
import
Pagination
from
'components/pagination/index.vue'
;
import
{
BookingStatus
}
from
'src/assets/enums'
;
import
{
ActiveStatus
}
from
'src/assets/enums'
;
export
default
defineComponent
({
components
:
{
Pagination
,
},
setup
()
{
const
tableColumns
=
[
{
name
:
'stt'
,
field
:
'stt'
,
required
:
true
,
label
:
i18n
.
global
.
t
(
'listBooking.titleColumnsTable.stt'
),
align
:
'center'
,
sortable
:
false
,
},
{
name
:
'artistName'
,
field
:
'artistName'
,
required
:
true
,
label
:
i18n
.
global
.
t
(
'listBooking.titleColumnsTable.artistName'
),
align
:
'center'
,
headerStyle
:
'text-align: center !important;'
,
sortable
:
false
,
},
{
name
:
'customerName'
,
field
:
'customerName'
,
required
:
true
,
label
:
i18n
.
global
.
t
(
'listBooking.titleColumnsTable.customerName'
),
headerStyle
:
'text-align: center !important;'
,
align
:
'left'
,
sortable
:
false
,
},
{
name
:
'description'
,
field
:
'description'
,
required
:
true
,
label
:
i18n
.
global
.
t
(
'listBooking.titleColumnsTable.description'
),
headerStyle
:
'text-align: center !important;'
,
align
:
'left'
,
sortable
:
false
,
},
{
name
:
'place'
,
field
:
'place'
,
required
:
true
,
label
:
i18n
.
global
.
t
(
'listBooking.titleColumnsTable.place'
),
headerStyle
:
'text-align: center !important;'
,
align
:
'left'
,
sortable
:
false
,
},
{
name
:
'startTime'
,
field
:
'startTime'
,
required
:
true
,
label
:
i18n
.
global
.
t
(
'listBooking.titleColumnsTable.startTime'
),
headerStyle
:
'text-align: center !important;'
,
align
:
'center'
,
sortable
:
false
,
},
{
name
:
'endTime'
,
field
:
'endTime'
,
required
:
true
,
label
:
i18n
.
global
.
t
(
'listBooking.titleColumnsTable.endTime'
),
headerStyle
:
'text-align: center !important;'
,
align
:
'center'
,
sortable
:
false
,
},
{
name
:
'statusBooking'
,
field
:
'statusBooking'
,
required
:
true
,
label
:
i18n
.
global
.
t
(
'listBooking.titleColumnsTable.statusBooking'
),
headerStyle
:
'text-align: center !important;'
,
align
:
'left'
,
sortable
:
false
,
},
{
name
:
'statusActive'
,
field
:
'statusActive'
,
required
:
true
,
label
:
i18n
.
global
.
t
(
'listBooking.titleColumnsTable.statusActive'
),
headerStyle
:
'text-align: center !important;'
,
align
:
'left'
,
sortable
:
false
,
},
{
name
:
'action'
,
field
:
'action'
,
required
:
true
,
label
:
i18n
.
global
.
t
(
'listBooking.titleColumnsTable.action'
),
align
:
'center'
,
sortable
:
false
,
},
];
const
listBooking
=
ref
([
{
stt
:
1
,
artistName
:
'Sơn Tùng MTP'
,
customerName
:
'Nguyễn Văn A'
,
description
:
'Đại nhạc hội'
,
place
:
'Cầu Giấy - Hà Nội'
,
startTime
:
'18:00:00 - 30/4/2021'
,
endTime
:
'21:00:00 - 30/4/2021'
,
statusBooking
:
1
,
statusActive
:
2
,
},
]);
const
pageIndex
=
ref
(
1
);
const
pageSize
=
ref
(
20
);
const
totalPage
=
ref
(
10
);
const
keywordSearch
:
Ref
<
string
|
null
>
=
ref
(
null
);
const
changePageSize
=
()
=>
{
pageIndex
.
value
=
1
;
void
getListBooking
();
};
const
getListBooking
=
()
=>
{
// console.log('API List Menu');
};
onMounted
(()
=>
{
void
getListBooking
();
});
return
{
keywordSearch
,
status
,
listBooking
,
tableColumns
,
pageIndex
,
pageSize
,
totalPage
,
changePageSize
,
getListBooking
,
BookingStatus
,
ActiveStatus
,
};
},
});
src/pages/danh-sach-booking/index.vue
View file @
68a80dbf
This diff is collapsed.
Click to expand it.
src/pages/khach-hang/customer.ts
deleted
100644 → 0
View file @
0c261995
This diff is collapsed.
Click to expand it.
src/pages/khach-hang/index.vue
View file @
68a80dbf
This diff is collapsed.
Click to expand it.
src/pages/linh-vuc-hoat-dong/index.vue
View file @
68a80dbf
...
...
@@ -55,7 +55,7 @@
icon=
"mdi-account-edit-outline"
@
click=
"openUpdateFieldDialog(item.row.id)"
>
<q-tooltip
:offset=
"[
2
0, 10]"
>
{{
<q-tooltip
:offset=
"[
1
0, 10]"
>
{{
$t
(
'field.toolTipMessage.updateField'
)
}}
</q-tooltip>
</q-btn>
...
...
@@ -66,7 +66,7 @@
icon=
"mdi-delete-outline"
@
click=
"confirmDeleteField(item.row.id)"
>
<q-tooltip
:offset=
"[
2
0, 10]"
>
{{
<q-tooltip
:offset=
"[
1
0, 10]"
>
{{
$t
(
'field.toolTipMessage.deleteField'
)
}}
</q-tooltip>
</q-btn>
...
...
@@ -76,7 +76,7 @@
<td>
<div
class=
"ellipsis-3-lines"
>
{{
!
item
.
row
.
description
?
''
:
item
.
row
.
description
}}
<q-tooltip
:offset=
"[
2
0, 10]"
max-width=
"35%"
>
{{
<q-tooltip
:offset=
"[
1
0, 10]"
max-width=
"35%"
>
{{
!
item
.
row
.
description
?
''
:
item
.
row
.
description
}}
</q-tooltip>
</div>
...
...
@@ -141,14 +141,6 @@ export default defineComponent({
},
setup
()
{
const
fieldTableColumns
=
[
// {
// name: 'index',
// field: 'index',
// required: true,
// label: 'STT',
// align: 'center',
// sortable: false,
// },
{
name
:
'name'
,
field
:
'name'
,
...
...
src/pages/them-nghe-sy/AddArtist.ts
View file @
68a80dbf
...
...
@@ -648,23 +648,24 @@ export default defineComponent({
// '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 (
// !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
)
{
hasError
=
true
;
...
...
src/pages/them-nghe-sy/index.vue
View file @
68a80dbf
...
...
@@ -14,13 +14,6 @@
name=
"information"
:label=
"$t('artist.artistInformation.tabLabel.personalInformation')"
>
<!--
<template
v-slot:default
>
<q-icon
style=
"position: absolute; top: 5px; right: -16px"
name=
"mdi-alert"
color=
"red"
></q-icon>
</
template
>
-->
</q-tab>
<q-tab
name=
"vabAccount"
...
...
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