123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- <template>
- <v-container class="spacing-playground" fluid>
- <v-row no-gutters>
- <v-col cols="8" class="col detail__main pa-6">
- <h2 class="mb-5">Редактирование комментария</h2>
- <div class="mb-5">
- <strong>Дата создания:</strong> {{ created_at }}
- </div>
- <div class="mb-5">
- <strong>Нужна модерация:</strong> {{ need_moderation ? 'Да' : 'Нет' }}
- </div>
- <div class="mb-5">
- <strong>Пользователь:</strong> {{ user_create }}
- </div>
- <v-textarea
- name="input-1"
- label="Комментарий"
- hint=""
- v-model="message"></v-textarea>
- <v-btn class="ml-auto mr-0 pa-6 my-6" @click="updateComment">Сохранить комментарий</v-btn>
- </v-col>
- <div v-if="result.length" class="message-box">
- <v-alert
- :key="i"
- class="message"
- :type="messageClass ? messageClass : 'primary'"
- >
- {{ result }}
- </v-alert>
- </div>
- </v-row>
- </v-container>
- </template>
- <script>
- import VueTimepicker from "vue2-timepicker";
- import "vue2-timepicker/dist/VueTimepicker.css";
- export default {
- components: {
- VueTimepicker,
- },
- methods: {
- updateComment() {
- this.$axios.post("admin/comments/edit", this.commentItem).then((res) => {
- this.result = "Комментарий обновлен";
- if(res.data.success){
- setTimeout(() => {
- this.$router.push("/admin/comments");
- }, 500);
- }else{
- this.notificationHandler('Ошибка обновления комментария', true);
- return " ";
- }
- }).catch((err) => {
- this.notificationHandler('Ошибка обновления комментария', true);
- return " ";
- });
- },
- notificationHandler(message, error) {
- this.messageClass = false;
- this.result = message;
- if (error) {
- this.messageClass = "error";
- }
- const interva = setTimeout(() => {
- this.result = "";
- }, 10000);
- },
- },
- data() {
- return {
- messageClass: "",
- result: "",
- message: "",
- id: "",
- created_at: "",
- need_moderation: "",
- user_create: ""
- };
- },
- validations: {},
- layout: "admin",
- // Компьютед
- computed: {
- commentItem() {
- return {
- id: this.$route.params.id,
- message: this.message,
- };
- },
- },
- mounted() {
- this.$axios.$get("/admin/comments/item/" + this.$route.params.id).then((res) => {
- return res;
- }).then((res) => {
- this.message = res.data.message;
- this.created_at = res.data.created_at;
- this.need_moderation = res.data.need_moderation;
- this.user_create = res.data.user_create_for_admin && res.data.user_create_for_admin.first_name.length ? res.data.user_create_for_admin.first_name : 'Гость';
- });
- },
- };
- </script>
- <style lang="less">
- </style>
|