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 {suspens, messages, moveToBottom} from "@/setup/global";
import {useGlobalStore} from "@/stores/global";
import {useTicketStore} from "@/stores/ticket"; import {useTicketStore} from "@/stores/ticket";
const storeTicket = useTicketStore(); const storeTicket = useTicketStore();
const store = useGlobalStore();
const { const {
currentTicket, currentTicket,
@@ -18,7 +21,6 @@ const {
const brokenAmount = ref(0) const brokenAmount = ref(0)
const actionClaim = computed(()=> { const actionClaim = computed(()=> {
if (brokenAmount.value > 10) { if (brokenAmount.value > 10) {
return { return {
label : "Demander le retour du colis au client", label : "Demander le retour du colis au client",
@@ -51,6 +53,10 @@ onMounted(async () => {
}) })
const closeClaim = 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) const deliveryData = await TicketApi.validateBrokenIssue(storeTicket.currentTicket.code, storeTicket.idTicket, actionClaim.value.method)
let trackingNumber = null 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) const closeClaim = await TicketApi.closeBrokenIssue(storeTicket.currentTicket.code, storeTicket.idTicket, messages.value[0].claim.refund_mode, trackingNumber, labelUrl)
if (closeClaim.result === 'OK') { 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> </script>
@@ -118,12 +130,18 @@ const closeClaim = async ()=>{
<hr/> <hr/>
{{ message.code_message }}</strong> {{ message.code_message }}</strong>
<div v-if="message.document.length >0"> <div v-if="message.document.length >0" class="mt-4">
<a target="_blank" class="btn me-2 mb-2" :class="document.color" v-for="(document, i) in message.document" <span v-for="(document, i) in message.document">
<a target="_blank" class="btn me-2 mb-2" :class="document.color"
:key="'document-'+i" :key="'document-'+i"
:href="'https://gta.parapharmacie-et-medicament.com/interface/ase_get_doc.php?prj=pharmamp&id='+document.id"> :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> <Icon width="40" :icon="document.icon"></Icon>
</a> </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>
<div v-if="brokenAmount >0 && i===0"> <div v-if="brokenAmount >0 && i===0">
<button class="btn btn-primary" @click="closeClaim">{{actionClaim.label}}</button> <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) { 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) { if (import.meta.env.DEV) {
console.log(apiUrl) 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) { if (import.meta.env.DEV) {
console.log(response.clone().text()) console.log(response.clone().text())
} }
return response.json(); return response.json();
}, },
async saveMessage(code, id, quill, attachedDoc, replyOption) { async saveMessage(code, id, quill, attachedDoc, replyOption) {
const apiUrl = '/App/api.php?prj=pharmamp&controller=TicketingController&method=saveMessage' 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', { export const useGlobalStore = defineStore('global', {
state: () => ({ state: () => ({
gulliver: null, gulliver: null,
gta: {idProject: null, projectName: null}, gta: {idProject: null, projectName: null, projectUrl:null},
}), }),
getters: { getters: {
numc: (state) => state.gulliver.numc, numc: (state) => state.gulliver.numc,
url: (state) => state.gulliver.url, url: (state) => state.gulliver.url,
idProject: (state) => state.gta.idProject, idProject: (state) => state.gta.idProject,
projectName: (state) => state.gta.projectName, projectName: (state) => state.gta.projectName,
projectUrl: (state) => state.gta.projectUrl,
}, },
actions: { actions: {
async registerSession() { async registerSession() {