diff --git a/src/components/ConcernementMapItem.vue b/src/components/ConcernementMapItem.vue index f384514..05ef7e5 100644 --- a/src/components/ConcernementMapItem.vue +++ b/src/components/ConcernementMapItem.vue @@ -753,6 +753,10 @@ export default { strokeColor: '#fff', strokeWidth: 1 } + let felchesstyle = { + strokeColor: '#fff', + strokeWidth: 2 + } let legende_style = { strokeColor: '#000', @@ -880,7 +884,7 @@ export default { [this.pos.x, this.pos.y - dr*1.5], [this.pos.x - 2, this.pos.y - dr*1.5 + 2] ], - style: style + style: felchesstyle }), // bas new paper.Path({ @@ -889,7 +893,7 @@ export default { [this.pos.x, this.pos.y + dr*1.5], [this.pos.x + 2, this.pos.y + dr*1.5 + 2] ], - style: style + style: felchesstyle }), // gauche new paper.Path({ @@ -898,7 +902,7 @@ export default { [this.pos.x - dr*1.5, this.pos.y], [this.pos.x - dr*1.5 + 2, this.pos.y + 2] ], - style: style + style: felchesstyle }), // droite new paper.Path({ @@ -907,7 +911,7 @@ export default { [this.pos.x + dr*1.5, this.pos.y], [this.pos.x + dr*1.5 + 2, this.pos.y - 2] ], - style: style + style: felchesstyle }), // // LEGENDES @@ -1033,7 +1037,8 @@ export default { justification: 'left' }), // - // legendes petits cercles + // Points Cardinaux + // // haut new paper.Path.Circle({ center: [this.pos.x, this.pos.y -r], @@ -1202,7 +1207,7 @@ export default { setPaperDoleanceSteps(){ let g = new paper.Group({ pivot: new paper.Point(this.pos), - name: 'doleance steps' + name: 'doleance_steps' }); let doleance = this.concernement.doleances[0]; let all_fields = [ @@ -1282,9 +1287,9 @@ export default { let fontsize = 2.1; // - // PREMIER QUART + // POINTS CARDINAUX // - // #1 le problème + // le problème // g.addChild(new paper.Path.Circle({ center: [this.pos.x, this.pos.y + r], @@ -1292,22 +1297,31 @@ export default { style: { fillColor: '#fff' } - })) + })); g.addChild(new paper.Path.Line({ from: [this.pos.x, this.pos.y + r], to: [this.pos.x, this.pos.y + r + 8], strokeColor: '#fff' - })) + })); g.addChild(new paper.PointText({ - point: [this.pos.x, this.pos.y + r + 10], + point: [this.pos.x, this.pos.y + r + 10], + content: "Début du cercle\nLe problème (injustice, indignation, plainte...)", + fontSize: fontsize, + fillColor: '#000', + justification: 'center' + })); + g.addChild(new paper.PointText({ + point: [this.pos.x, this.pos.y + r + 16], content: doleance['leprobleme'], - fontSize: fontsize, + fontSize: 2.3, fillColor: '#fff', justification: 'center' - })) - + })); + // - // #2 l'enquete + // CAMENBERT STATIQUES + // + // l'enquete // let enquete = new paper.Group({ name: 'enquete' @@ -1318,16 +1332,17 @@ export default { strokeWidth: 2, fillColor: "rgba(255, 255, 255, 0.4)" }); - cam.add({x: this.pos.x , y: this.pos.y + dr}); - cam.lineTo({x: this.pos.x, y: this.pos.y + r}); - cam.arcTo({x: this.pos.x - p, y: this.pos.y + o}, {x: this.pos.x - m, y: this.pos.y + m}); - cam.lineTo({x: this.pos.x - n, y: this.pos.y + n}); - cam.arcTo({x: this.pos.x - p_d, y: this.pos.y + o_d}, {x: this.pos.x , y: this.pos.y + dr}); + + cam.add({x: this.pos.x + n, y: this.pos.y + n}); + cam.lineTo({x: this.pos.x + m , y: this.pos.y + m}); + cam.arcTo({x: this.pos.x + p, y: this.pos.y + o}, {x: this.pos.x, y: this.pos.y + r}); + cam.lineTo({x: this.pos.x, y: this.pos.y + dr}); + cam.arcTo({x: this.pos.x + p_d, y: this.pos.y + o_d}, {x: this.pos.x + n, y: this.pos.y + n}); enquete.addChild(cam) // texte enquete.addChild(new paper.PointText({ point: { - x:this.pos.x - Math.sin(22.5*(Math.PI/180)) * r*0.75, + x:this.pos.x + Math.sin(22.5*(Math.PI/180)) * r*0.75, y:this.pos.y + Math.cos(22.5*(Math.PI/180)) * r*0.75 }, content: doleance['lenquete'], @@ -1337,30 +1352,47 @@ export default { })); g.addChild(enquete); + // + // probleme_initial_resolu + // + let resolution = new paper.Group({ + name: 'resolution' + }); + // camenbert + let rescam = new paper.Path({ + strokeColor: '#fff', + strokeWidth: 2, + fillColor: "rgba(255, 255, 255, 0.4)" + }); + rescam.add({x: this.pos.x , y: this.pos.y + dr}); + rescam.lineTo({x: this.pos.x, y: this.pos.y + r}); + rescam.arcTo({x: this.pos.x - p, y: this.pos.y + o}, {x: this.pos.x - m, y: this.pos.y + m}); + rescam.lineTo({x: this.pos.x - n, y: this.pos.y + n}); + rescam.arcTo({x: this.pos.x - p_d, y: this.pos.y + o_d}, {x: this.pos.x , y: this.pos.y + dr}); + resolution.addChild(rescam) + // texte + resolution.addChild(new paper.PointText({ + point: { + x:this.pos.x - Math.sin(22.5*(Math.PI/180)) * r*0.75, + y:this.pos.y + Math.cos(22.5*(Math.PI/180)) * r*0.75 + }, + content: doleance['probleme_initial_resolu'] ? doleance['oui_nouvelle_situation'] : doleance['non_adresse_doleance'], + fontSize: fontsize, + fillColor: '#fff', + justification: 'center' + })); + g.addChild(resolution); + + + // // MULTIPLE FIELDS // let multiple_fields = [ - { - field_name: 'groupesinterets', - arc: 45, - decalage: -45 - }, - { - field_name: 'reception_traitement', - arc: 90, - decalage: -90 - }, - { - field_name: 'mise_en_oeuvre_decision', - arc: 90, - decalage: -180 - }, - { - field_name: 'receptions_et_applications', - arc: 45, - decalage: 90 - } + { field_name: 'groupesinterets', arc: 45, decalage: -45 }, + { field_name: 'reception_traitement', arc: 90, decalage: -90 }, + { field_name: 'mise_en_oeuvre_decision', arc: 90, decalage: -180 }, + { field_name: 'receptions_et_applications', arc: 45, decalage: 90 } ] multiple_fields.forEach((mf, j) => { @@ -1816,15 +1848,14 @@ export default { if (this.map_mode === "doleancer") { if (!this.is_opened) { this.paper_objects.children.doleance_icon.visible = true; - // this.paper_objects.children.doleance_steps.visible = false; + this.paper_objects.children.doleance_steps.visible = false; } else { this.paper_objects.children.doleance_icon.visible = false; - // this.paper_objects.children.doleance_steps.visible = true; - // this.drawBesoins(); + this.paper_objects.children.doleance_steps.visible = true; } } else { this.paper_objects.children.doleance_icon.visible = false; - // this.paper_objects.children.doleance_steps.visible = false; + this.paper_objects.children.doleance_steps.visible = false; } } diff --git a/src/stores/concernements.js b/src/stores/concernements.js index c322a2f..180240b 100644 --- a/src/stores/concernements.js +++ b/src/stores/concernements.js @@ -25,6 +25,11 @@ export const ConcernementsStore = defineStore({ opened_entite_id: null, ct_concernement: {}, ct_entite: {}, + ct_cercle_politique: {}, + p_groupes_interets: {}, + p_reception_et_traitement: {}, + p_mise_en_oeuvre_decision: {}, + p_reception_application_decision: {}, concernements_loaded: false, }), getters: { @@ -123,7 +128,7 @@ export const ConcernementsStore = defineStore({ }) - // concernement + // entite body.variables = { type: 'node', bundle: 'entite' } GQL.post('', body) .then(({ data: { data: { entitydef }}}) => { @@ -135,6 +140,66 @@ export const ConcernementsStore = defineStore({ }) + // cercle_politique + body.variables = { type: 'node', bundle: 'cercle_politique' } + GQL.post('', body) + .then(({ data: { data: { entitydef }}}) => { + // console.log('loadContentTypeDefinition entitydef', entitydef); + entitydef.fields.forEach(field => { + this.ct_cercle_politique[field.field_name] = field; + }); + console.log('loadContentTypeDefinition entitydef cercle_politique', this.ct_cercle_politique); + + }) + + // paragraphe groupes_interets + body.variables = { type: 'paragraph', bundle: 'groupes_interets' } + GQL.post('', body) + .then(({ data: { data: { entitydef }}}) => { + // console.log('loadContentTypeDefinition entitydef', entitydef); + entitydef.fields.forEach(field => { + this.p_groupes_interets[field.field_name] = field; + }); + console.log('loadContentTypeDefinition entitydef p_groupes_interets', this.p_groupes_interets); + + }) + + // paragraphe reception_et_traitement + body.variables = { type: 'paragraph', bundle: 'reception_et_traitement' } + GQL.post('', body) + .then(({ data: { data: { entitydef }}}) => { + // console.log('loadContentTypeDefinition entitydef', entitydef); + entitydef.fields.forEach(field => { + this.p_reception_et_traitement[field.field_name] = field; + }); + console.log('loadContentTypeDefinition entitydef p_reception_et_traitement', this.p_reception_et_traitement); + + }) + + // paragraphe mise_en_oeuvre_decision + body.variables = { type: 'paragraph', bundle: 'mise_en_oeuvre_decision' } + GQL.post('', body) + .then(({ data: { data: { entitydef }}}) => { + // console.log('loadContentTypeDefinition entitydef', entitydef); + entitydef.fields.forEach(field => { + this.p_mise_en_oeuvre_decision[field.field_name] = field; + }); + console.log('loadContentTypeDefinition entitydef p_mise_en_oeuvre_decision', this.p_mise_en_oeuvre_decision); + + }) + + // paragraphe reception_application_decision + body.variables = { type: 'paragraph', bundle: 'reception_application_decision' } + GQL.post('', body) + .then(({ data: { data: { entitydef }}}) => { + // console.log('loadContentTypeDefinition entitydef', entitydef); + entitydef.fields.forEach(field => { + this.p_reception_application_decision[field.field_name] = field; + }); + console.log('loadContentTypeDefinition entitydef p_reception_application_decision', this.p_reception_application_decision); + + }) + }, hideShowConcernement (id, state) { console.log(`disableConcernement id: ${id}`); diff --git a/src/views/Concernement.vue b/src/views/Concernement.vue index 2c6f078..3106e63 100644 --- a/src/views/Concernement.vue +++ b/src/views/Concernement.vue @@ -27,6 +27,11 @@ export default { ...mapState(ConcernementsStore,['concernements_loaded']), ...mapState(ConcernementsStore,['ct_concernement']), ...mapState(ConcernementsStore,['ct_entite']), + ...mapState(ConcernementsStore,['ct_cercle_politique']), + ...mapState(ConcernementsStore,['p_groupes_interets']), + ...mapState(ConcernementsStore,['p_reception_et_traitement']), + ...mapState(ConcernementsStore,['p_mise_en_oeuvre_decision']), + ...mapState(ConcernementsStore,['p_reception_application_decision']), ...mapState(CommonStore,['hover_elmt']) }, created () { @@ -105,7 +110,7 @@ export default {
@@ -204,6 +209,106 @@ export default {
+
+
+
+ +

{{ doleance.leprobleme }}

+ + +

{{ doleance.lenquete }}

+
+
+

{{ ct_cercle_politique.field_groupes.label }}

+
    +
  • + + +

    + +

    + +

    +

  • +
+
+
+ +

+ +

+ +

+

{{ ct_cercle_politique.field_receptions_et_traitements.label }}

+
    +
  • + +

    + +

    + +

    + +

    +

  • +
+
+
+ +

+ +

+

{{ ct_cercle_politique.field_mise_en_oeuvre_decision.label }}

+
    +
  • + +

    + +

    + +

    +

  • +
+
+
+ +

+ +

+ +

+

{{ ct_cercle_politique.field_receptions_et_applications.label }}

+
    +
  • + +

    + +

    + +

    +

  • +
+ + +

+ +

+ +

+ + + +

+
+