Interf v2
This commit is contained in:
@@ -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">
|
||||||
:key="'document-'+i"
|
<a target="_blank" class="btn me-2 mb-2" :class="document.color"
|
||||||
:href="'https://gta.parapharmacie-et-medicament.com/interface/ase_get_doc.php?prj=pharmamp&id='+document.id">
|
:key="'document-'+i"
|
||||||
<Icon width="40" :icon="document.icon"></Icon>
|
:href="'https://gta.parapharmacie-et-medicament.com/interface/ase_get_doc.php?prj=pharmamp&display=html&id='+document.id">
|
||||||
</a>
|
<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>
|
||||||
<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>
|
||||||
|
|||||||
@@ -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'
|
||||||
|
|||||||
@@ -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() {
|
||||||
|
|||||||
Reference in New Issue
Block a user