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
3748fc66
Commit
3748fc66
authored
Jul 09, 2021
by
Tình Trương
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
parent
641b5de3
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
240 additions
and
57 deletions
+240
-57
configurations.example.ts
src/assets/configurations.example.ts
+2
-0
type.ts
src/assets/type.ts
+10
-0
VabAccount.ts
src/components/artist-information/VAB-account/VabAccount.ts
+1
-0
index.vue
src/components/artist-information/VAB-account/index.vue
+22
-24
index.vue
...nts/artist-information/VAB-account/update-story/index.vue
+153
-0
index.ts
src/i18n/vi/index.ts
+1
-0
index.vue
src/pages/cap-nhat-thong-tin-nghe-sy/index.vue
+5
-0
updateInformationArtist.ts
...ges/cap-nhat-thong-tin-nghe-sy/updateInformationArtist.ts
+4
-0
index.vue
src/pages/danh-sach-booking/index.vue
+33
-33
AddArtist.ts
src/pages/them-nghe-sy/AddArtist.ts
+4
-0
index.vue
src/pages/them-nghe-sy/index.vue
+5
-0
No files found.
src/assets/configurations.example.ts
View file @
3748fc66
...
@@ -82,4 +82,6 @@ export enum API_PATHS {
...
@@ -82,4 +82,6 @@ export enum API_PATHS {
updateCategoryPost
=
'postCategory/update'
,
updateCategoryPost
=
'postCategory/update'
,
getListBooking
=
'booking'
,
getListBooking
=
'booking'
,
getBookingDetail
=
'booking/detail'
,
getBookingDetail
=
'booking/detail'
,
getArrayArtist
=
'artist/arrayArtist'
,
getArrayCust
=
'customer/arrayCust'
,
}
}
src/assets/type.ts
View file @
3748fc66
...
@@ -412,3 +412,13 @@ export type ListBooking = {
...
@@ -412,3 +412,13 @@ export type ListBooking = {
activeStatus
:
number
;
activeStatus
:
number
;
fee
:
string
;
fee
:
string
;
};
};
export
type
ListArrayArtist
=
{
id
:
number
;
artistName
:
string
;
};
export
type
ListArrayCust
=
{
id
:
number
;
fullName
:
string
;
};
src/components/artist-information/VAB-account/VabAccount.ts
View file @
3748fc66
...
@@ -93,6 +93,7 @@ export default defineComponent({
...
@@ -93,6 +93,7 @@ export default defineComponent({
'deleteStories'
,
'deleteStories'
,
'confirmDeleteSocialEmbedded'
,
'confirmDeleteSocialEmbedded'
,
'click:openAddStoryDialog'
,
'click:openAddStoryDialog'
,
'click:openUpdateStoryDialog'
,
'confirmDeleteStory'
,
'confirmDeleteStory'
,
],
],
});
});
src/components/artist-information/VAB-account/index.vue
View file @
3748fc66
...
@@ -245,6 +245,16 @@
...
@@ -245,6 +245,16 @@
<div
class=
"flex flex-center"
>
<div
class=
"flex flex-center"
>
<div
class=
"text-h6 text-weight-regular q-py-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
class="q-py-md"
v-if="stories !== null"
@click="$emit('click:openUpdateStoryDialog')"
flat
color="primary"
icon="mdi-pencil-circle-outline"
>
<q-tooltip>Chỉnh sửa Story</q-tooltip></q-btn
> -->
<q-btn
<q-btn
class=
"q-py-md"
class=
"q-py-md"
v-if=
"stories.length"
v-if=
"stories.length"
...
@@ -288,7 +298,6 @@
...
@@ -288,7 +298,6 @@
v-model=
"slideStory"
v-model=
"slideStory"
animated
animated
arrows
arrows
navigation
infinite
infinite
style=
"height: 35rem"
style=
"height: 35rem"
>
>
...
@@ -307,31 +316,20 @@
...
@@ -307,31 +316,20 @@
"
"
style=
"height: 35rem"
style=
"height: 35rem"
>
>
<!-- <q-input
<div
outlined
style=
"
type="text"
background: center bottom;
style="font-size: 30px; padding-top: 18.75rem"
text-align: justify;
readonly
height: 100%;
></q-input> -->
display: flex;
<!-- <q-input
flex-direction: column;
outlined
justify-content: flex-end;
type="textarea"
"
class="q-py-sm"
>
:model-value="story.content"
<div
style=
"font-size: 30px"
>
@update:model-value="$emit('update:content', $event)"
readonly
></q-input> -->
<div
style=
"background: bottom; padding-top: 320px"
>
<div
style=
"
text-align: justify;
background: bottom;
font-size: 30px;
"
>
{{ story.title }}
{{ story.title }}
</div>
</div>
<div
style=
"text-align: justify; background: bottom"
>
<div>
{{ story.content }}
{{ story.content }}
</div>
</div>
</div>
</div>
...
...
src/components/artist-information/VAB-account/update-story/index.vue
0 → 100644
View file @
3748fc66
<
template
>
<q-dialog
persistent
:model-value=
"isOpenUpdateStory"
@
update:model-value=
"$emit('update:isOpenUpdateStory', $event)"
>
<q-card
style=
"min-width: 600px"
bordered
>
<q-card-section>
<q-item>
<q-item-section>
<q-item-label
class=
"text-h6 text-weight-regular"
>
{{
$t
(
'artist.dialogLabel.title.updateStory'
)
}}
</q-item-label>
</q-item-section>
</q-item>
</q-card-section>
<q-separator
/>
<q-card-section>
<div
class=
"row q-col-gutter-sm"
>
<div
class=
"col-12"
>
<q-card
v-if=
"urlFileLocal"
flat
>
<div
align=
"center"
>
<q-img
:src=
"imageAPI ? imageAPI : urlFileLocal"
style=
"aspect-ratio: 16/9"
>
</q-img>
</div>
</q-card>
<UploadImage
@
selectedFile=
"uploadStory"
class=
"q-mt-md"
:isBtn=
"true"
></UploadImage>
<q-input
v-model=
"title"
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"
hide-bottom-space
type=
"textarea"
class=
"q-my-sm"
outlined
clearable
></q-input>
</div>
</div>
</q-card-section>
<q-card-actions
align=
"right"
>
<q-btn
color=
"grey"
no-caps
style=
"width: 90px"
:label=
"$t('customer.crudActions.cancel')"
@
click=
"$emit('click:CloseBtnUpdateStory')"
/>
<q-btn
color=
"primary"
no-caps
style=
"width: 90px"
:label=
"$t('customer.crudActions.save')"
type=
"submit"
/>
</q-card-actions>
</q-card>
</q-dialog>
</
template
>
<
script
lang=
"ts"
>
import
{
defineComponent
,
PropType
,
Ref
,
ref
,
watch
}
from
'vue'
;
import
UploadImage
from
'../../../upload-image/index.vue'
;
import
{
StoriesType
}
from
'src/assets/type'
;
import
{
config
}
from
'src/assets/configurations'
;
export
default
defineComponent
({
components
:
{
UploadImage
,
},
props
:
{
isOpenUpdateStory
:
{
type
:
Boolean
,
required
:
true
,
},
stories
:
{
type
:
Object
as
PropType
<
StoriesType
>
,
requied
:
false
,
},
},
setup
(
props
)
{
const
configImg
=
config
;
const
id
:
Ref
<
number
|
null
>
=
ref
(
null
);
const
file
:
Ref
<
File
|
string
>
=
ref
(
''
);
const
title
:
Ref
<
string
>
=
ref
(
''
);
const
content
:
Ref
<
string
>
=
ref
(
''
);
const
urlFileLocal
:
Ref
<
string
>
=
ref
(
''
);
const
imageAPI
:
Ref
<
string
|
null
>
=
ref
(
null
);
const
uploadStory
=
(
value
:
FileList
)
=>
{
urlFileLocal
.
value
=
URL
.
createObjectURL
(
value
[
0
]);
file
.
value
=
value
[
0
];
imageAPI
.
value
=
null
;
};
watch
(
()
=>
props
.
isOpenUpdateStory
,
(
value
)
=>
{
if
(
value
)
{
id
.
value
=
props
.
stories
?.
id
as
number
;
title
.
value
=
props
.
stories
?.
title
as
string
;
content
.
value
=
props
.
stories
?.
content
as
string
;
urlFileLocal
.
value
=
props
.
stories
?.
imageUrl
as
string
;
imageAPI
.
value
=
// eslint-disable-next-line @typescript-eslint/restrict-plus-operands
configImg
.
API_IMAGE_ENDPOINT
+
props
.
stories
?.
imageUrl
;
}
}
);
const
ResetData
=
()
=>
{
file
.
value
=
''
;
title
.
value
=
''
;
content
.
value
=
''
;
urlFileLocal
.
value
=
''
;
};
return
{
uploadStory
,
urlFileLocal
,
file
,
title
,
content
,
ResetData
,
id
,
configImg
,
imageAPI
,
};
},
emits
:
[
'selectedFile'
,
'update:isOpenUpdateStory'
,
'click:CloseBtnUpdateStory'
,
],
});
</
script
>
src/i18n/vi/index.ts
View file @
3748fc66
...
@@ -413,6 +413,7 @@ export default {
...
@@ -413,6 +413,7 @@ export default {
dialogLabel
:
{
dialogLabel
:
{
title
:
{
title
:
{
addStory
:
'Thêm Story'
,
addStory
:
'Thêm Story'
,
updateStory
:
'Chỉnh sửa 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'
,
...
...
src/pages/cap-nhat-thong-tin-nghe-sy/index.vue
View file @
3748fc66
...
@@ -100,6 +100,7 @@
...
@@ -100,6 +100,7 @@
:stories=
"stories"
:stories=
"stories"
@
deleteStories=
"DeleteItemStories"
@
deleteStories=
"DeleteItemStories"
@
click:openAddStoryDialog=
"isOpenAddStory = true"
@
click:openAddStoryDialog=
"isOpenAddStory = true"
@
click:openUpdateStoryDialog=
"isOpenUpdateStory = true"
@
confirmDeleteStory=
"deleteStory"
@
confirmDeleteStory=
"deleteStory"
></VabAccount>
></VabAccount>
</q-tab-panel>
</q-tab-panel>
...
@@ -170,6 +171,10 @@
...
@@ -170,6 +171,10 @@
v-model:is-open-add-story=
"isOpenAddStory"
v-model:is-open-add-story=
"isOpenAddStory"
@
click:CloseBtnAddStory=
"isOpenAddStory = false"
@
click:CloseBtnAddStory=
"isOpenAddStory = false"
></AddStory>
></AddStory>
<UpdateStory
v-model:is-open-update-story=
"isOpenUpdateStory"
@
click:CloseBtnUpdateStory=
"isOpenUpdateStory = false"
></UpdateStory>
<div
class=
"col-12 q-mt-md"
>
<div
class=
"col-12 q-mt-md"
>
<div
class=
"row"
>
<div
class=
"row"
>
<q-space></q-space>
<q-space></q-space>
...
...
src/pages/cap-nhat-thong-tin-nghe-sy/updateInformationArtist.ts
View file @
3748fc66
...
@@ -19,6 +19,7 @@ import EditBankAccountDialog from 'components/artist-information/bank-account/ed
...
@@ -19,6 +19,7 @@ import EditBankAccountDialog from 'components/artist-information/bank-account/ed
import
UploadEmbedDialog
from
'components/artist-information/upload-embed-dialog/index.vue'
;
import
UploadEmbedDialog
from
'components/artist-information/upload-embed-dialog/index.vue'
;
import
UpdateHotProduct
from
'components/artist-information/UpdateHotProduct/index.vue'
;
import
UpdateHotProduct
from
'components/artist-information/UpdateHotProduct/index.vue'
;
import
AddStory
from
'components/artist-information/VAB-account/add-story/index.vue'
;
import
AddStory
from
'components/artist-information/VAB-account/add-story/index.vue'
;
import
UpdateStory
from
'components/artist-information/VAB-account/update-story/index.vue'
;
import
{
import
{
ArtistInfoType
,
ArtistInfoType
,
...
@@ -56,6 +57,7 @@ export default defineComponent({
...
@@ -56,6 +57,7 @@ export default defineComponent({
UpdateHotProduct
,
UpdateHotProduct
,
UploadEmbedDialog
,
UploadEmbedDialog
,
AddStory
,
AddStory
,
UpdateStory
,
},
},
setup
()
{
setup
()
{
...
@@ -68,6 +70,7 @@ export default defineComponent({
...
@@ -68,6 +70,7 @@ export default defineComponent({
const
openUpdateHotProduct
:
Ref
<
boolean
>
=
ref
(
false
);
const
openUpdateHotProduct
:
Ref
<
boolean
>
=
ref
(
false
);
const
isOpenDialogEmbed
:
Ref
<
boolean
>
=
ref
(
false
);
const
isOpenDialogEmbed
:
Ref
<
boolean
>
=
ref
(
false
);
const
isOpenAddStory
:
Ref
<
boolean
>
=
ref
(
false
);
const
isOpenAddStory
:
Ref
<
boolean
>
=
ref
(
false
);
const
isOpenUpdateStory
:
Ref
<
boolean
>
=
ref
(
false
);
// state
// state
const
fieldOptions
:
Ref
<
FieldType
[]
>
=
ref
([]);
const
fieldOptions
:
Ref
<
FieldType
[]
>
=
ref
([]);
...
@@ -951,6 +954,7 @@ export default defineComponent({
...
@@ -951,6 +954,7 @@ export default defineComponent({
confirmDeleteSocialEmbedded
,
confirmDeleteSocialEmbedded
,
changeEmbed
,
changeEmbed
,
isOpenAddStory
,
isOpenAddStory
,
isOpenUpdateStory
,
addStory
,
addStory
,
deleteStory
,
deleteStory
,
UpdateBirtday
,
UpdateBirtday
,
...
...
src/pages/danh-sach-booking/index.vue
View file @
3748fc66
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
<q-select
<q-select
v-model=
"sreachArtist"
v-model=
"sreachArtist"
:options=
"artistOptions"
:options=
"artistOptions"
option-label=
"
n
ame"
option-label=
"
artistN
ame"
option-value=
"id"
option-value=
"id"
dense
dense
outlined
outlined
...
@@ -21,7 +21,7 @@
...
@@ -21,7 +21,7 @@
<q-select
<q-select
v-model=
"sreachUserName"
v-model=
"sreachUserName"
:options=
"customerOptions"
:options=
"customerOptions"
option-label=
"
n
ame"
option-label=
"
fullN
ame"
option-value=
"id"
option-value=
"id"
dense
dense
outlined
outlined
...
@@ -235,8 +235,8 @@ import Pagination from 'components/pagination/index.vue';
...
@@ -235,8 +235,8 @@ import Pagination from 'components/pagination/index.vue';
import
{
import
{
PaginationResponse
,
PaginationResponse
,
ListBooking
,
ListBooking
,
ArtistInfoType
,
ListArrayArtist
,
CustomerType
,
ListArrayCust
,
}
from
'src/assets/type'
;
}
from
'src/assets/type'
;
import
detailBooking
from
'../../components/detailBooking/index.vue'
;
import
detailBooking
from
'../../components/detailBooking/index.vue'
;
import
moment
from
'moment'
;
import
moment
from
'moment'
;
...
@@ -413,32 +413,30 @@ export default defineComponent({
...
@@ -413,32 +413,30 @@ export default defineComponent({
}
}
};
};
const
artistOptions
:
Ref
<
ArtistInfoType
[]
|
null
>
=
ref
([]);
const
artistOptions
:
Ref
<
ListArrayArtist
[]
|
null
>
=
ref
([]);
const
customerOptions
:
Ref
<
CustomerType
[]
|
null
>
=
ref
([]);
const
customerOptions
:
Ref
<
ListArrayCust
[]
|
null
>
=
ref
([]);
// const getArtistOptions = async () => {
const
getArrayArtist
=
async
()
=>
{
// const response = (await api({
const
response
=
(
await
api
({
// url: API_PATHS.getListArtists,
url
:
API_PATHS
.
getArrayArtist
,
// method: 'GET',
method
:
'GET'
,
// params: {},
params
:
{},
// })) as AxiosResponse
<
BaseResponseBody
<
ArtistInfoType
[]
>>
;
}))
as
AxiosResponse
<
BaseResponseBody
<
ListArrayArtist
[]
>>
;
// if (response.data.error.code === config.API_RES_CODE.OK.code) {
if
(
response
.
data
.
error
.
code
===
config
.
API_RES_CODE
.
OK
.
code
)
{
// console.log(response, 'sss');
artistOptions
.
value
=
response
.
data
.
data
;
// artistOptions.value = response.data.data;
}
// }
};
// };
// const getCustomerOptions = async () => {
const
getArrayCust
=
async
()
=>
{
// const response = (await api({
const
response
=
(
await
api
({
// url: API_PATHS.listCustomers,
url
:
API_PATHS
.
getArrayCust
,
// method: 'GET',
method
:
'GET'
,
// params: {},
params
:
{},
// })) as AxiosResponse
<
BaseResponseBody
<
CustomerType
[]
>>
;
}))
as
AxiosResponse
<
BaseResponseBody
<
ListArrayCust
[]
>>
;
// if (response.data.error.code === config.API_RES_CODE.OK.code) {
if
(
response
.
data
.
error
.
code
===
config
.
API_RES_CODE
.
OK
.
code
)
{
// console.log(response, 'sss111');
customerOptions
.
value
=
response
.
data
.
data
;
// customerOptions.value = response.data.data;
}
// }
};
// };
const
getListBooking
=
async
()
=>
{
const
getListBooking
=
async
()
=>
{
try
{
try
{
...
@@ -448,8 +446,10 @@ export default defineComponent({
...
@@ -448,8 +446,10 @@ export default defineComponent({
params
:
{
params
:
{
pageIndex
:
pageIndex
.
value
,
pageIndex
:
pageIndex
.
value
,
pageSize
:
pageSize
.
value
,
pageSize
:
pageSize
.
value
,
artistName
:
sreachArtist
.
value
,
artistId
:
sreachArtist
.
value
,
userName
:
sreachUserName
.
value
,
custId
:
sreachUserName
.
value
,
status
:
sreachStatus
.
value
,
performBooking
:
sreachActiveStatus
.
value
,
},
},
}))
as
AxiosResponse
<
BaseResponseBody
<
PaginationResponse
<
ListBooking
>>>
;
}))
as
AxiosResponse
<
BaseResponseBody
<
PaginationResponse
<
ListBooking
>>>
;
if
(
response
.
data
.
error
.
code
===
config
.
API_RES_CODE
.
OK
.
code
)
{
if
(
response
.
data
.
error
.
code
===
config
.
API_RES_CODE
.
OK
.
code
)
{
...
@@ -480,8 +480,8 @@ export default defineComponent({
...
@@ -480,8 +480,8 @@ export default defineComponent({
onMounted
(()
=>
{
onMounted
(()
=>
{
void
getListBooking
();
void
getListBooking
();
// void getArtistOptions
();
void
getArrayArtist
();
// void getCustomerOptions
();
void
getArrayCust
();
});
});
return
{
return
{
changeTime
,
changeTime
,
...
@@ -509,6 +509,6 @@ export default defineComponent({
...
@@ -509,6 +509,6 @@ export default defineComponent({
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.sreach
{
.sreach
{
width
:
1
2
rem
;
width
:
1
4
rem
;
}
}
</
style
>
</
style
>
src/pages/them-nghe-sy/AddArtist.ts
View file @
3748fc66
...
@@ -19,6 +19,7 @@ import EditBankAccountDialog from 'components/artist-information/bank-account/ed
...
@@ -19,6 +19,7 @@ import EditBankAccountDialog from 'components/artist-information/bank-account/ed
import
UploadEmbedDialog
from
'components/artist-information/upload-embed-dialog/index.vue'
;
import
UploadEmbedDialog
from
'components/artist-information/upload-embed-dialog/index.vue'
;
import
UpdateHotProduct
from
'components/artist-information/UpdateHotProduct/index.vue'
;
import
UpdateHotProduct
from
'components/artist-information/UpdateHotProduct/index.vue'
;
import
AddStory
from
'components/artist-information/VAB-account/add-story/index.vue'
;
import
AddStory
from
'components/artist-information/VAB-account/add-story/index.vue'
;
import
UpdateStory
from
'components/artist-information/VAB-account/update-story/index.vue'
;
import
{
import
{
FieldType
,
FieldType
,
...
@@ -58,6 +59,7 @@ export default defineComponent({
...
@@ -58,6 +59,7 @@ export default defineComponent({
UpdateHotProduct
,
UpdateHotProduct
,
UploadEmbedDialog
,
UploadEmbedDialog
,
AddStory
,
AddStory
,
UpdateStory
,
},
},
setup
()
{
setup
()
{
...
@@ -71,6 +73,7 @@ export default defineComponent({
...
@@ -71,6 +73,7 @@ export default defineComponent({
const
openUpdateHotProduct
:
Ref
<
boolean
>
=
ref
(
false
);
const
openUpdateHotProduct
:
Ref
<
boolean
>
=
ref
(
false
);
const
isOpenDialogEmbed
:
Ref
<
boolean
>
=
ref
(
false
);
const
isOpenDialogEmbed
:
Ref
<
boolean
>
=
ref
(
false
);
const
isOpenAddStory
:
Ref
<
boolean
>
=
ref
(
false
);
const
isOpenAddStory
:
Ref
<
boolean
>
=
ref
(
false
);
const
isOpenUpdateStory
:
Ref
<
boolean
>
=
ref
(
false
);
// state
// state
const
fieldOptions
:
Ref
<
FieldType
[]
>
=
ref
([]);
const
fieldOptions
:
Ref
<
FieldType
[]
>
=
ref
([]);
...
@@ -863,6 +866,7 @@ export default defineComponent({
...
@@ -863,6 +866,7 @@ export default defineComponent({
confirmDeleteSocialEmbedded
,
confirmDeleteSocialEmbedded
,
changeEmbed
,
changeEmbed
,
isOpenAddStory
,
isOpenAddStory
,
isOpenUpdateStory
,
addStory
,
addStory
,
deleteStory
,
deleteStory
,
UpdateBirtday
,
UpdateBirtday
,
...
...
src/pages/them-nghe-sy/index.vue
View file @
3748fc66
...
@@ -100,6 +100,7 @@
...
@@ -100,6 +100,7 @@
:stories=
"stories"
:stories=
"stories"
@
deleteStories=
"DeleteItemStories"
@
deleteStories=
"DeleteItemStories"
@
click:openAddStoryDialog=
"isOpenAddStory = true"
@
click:openAddStoryDialog=
"isOpenAddStory = true"
@
click:openUpdateStoryDialog=
"isOpenUpdateStory = true"
@
confirmDeleteStory=
"deleteStory"
@
confirmDeleteStory=
"deleteStory"
></VabAccount>
></VabAccount>
</q-tab-panel>
</q-tab-panel>
...
@@ -170,6 +171,10 @@
...
@@ -170,6 +171,10 @@
v-model:is-open-add-story=
"isOpenAddStory"
v-model:is-open-add-story=
"isOpenAddStory"
@
click:CloseBtnAddStory=
"isOpenAddStory = false"
@
click:CloseBtnAddStory=
"isOpenAddStory = false"
></AddStory>
></AddStory>
<UpdateStory
v-model:is-open-update-story=
"isOpenUpdateStory"
@
click:CloseBtnUpdateStory=
"isOpenUpdateStory = false"
></UpdateStory>
<div
class=
"col-12 q-mt-md"
>
<div
class=
"col-12 q-mt-md"
>
<div
class=
"row"
>
<div
class=
"row"
>
<q-space></q-space>
<q-space></q-space>
...
...
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