|
|
@@ -14,9 +14,9 @@
|
|
|
</b-media-aside>
|
|
|
<b-media-body>
|
|
|
<h6 class="mb-25">
|
|
|
- {{ blogEdit.userFullName }}
|
|
|
+ {{ userData.name }}
|
|
|
</h6>
|
|
|
- <b-card-text>{{ blogEdit.createdTime }}</b-card-text>
|
|
|
+ <b-card-text>{{ formatTime(blogEdit.created_at) }}</b-card-text>
|
|
|
</b-media-body>
|
|
|
</b-media>
|
|
|
<!--/ media -->
|
|
|
@@ -31,7 +31,7 @@
|
|
|
class="mb-2">
|
|
|
<b-form-input
|
|
|
id="blog-edit-title"
|
|
|
- v-model="blogEdit.blogTitle" />
|
|
|
+ v-model="blogEdit.title" />
|
|
|
</b-form-group>
|
|
|
</b-col>
|
|
|
<b-col md="6">
|
|
|
@@ -41,7 +41,7 @@
|
|
|
class="mb-2">
|
|
|
<v-select
|
|
|
id="blog-edit-category"
|
|
|
- v-model="blogEdit.blogCategories"
|
|
|
+ v-model="blogEdit.category"
|
|
|
:dir="$store.state.appConfig.isRTL ? 'rtl' : 'ltr'"
|
|
|
multiple
|
|
|
:options="categoryOption" />
|
|
|
@@ -54,7 +54,7 @@
|
|
|
class="mb-2">
|
|
|
<quill-editor
|
|
|
id="blog-content"
|
|
|
- v-model="blogEdit.excerpt"
|
|
|
+ v-model="blogEdit.content"
|
|
|
:options="snowOption" />
|
|
|
</b-form-group>
|
|
|
</b-col>
|
|
|
@@ -72,16 +72,16 @@
|
|
|
<b-media-aside>
|
|
|
<b-img
|
|
|
ref="refPreviewEl"
|
|
|
- :src="blogEdit.featuredImage"
|
|
|
+ :src="formatImage(blogEdit.thumbnail)"
|
|
|
height="110"
|
|
|
width="170"
|
|
|
class="rounded mr-2 mb-1 mb-md-0" />
|
|
|
</b-media-aside>
|
|
|
<b-media-body>
|
|
|
- <small class="text-muted">Required image resolution 800x400, image size 10mb.</small>
|
|
|
+ <small class="text-muted">圖片建議尺寸為 800x400,容量上限為 10MB</small>
|
|
|
<b-card-text class="my-50">
|
|
|
<b-link id="blog-image-text">
|
|
|
- C:\fakepath\{{ blogFile ? blogFile.name : 'banner.jpg' }}
|
|
|
+ {{ blogEdit.thumbnail }}
|
|
|
</b-link>
|
|
|
</b-card-text>
|
|
|
<div class="d-inline-block">
|
|
|
@@ -89,7 +89,7 @@
|
|
|
ref="refInputEl"
|
|
|
v-model="blogFile"
|
|
|
accept=".jpg, .png, .gif"
|
|
|
- placeholder="Choose file"
|
|
|
+ placeholder="選擇圖片"
|
|
|
@input="inputImageRenderer" />
|
|
|
</div>
|
|
|
</b-media-body>
|
|
|
@@ -102,8 +102,9 @@
|
|
|
<b-button
|
|
|
v-ripple.400="'rgba(255, 255, 255, 0.15)'"
|
|
|
variant="primary"
|
|
|
- class="mr-1">
|
|
|
- 發布貼文
|
|
|
+ class="mr-1"
|
|
|
+ @click="editComment()">
|
|
|
+ 變更貼文
|
|
|
</b-button>
|
|
|
<b-button
|
|
|
v-ripple.400="'rgba(186, 191, 199, 0.15)'"
|
|
|
@@ -143,6 +144,8 @@ import { useInputImageRenderer } from '@core/comp-functions/forms/form-utils'
|
|
|
import { ref } from '@vue/composition-api'
|
|
|
import { getUserData } from '@/auth/utils'
|
|
|
import moment from 'moment'
|
|
|
+import useJwt from '@/auth/jwt/useJwt'
|
|
|
+import ToastificationContent from "@core/components/toastification/ToastificationContent.vue";
|
|
|
|
|
|
export default {
|
|
|
components: {
|
|
|
@@ -172,7 +175,7 @@ export default {
|
|
|
userData: getUserData(),
|
|
|
blogEdit: {},
|
|
|
blogFile: null,
|
|
|
- categoryOption: ['Fashion', 'Food', 'Gaming', 'Quote', 'Video'],
|
|
|
+ categoryOption: ['台灣小吃', '美食', '熱炒店', '吃到飽'],
|
|
|
statusOption: ['Published', 'Pending', 'Draft'],
|
|
|
snowOption: {
|
|
|
theme: 'snow',
|
|
|
@@ -180,9 +183,15 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
|
- this.$http.get('/blog/list/data/edit').then(res => {
|
|
|
- this.blogEdit = res.data
|
|
|
- })
|
|
|
+ useJwt.postData('/api/message/detail', { 'id': this.$route.params.id }).then(response => {
|
|
|
+ this.blogEdit = response.data.blog;
|
|
|
+ this.blogEdit.category = response.data.blog.tag.split(',');
|
|
|
+ if(this.blogEdit.author_id != this.userData.id){
|
|
|
+ this.$router.push({ name: 'pages-blog-list' });
|
|
|
+ }
|
|
|
+ }).catch(error => {
|
|
|
+ console.log(error)
|
|
|
+ });
|
|
|
},
|
|
|
setup() {
|
|
|
const refInputEl = ref(null)
|
|
|
@@ -198,6 +207,47 @@ export default {
|
|
|
inputImageRenderer,
|
|
|
}
|
|
|
},
|
|
|
+ methods: {
|
|
|
+ formatTime(value) {
|
|
|
+ return moment(value).format("LLL");
|
|
|
+ },
|
|
|
+ formatTag(value) {
|
|
|
+ return value.split(",");
|
|
|
+ },
|
|
|
+ formatImage(value) {
|
|
|
+ return value.includes("http") ? value : "/images/" + value;
|
|
|
+ },
|
|
|
+ editComment() {
|
|
|
+ let formData = new FormData();
|
|
|
+ formData.append('id', this.$route.params.id);
|
|
|
+ formData.append('title', this.blogEdit.title);
|
|
|
+ formData.append('content', this.blogEdit.content);
|
|
|
+ formData.append('preview', "preview");
|
|
|
+ let tag = '';
|
|
|
+ if (this.blogEdit.category.length > 0) {
|
|
|
+ tag = this.blogEdit.category.join(',');
|
|
|
+ }
|
|
|
+ formData.append('tag', tag);
|
|
|
+ let thumbnail = this.blogFile == null ? this.blogEdit.thumbnail : this.blogFile;
|
|
|
+ formData.append('thumbnail', thumbnail);
|
|
|
+
|
|
|
+ useJwt.postData('/api/message/editMessage', formData).then(response => {
|
|
|
+ //this.$router.push({ name: 'pages-blog-list' });
|
|
|
+ }).catch(error => {
|
|
|
+ console.log(error)
|
|
|
+ this.$toast({
|
|
|
+ component: ToastificationContent,
|
|
|
+ props: {
|
|
|
+ title: `錯誤`,
|
|
|
+ icon: 'AlertTriangleIcon',
|
|
|
+ variant: 'warning',
|
|
|
+ text: error,
|
|
|
+ },
|
|
|
+ })
|
|
|
+ });
|
|
|
+
|
|
|
+ },
|
|
|
+ }
|
|
|
}
|
|
|
</script>
|
|
|
|
|
|
@@ -205,4 +255,7 @@ export default {
|
|
|
@import '~@resources/scss/vue/libs/vue-select.scss';
|
|
|
@import '~@resources/scss/vue/libs/quill.scss';
|
|
|
@import '~@resources/scss/vue/pages/page-blog.scss';
|
|
|
+.custom-file-input:lang(en)~.custom-file-label::after {
|
|
|
+ content: '選擇檔案';
|
|
|
+}
|
|
|
</style>
|