BUILT - if staus refine go to the related ticket

This commit is contained in:
saparatayev 2022-11-08 11:04:40 +05:00
parent a7898b070f
commit 31deadbab2
10 changed files with 93 additions and 74 deletions

File diff suppressed because one or more lines are too long

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.2654d8df.js"></script>
<link rel="stylesheet" href="/assets/index.d823254d.css">
<script type="module" crossorigin src="/assets/index.2a5bf7d1.js"></script>
<link rel="stylesheet" href="/assets/index.bb7b0a84.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

@ -133,7 +133,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

@ -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

@ -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>