Interf v2

This commit is contained in:
2024-06-25 17:08:06 +02:00
parent ab9686de60
commit f16224411a
3 changed files with 46 additions and 16 deletions

View File

@@ -7,9 +7,12 @@ import {fr} from 'date-fns/locale';
import {suspens, messages, moveToBottom} from "@/setup/global";
import {useGlobalStore} from "@/stores/global";
import {useTicketStore} from "@/stores/ticket";
const storeTicket = useTicketStore();
const store = useGlobalStore();
const {
currentTicket,
@@ -18,7 +21,6 @@ const {
const brokenAmount = ref(0)
const actionClaim = computed(()=> {
if (brokenAmount.value > 10) {
return {
label : "Demander le retour du colis au client",
@@ -51,6 +53,10 @@ onMounted(async () => {
})
const closeClaim = async ()=>{
suspens.value = true
await moveToBottom("body-modal-to-scroll")
const deliveryData = await TicketApi.validateBrokenIssue(storeTicket.currentTicket.code, storeTicket.idTicket, actionClaim.value.method)
let trackingNumber = null
@@ -63,15 +69,21 @@ const closeClaim = async ()=>{
const closeClaim = await TicketApi.closeBrokenIssue(storeTicket.currentTicket.code, storeTicket.idTicket, messages.value[0].claim.refund_mode, trackingNumber, labelUrl)
if (closeClaim.result === 'OK') {
messages.value = await TicketApi.getMessages(storeTicket.currentTicket.code, storeTicket.idTicket)
}
brokenAmount.value = 0
const newList = await TicketApi.getMessages(storeTicket.currentTicket.code, storeTicket.idTicket)
setTimeout(async function () {
suspens.value = false
messages.value = newList
await moveToBottom("body-modal-to-scroll")
}, 1000);
}
}
const getPdfLinkConverter = (idRdv, idDoc, docFileType) =>{
return "/Php/ajax.php?prj="+ store.projectName+ '&do2=export_pdf&idbox=11&ID_RDV=' + idRdv + '&idbusiness='+ storeTicket.idTicket + '&id_doc='+idDoc+'&doc_type='+encodeURI(docFileType)
}
</script>
@@ -118,12 +130,18 @@ const closeClaim = async ()=>{
<hr/>
{{ message.code_message }}</strong>
<div v-if="message.document.length >0">
<a target="_blank" class="btn me-2 mb-2" :class="document.color" v-for="(document, i) in message.document"
:key="'document-'+i"
:href="'https://gta.parapharmacie-et-medicament.com/interface/ase_get_doc.php?prj=pharmamp&id='+document.id">
<Icon width="40" :icon="document.icon"></Icon>
</a>
<div v-if="message.document.length >0" class="mt-4">
<span v-for="(document, i) in message.document">
<a target="_blank" class="btn me-2 mb-2" :class="document.color"
:key="'document-'+i"
:href="'https://gta.parapharmacie-et-medicament.com/interface/ase_get_doc.php?prj=pharmamp&display=html&id='+document.id">
<Icon width="40" :icon="document.icon"></Icon>
</a>
<a v-if="document.pdf" target="_blank" class="btn me-2 mb-2 btn-outline-danger" :href="'https://gta.parapharmacie-et-medicament.com'+getPdfLinkConverter(message.id, message.document[0].id, message.document[0].type)">
<Icon width="40" icon="fa6-solid:file-pdf"></Icon>
</a>
</span>
</div>
<div v-if="brokenAmount >0 && i===0">
<button class="btn btn-primary" @click="closeClaim">{{actionClaim.label}}</button>

View File

@@ -94,19 +94,30 @@ export default {
},
async closeBrokenIssue(code, id, clientChoice, trackingNumber, trackingUrl) {
const apiUrl = '/App/api.php?prj=pharmamp&controller=TicketingController&method=closeBrokenProductIssue&code_business=' + code + '&id_business=' + id
const apiUrl = '/App/api.php?prj=pharmamp&controller=TicketingController&method=closeBrokenProductIssue'
if (import.meta.env.DEV) {
console.log(apiUrl)
}
const response = await fetch(apiUrl)
const postData = new FormData();
postData.append("id_business", id);
postData.append("code_business", code);
postData.append("clientChoice", clientChoice);
postData.append("trackingNumber", trackingNumber);
postData.append("trackingUrl", trackingUrl);
const response = await fetch(apiUrl, {
method: 'POST',
body: postData
});
if (import.meta.env.DEV) {
console.log(response.clone().text())
}
return response.json();
},
async saveMessage(code, id, quill, attachedDoc, replyOption) {
const apiUrl = '/App/api.php?prj=pharmamp&controller=TicketingController&method=saveMessage'

View File

@@ -4,13 +4,14 @@ import Api from "@/services/Api.js";
export const useGlobalStore = defineStore('global', {
state: () => ({
gulliver: null,
gta: {idProject: null, projectName: null},
gta: {idProject: null, projectName: null, projectUrl:null},
}),
getters: {
numc: (state) => state.gulliver.numc,
url: (state) => state.gulliver.url,
idProject: (state) => state.gta.idProject,
projectName: (state) => state.gta.projectName,
projectUrl: (state) => state.gta.projectUrl,
},
actions: {
async registerSession() {