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
b4243afb
Commit
b4243afb
authored
May 12, 2021
by
Nguyễn Hải Sơn
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://103.147.34.20:30081/son.nguyen/quasar-web-base
parents
1c94c01d
85acb8f0
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
104 additions
and
44 deletions
+104
-44
index.vue
src/components/add-update-post/index.vue
+58
-12
index.vue
...ponents/artist-information/personal-information/index.vue
+1
-1
index.vue
src/pages/bai-viet/index.vue
+45
-31
No files found.
src/components/add-update-post/index.vue
View file @
b4243afb
...
@@ -31,16 +31,43 @@
...
@@ -31,16 +31,43 @@
>
>
<div
class=
"row q-col-gutter-sm"
>
<div
class=
"row q-col-gutter-sm"
>
<div
class=
"col-6"
>
<div
class=
"col-6"
>
<q-input
<div>
:model-value=
"image"
<q-card
style=
"margin-bottom: 8px"
v-if=
"image !== null"
>
@
update:model-value=
"$emit('update:image', $event)"
<q-img
:src=
"image"
style=
"height: 180px; width: 135px"
>
:label=
"$t('post.dialogLabel.postLabels.image')"
</q-img>
type=
"text"
<q-icon
class=
"q-my-sm"
name=
"mdi-close-circle"
outlined
color=
"red"
:rules=
"imageRules"
style=
"position: absolute; right: 0; font-size: 18px"
clearable
></q-icon>
></q-input>
</q-card>
<q-card
v-else
style=
"margin-bottom: 8px"
>
<q-img
src=
"~/assets/noavatar.png"
style=
"height: 180px; width: 135px"
></q-img>
</q-card>
<q-card
@
click=
"uploadAvatar"
>
<div
align=
"center"
class=
"flex flex-center q-py-xs"
>
<q-icon
name=
"mdi-plus-circle-outline"
:size=
"'xs'"
></q-icon>
<div
class=
"q-mt-xs"
>
{{
$t
(
'uploadImage.uploadBanner'
)
}}
</div>
</div>
<input
ref=
"upload"
hidden
type=
"file"
@
change=
"selectedFile($event.target.files)"
accept=
"image/png, image/jpeg"
/>
</q-card>
</div>
</div>
</div>
<div
class=
"col-6"
>
<div
class=
"col-6"
>
<q-input
<q-input
...
@@ -109,7 +136,7 @@
...
@@ -109,7 +136,7 @@
</
template
>
</
template
>
<
script
lang=
"ts"
>
<
script
lang=
"ts"
>
import
{
defineComponent
}
from
'vue'
;
import
{
defineComponent
,
ref
}
from
'vue'
;
import
{
i18n
}
from
'src/boot/i18n'
;
import
{
i18n
}
from
'src/boot/i18n'
;
export
default
defineComponent
({
export
default
defineComponent
({
...
@@ -125,7 +152,22 @@ export default defineComponent({
...
@@ -125,7 +152,22 @@ export default defineComponent({
content
:
{
type
:
String
,
required
:
true
},
content
:
{
type
:
String
,
required
:
true
},
status
:
{
type
:
Number
,
required
:
true
},
status
:
{
type
:
Number
,
required
:
true
},
},
},
setup
()
{
setup
(
props
,
context
)
{
const
selectedFile
=
(
value
:
FileList
)
=>
{
console
.
log
(
value
,
'valueee image'
);
// console.log(URL.createObjectURL(value[0]));
context
.
emit
(
'SetAvatar'
,
{
file
:
value
[
0
],
url
:
URL
.
createObjectURL
(
value
[
0
]),
});
};
const
upload
=
ref
(
null
);
const
uploadAvatar
=
()
=>
{
// eslint-disable-next-line
// @ts-ignore
// eslint-disable-next-line
upload
.
value
?.
click
();
};
const
imageRules
=
[
const
imageRules
=
[
(
val
?:
string
)
=>
(
val
?:
string
)
=>
(
val
&&
val
.
trim
().
length
)
||
(
val
&&
val
.
trim
().
length
)
||
...
@@ -145,6 +187,9 @@ export default defineComponent({
...
@@ -145,6 +187,9 @@ export default defineComponent({
contentRules
,
contentRules
,
nameRules
,
nameRules
,
imageRules
,
imageRules
,
selectedFile
,
upload
,
uploadAvatar
,
};
};
},
},
emits
:
[
emits
:
[
...
@@ -155,6 +200,7 @@ export default defineComponent({
...
@@ -155,6 +200,7 @@ export default defineComponent({
'update:content'
,
'update:content'
,
'update:status'
,
'update:status'
,
'savePostInfo'
,
'savePostInfo'
,
'SetAvatar'
,
],
],
});
});
</
script
>
</
script
>
src/components/artist-information/personal-information/index.vue
View file @
b4243afb
...
@@ -10,7 +10,7 @@
...
@@ -10,7 +10,7 @@
<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
style=
"margin-bottom: 8px"
v-if=
"avatar !== null"
>
<q-img
:src=
"avatar"
style=
"height: 180px; width: 135px"
>
</q-img>
<q-img
:src=
"avatar"
style=
"height: 180px; width: 135px"
></q-img>
<q-icon
<q-icon
name=
"mdi-close-circle"
name=
"mdi-close-circle"
color=
"red"
color=
"red"
...
...
src/pages/bai-viet/index.vue
View file @
b4243afb
...
@@ -45,30 +45,39 @@
...
@@ -45,30 +45,39 @@
hide-pagination
hide-pagination
class=
"sticky-header-table"
class=
"sticky-header-table"
>
>
<template
v-slot:body-cell-STT=
"item"
>
<q-td
style=
"padding: 0; height: 100%"
>
<div
align=
"center"
>
{{
item
.
rowIndex
+
1
}}
</div>
</q-td>
</
template
>
<
template
v-slot:body-cell-action=
"item"
>
<
template
v-slot:body-cell-action=
"item"
>
<q-td
style=
"padding: 0"
class=
"center"
>
<q-td
style=
"padding: 0"
>
<q-btn
<div
align=
"center"
>
flat
<q-btn
round
flat
color=
"primary"
round
icon=
"mdi-account-edit-outline"
color=
"primary"
@
click=
"openUpdatePostDialog(item.row.id)"
icon=
"mdi-account-edit-outline"
>
@
click=
"openUpdatePostDialog(item.row.id)"
<q-tooltip
:offset=
"[20, 10]"
>
{{
>
$t
(
'post.toolTipMessage.updatePost'
)
<q-tooltip
:offset=
"[20, 10]"
>
{{
}}
</q-tooltip>
$t
(
'post.toolTipMessage.updatePost'
)
</q-btn>
}}
</q-tooltip>
<q-btn
</q-btn>
flat
<q-btn
round
flat
color=
"primary"
round
icon=
"mdi-delete-outline"
color=
"primary"
@
click=
"confirmDeletePost(item.row.id)"
icon=
"mdi-delete-outline"
>
@
click=
"confirmDeletePost(item.row.id)"
<q-tooltip
:offset=
"[20, 10]"
>
{{
>
$t
(
'post.toolTipMessage.deletePost'
)
<q-tooltip
:offset=
"[20, 10]"
>
{{
}}
</q-tooltip>
$t
(
'post.toolTipMessage.deletePost'
)
</q-btn>
}}
</q-tooltip>
</q-btn>
</div>
</q-td>
</q-td>
</
template
>
</
template
>
<
template
v-slot:body-cell-image=
"image"
>
<
template
v-slot:body-cell-image=
"image"
>
...
@@ -121,6 +130,7 @@
...
@@ -121,6 +130,7 @@
v-model:content=
"content"
v-model:content=
"content"
v-model:status=
"status"
v-model:status=
"status"
isUpdate
isUpdate
@
SetAvatar=
"setAvatar"
@
savePostInfo=
"addNewPost"
@
savePostInfo=
"addNewPost"
/>
/>
...
@@ -156,14 +166,14 @@ export default defineComponent({
...
@@ -156,14 +166,14 @@ export default defineComponent({
},
},
setup
()
{
setup
()
{
const
postTableColumns
=
[
const
postTableColumns
=
[
//
{
{
// name: 'index
',
name
:
'STT
'
,
// field: 'index
',
field
:
'STT
'
,
//
required: true,
required
:
true
,
//
label: 'STT',
label
:
'STT'
,
//
align: 'center',
align
:
'center'
,
//
sortable: false,
sortable
:
false
,
//
},
},
{
{
name
:
'name'
,
name
:
'name'
,
field
:
'name'
,
field
:
'name'
,
...
@@ -397,6 +407,9 @@ export default defineComponent({
...
@@ -397,6 +407,9 @@ export default defineComponent({
// void getListPost();
// void getListPost();
// }
// }
};
};
const
setAvatar
=
(
value
:
{
file
?:
File
;
url
?:
string
})
=>
{
image
.
value
=
value
.
url
as
string
;
};
onMounted
(()
=>
{
onMounted
(()
=>
{
void
getListPost
();
void
getListPost
();
...
@@ -426,6 +439,7 @@ export default defineComponent({
...
@@ -426,6 +439,7 @@ export default defineComponent({
content
,
content
,
image
,
image
,
postId
,
postId
,
setAvatar
,
};
};
},
},
});
});
...
...
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