From 4afa5fbfa0f084a85eea229a034e60f38eaea823 Mon Sep 17 00:00:00 2001 From: bach Date: Wed, 26 Feb 2025 12:24:23 +0100 Subject: [PATCH] cercle po: adresse doleance & reception et traitement OK --- src/api/gql/concernement.fragment.gql | 6 +- src/assets/main.scss | 4 +- src/components/ConcernementMapItem.vue | 8 +- src/components/contents/Doleancer.vue | 287 +++++++++++++++++++------ src/stores/concernements.js | 6 +- 5 files changed, 234 insertions(+), 77 deletions(-) diff --git a/src/api/gql/concernement.fragment.gql b/src/api/gql/concernement.fragment.gql index 709ad9f..fb1b848 100644 --- a/src/api/gql/concernement.fragment.gql +++ b/src/api/gql/concernement.fragment.gql @@ -117,9 +117,9 @@ fragment ConcernementFields on Concernement { date_adresse { start } - entite_addresse_doleance - comment_ennonce_doleance - aqui_addresse_doleance + entite_adresse_doleance + comment_enonce_doleance + a_qui_adresse_doleance reception_traitement { id revision_id diff --git a/src/assets/main.scss b/src/assets/main.scss index ab0e6db..c916f16 100644 --- a/src/assets/main.scss +++ b/src/assets/main.scss @@ -1302,7 +1302,9 @@ div.add-ressource-btn{ } div.add-cerclepo-btn, -div.add-groupinteret-btn{ +div.add-groupinteret-btn, +div.add-adressedoleance-btn, +div.add-receptiontraitement-btn{ @include add-btn(); margin: 0 0 1em; height: 60px; diff --git a/src/components/ConcernementMapItem.vue b/src/components/ConcernementMapItem.vue index e099e47..a3298e6 100644 --- a/src/components/ConcernementMapItem.vue +++ b/src/components/ConcernementMapItem.vue @@ -1749,9 +1749,9 @@ export default { } ], [ - 'entite_addresse_doleance', - 'comment_ennonce_doleance', - 'aqui_addresse_doleance', + 'entite_adresse_doleance', + 'comment_enonce_doleance', + 'a_qui_adresse_doleance', { fieldname: 'reception_traitement', fields: [ @@ -1970,7 +1970,7 @@ export default { // adresse de la doleance - if (doleance.entite_addresse_doleance || doleance.aqui_addresse_doleance || doleance.comment_ennonce_doleance) { + if (doleance.entite_adresse_doleance || doleance.a_qui_adresse_doleance || doleance.comment_enonce_doleance) { g.addChild(new paper.Path.Circle({ center: [this.pos.x - r, this.pos.y], radius: 3 * this.scale, diff --git a/src/components/contents/Doleancer.vue b/src/components/contents/Doleancer.vue index 6b73cf9..7b13712 100644 --- a/src/components/contents/Doleancer.vue +++ b/src/components/contents/Doleancer.vue @@ -64,6 +64,9 @@ export default { }, groupeinteret() { return this.doleance.groupesinterets[this.opened_dol.field_index]; + }, + receptionettraitment() { + return this.doleance.reception_traitement[this.opened_dol.field_index]; } }, created () { @@ -189,16 +192,26 @@ export default { }) }) }, + // adresse doleance + addAdresseDoleance(e){ + this.setOpenedDoleanceField(this.cid, this.doleance.id, "adresse_de_la_doleance"); + }, // groupe interet addgroupInteret(e){ - console.log('add groupe interet'); + this.createCerclepoParagGeneric('groupes_interets', 'field_groupes', 'groupesinterets'); + }, + addReceptionEtTraitement(e){ + this.createCerclepoParagGeneric('reception_et_traitement', 'field_receptions_et_traitements', 'reception_traitement'); + }, + createCerclepoParagGeneric(type, prt_field_name, obj_name){ + console.log('createCerclepoParagGeneric',type, prt_field_name, obj_name); this.reloading_concernements = true; // 1 create paragraphe - this.createGroupinteretParag() + this.createParag(type, prt_field_name) .then((parag) => { - console.log('createGroupinteretParag then parag', parag); + console.log('createParag then parag', parag); // 3 record on concernement field_entites - this.recordCerclepoGroupesinteretsField(parag) + this.recordCerclepoParagField(parag, obj_name, prt_field_name) .then((cercle_politique) => { console.log('cercle_politique', cercle_politique); // reload concernement doleances @@ -208,16 +221,15 @@ export default { }); }) }) - }, - createGroupinteretParag(){ + createParag(type, prt_field_name){ return new Promise((resolve, reject) => { // 2 create paragraphe const params_parag = { - type: [{target_id: 'groupes_interets'}], + type: [{target_id: type}], parent_type:{value: 'node'}, parent_id:{value: this.opened_concernement.opened_doleance.id}, - parent_field_name:{value: 'field_groupes'}, // entity reference revision + parent_field_name:{value: prt_field_name}, // entity reference revision }; const configs = { @@ -235,38 +247,39 @@ export default { }) }) }, - recordCerclepoGroupesinteretsField(parag){ + recordCerclepoParagField(parag, obj_name, field_name){ return new Promise((resolve, reject) => { // 3 record concernement field_entite // get all the field_entite values, we don't want to ersae everything - let groupes = []; + let parag_records = []; this.concernement.doleances.forEach((doleance) =>{ if (doleance.id === this.opened_concernement.opened_doleance.id) { - doleance.groupesinterets.forEach((group) => { - console.log('group',group); + doleance[obj_name].forEach((fied) => { + console.log('fied',fied); - groupes.push({ - target_id: group.id, - target_revision_id: group.revision_id + parag_records.push({ + target_id: fied.id, + target_revision_id: fied.revision_id }) }) } }) - console.log('groupes', groupes); + console.log('parag_records', parag_records); // add the new field value - groupes.push({ + parag_records.push({ target_id: parag.id[0].value, target_revision_id: parag.revision_id[0].value }) - console.log('groupes', groupes); + console.log('parag_records', parag_records); const params_node = { type: 'cercle_politique', nid: [{value: this.opened_concernement.opened_doleance.id}], - 'field_groupes': groupes + // 'field_groupes': parag_records }; + params_node[field_name] = parag_records; const configs = { headers: {'X-CSRF-Token': this.csrf_token} @@ -274,11 +287,11 @@ export default { REST.patch(`/node/${this.opened_concernement.opened_doleance.id}?_format=json`, params_node, configs) .then(({ data }) => { - console.log('REST patch cercle_politique new field_group', data) + console.log('REST patch cercle_politique new parag field', data) resolve(data) }) .catch(error => { - console.warn(`Issue with patch cercle_politique new field_group`, error) + console.warn(`Issue with patch cercle_politique new parag field`, error) reject(error) }) // resolve('test') @@ -461,7 +474,8 @@ export default { id: groupeinteret.id, revision_id: groupeinteret.revision_id, field: {field_name: 'field_groupe_interets', value:'value'} - }" /> + }" + v-on:updated="reloadConcernementCerclePol(cid)"/> + - -

+ + + - -

+ + + + + + +

- {{ doleance.reception_traitement[opened_dol.field_index].date.start }} + +
Reception et traitement de la doléance
- -

- -

- -

-

+ v-html="doleance.reception_traitement[opened_dol.field_index].entite_recoit_doleance" /> --> + + + + + + + + + +

- + + -