This commit is contained in:
Komek Hayytnazarov 2022-11-08 13:33:54 +05:00
commit c0fd6e1596
12 changed files with 218 additions and 207 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

170
dist/assets/index.7f4a344d.js vendored Normal file

File diff suppressed because one or more lines are too long

7
dist/assets/index.f5250fa0.css vendored Normal file

File diff suppressed because one or more lines are too long

4
dist/index.html vendored
View File

@ -5,8 +5,8 @@
<link rel="icon" href="/fav_icon.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>TMEX</title>
<script type="module" crossorigin src="/assets/index.0c630b37.js"></script>
<link rel="stylesheet" href="/assets/index.1e09b763.css">
<script type="module" crossorigin src="/assets/index.7f4a344d.js"></script>
<link rel="stylesheet" href="/assets/index.f5250fa0.css">
</head>
<body>
<div id="app"></div>

View File

@ -119,7 +119,8 @@ onUnmounted(() => {
});
const goToMessagesList = (ticketId) => {
router.push({ name: "ticket-list", params: { ticketId: ticketId } });
console.log('pressed the button ' + ticketId);
router.push({ name: "ticket-list", query: { ticketId: ticketId } });
};
onBeforeMount(async () => {

View File

@ -15,6 +15,7 @@ export const APPLICATION_APPROVED_STATE = "approved";
export const APPLICATION_TO_BE_IMPROVED_STATE = "to_be_improved";
export const APPLICATION_NEW_STATE = "new";
export const APPLICATION_APPLIED_STATE = "applied";
export const APPLICATION_REFINE_STATE = "refine";
export const EXTENSION_QUESTIONNAIRE_FILE = "DOCX";
export const EXTENSION_LETTER_FILE = "DOCX";
export const ACCOUNT_TYPE_BUSINESS = "business";

View File

@ -133,7 +133,8 @@ export const locale = {
USER_FORM: "Форма пользователя",
USER_CREATED_SUCCESS: "User successfully created",
CREATE: "Создать",
APPLICATION_NEEDS_TO_BE_IMPROVED: "Application needs to be improved",
APPLICATION_NEEDS_TO_BE_IMPROVED_TEXT: "Ваша заявка требует доработки. Пожалуйста перейдите {0}, чтобы посмотреть причину.",
APPLICATION_NEEDS_TO_BE_IMPROVED_LINK: "в соответствующее обращение",
NAME_QUESTIONNAIRE_FILE: "Questionnaire",
NAME_LETTER_FILE: "Letter",
DOCUMENTS_TWO: "This is documents section",

View File

@ -139,7 +139,8 @@ export const locale = {
USER_FORM: "Форма пользователя",
USER_CREATED_SUCCESS: "Пользователь создан",
CREATE: "Создать",
APPLICATION_NEEDS_TO_BE_IMPROVED: "Application needs to be improved",
APPLICATION_NEEDS_TO_BE_IMPROVED_TEXT: "Ваша заявка требует доработки. Пожалуйста перейдите {0}, чтобы посмотреть причину.",
APPLICATION_NEEDS_TO_BE_IMPROVED_LINK: "в соответствующее обращение",
NAME_QUESTIONNAIRE_FILE: "Вопросник",
NAME_LETTER_FILE: "Письмо",
DOCUMENTS_TWO: "Онлайн подача заявки на регистрацию",

View File

@ -135,7 +135,8 @@ export const locale = {
USER_FORM: "Форма пользователя",
USER_CREATED_SUCCESS: "User successfully created",
CREATE: "Создать",
APPLICATION_NEEDS_TO_BE_IMPROVED: "Application needs to be improved",
APPLICATION_NEEDS_TO_BE_IMPROVED_TEXT: "Ваша заявка требует доработки. Пожалуйста перейдите {0}, чтобы посмотреть причину.",
APPLICATION_NEEDS_TO_BE_IMPROVED_LINK: "в соответствующее обращение",
NAME_QUESTIONNAIRE_FILE: "Questionnaire",
NAME_LETTER_FILE: "Letter",
DOCUMENTS_TWO: "This is documents section",

View File

@ -140,10 +140,21 @@
</p>
<p
class="font-medium text-primary mt-4"
v-if="application.state === APPLICATION_TO_BE_IMPROVED_STATE"
v-if="application.state === APPLICATION_REFINE_STATE"
>
{{ $t("APPLICATION_NEEDS_TO_BE_IMPROVED") }}
<!-- todo: redirect to relevant ticket -->
<i18n-t
v-if="application.ticket"
keypath="APPLICATION_NEEDS_TO_BE_IMPROVED_TEXT"
for="APPLICATION_NEEDS_TO_BE_IMPROVED_LINK"
>
<a
@click.prevent="goToTicket(application.ticket.id)"
href="#"
class="text-primary font-bold underline"
>
{{ $t('APPLICATION_NEEDS_TO_BE_IMPROVED_LINK') }}
</a>
</i18n-t>
</p>
</div>
<!-- END: Upload -->
@ -161,7 +172,7 @@ import {
QUESTIONNAIRE_LINK,
LETTER_LINK,
APPLICATION_APPROVED_STATE,
APPLICATION_TO_BE_IMPROVED_STATE,
APPLICATION_REFINE_STATE,
APPLICATION_NEW_STATE,
APPLICATION_APPLIED_STATE,
EXTENSION_LETTER_FILE,
@ -231,6 +242,10 @@ const apply = async () => {
isApplying.value = false;
};
const goToTicket = (ticketId) => {
router.push({ name: "ticket-list", query: { ticketId: ticketId } });
};
const downloadQuestionnaire = async () => {
// console.log(user.value.token);
window.open(QUESTIONNAIRE_LINK + user.value.token, '_blank');

View File

@ -17,7 +17,7 @@
:key="ticketKey"
class="intro-x cursor-pointer box relative flex items-center p-5"
:class="[ {'mt-5': ticketKey}, active == ticket.id ? ['bg-slate-200', 'pointer-events-none'] : '' ]"
@click.capture="showChatBox(ticket.id)"
@click.capture="goToTicket(ticket.id)"
>
<div class="ml-2 overflow-hidden w-full">
<div class="flex items-center justify-between">
@ -146,7 +146,7 @@
</template>
<script setup>
import { ref, onBeforeMount, onUnmounted, watch, computed } from "vue";
import { ref, onBeforeMount, watch, computed } from "vue";
import router from "@/router";
import { useAuthStore, useTicketsStore } from "@/stores";
import { storeToRefs } from 'pinia';
@ -171,6 +171,8 @@ const chatAreaRef = ref(); // div element chat
const onCreateTicket = () => router.push({ path: "/ticket-list/create" });
const goToTicket = (ticketId) => router.push({ name: "ticket-list", query: { ticketId: ticketId } });
const showChatBox = async (ticketId) => {
chatBox.value = false;
@ -203,23 +205,20 @@ const sendMessage = async () => {
onBeforeMount(async () => {
await ticketsStore.getTickets();
if(route.params.ticketId) {
showChatBox(route.params.ticketId);
if(route.query.ticketId) {
showChatBox(route.query.ticketId);
}
});
onUnmounted(() => {
//console.log("onUnmounted TICKET LIST");
});
watch(
computed(() => route.params),
computed(() => route.query),
() => {
if(route.params.ticketId) {
showChatBox(route.params.ticketId);
if(route.query.ticketId) {
console.log(route.query);
showChatBox(route.query.ticketId);
}
//console.log(route.params.ticketId);
//console.log(route.query.ticketId);
}
);
</script>