cercle politique admin front completed

This commit is contained in:
Bachir Soussi Chiadmi 2025-03-12 16:22:22 +01:00
parent 64d174dcfc
commit 076a0b4c67
2 changed files with 177 additions and 35 deletions

View File

@ -1307,7 +1307,8 @@ div.add-adressedoleance-btn,
div.add-receptiontraitement-btn, div.add-receptiontraitement-btn,
div.add-decision-btn, div.add-decision-btn,
div.add-miseenoeuvre-btn, div.add-miseenoeuvre-btn,
div.add-adressedecision-btn{ div.add-adressedecision-btn,
div.add-receptionapplicationdecision-btn{
@include add-btn(); @include add-btn();
margin: 0 0 1em; margin: 0 0 1em;
height: 60px; height: 60px;

View File

@ -24,8 +24,8 @@ import { mdiStickerPlusOutline } from '@mdi/js';
import ContentEditable from '@components/editable/ContentEditable.vue'; import ContentEditable from '@components/editable/ContentEditable.vue';
import DateEditable from '@components/editable/DateEditable.vue'; import DateEditable from '@components/editable/DateEditable.vue';
import SelectEditable from '@components/editable/SelectEditable.vue';
// import CheckboxEditable from '@components/editable/CheckboxEditable.vue'; // import CheckboxEditable from '@components/editable/CheckboxEditable.vue';
// import SelectEditable from '@components/editable/SelectEditable.vue';
export default { export default {
@ -70,6 +70,9 @@ export default {
}, },
miseenoeuvredecision() { miseenoeuvredecision() {
return this.doleance.mise_en_oeuvre_decision[this.opened_dol.field_index]; return this.doleance.mise_en_oeuvre_decision[this.opened_dol.field_index];
},
receptionsetapplications() {
return this.doleance.receptions_et_applications[this.opened_dol.field_index];
} }
}, },
created () { created () {
@ -207,6 +210,14 @@ export default {
addAdresseDecision(e){ addAdresseDecision(e){
this.setOpenedDoleanceField(this.cid, this.doleance.id, "adresse_de_la_decision"); this.setOpenedDoleanceField(this.cid, this.doleance.id, "adresse_de_la_decision");
}, },
// reception et application decision
addReceptionApplicationDecision(e){
this.createCerclepoParagGeneric('reception_application_decision', 'field_receptions_et_applications', 'receptions_et_applications');
},
// reussite / echec
addReussiteEchec(e){
this.setOpenedDoleanceField(this.cid, this.doleance.id, "probleme_initial_resolu");
},
// groupe interet // groupe interet
addgroupInteret(e){ addgroupInteret(e){
this.createCerclepoParagGeneric('groupes_interets', 'field_groupes', 'groupesinterets'); this.createCerclepoParagGeneric('groupes_interets', 'field_groupes', 'groupesinterets');
@ -219,22 +230,25 @@ export default {
}, },
createCerclepoParagGeneric(type, prt_field_name, obj_name){ createCerclepoParagGeneric(type, prt_field_name, obj_name){
console.log('createCerclepoParagGeneric',type, prt_field_name, obj_name); console.log('createCerclepoParagGeneric',type, prt_field_name, obj_name);
this.reloading_concernements = true; return new Promise((resolve, reject) => {
// 1 create paragraphe this.reloading_concernements = true;
this.createParag(type, prt_field_name) // 1 create paragraphe
.then((parag) => { this.createParag(type, prt_field_name)
console.log('createParag then parag', parag); .then((parag) => {
// 3 record on concernement field_entites console.log('createParag then parag', parag);
this.recordCerclepoParagField(parag, obj_name, prt_field_name) // 3 record on concernement field_entites
.then((cercle_politique) => { this.recordCerclepoParagField(parag, obj_name, prt_field_name)
console.log('cercle_politique', cercle_politique); .then((cercle_politique) => {
// reload concernement doleances console.log('cercle_politique', cercle_politique);
this.reloadConcernementCerclePol(this.concernement.id) // reload concernement doleances
.then(() => { this.reloadConcernementCerclePol(this.concernement.id)
this.reloading_concernements = false; .then(() => {
}); this.reloading_concernements = false;
}) resolve();
}) });
})
})
});
}, },
createParag(type, prt_field_name){ createParag(type, prt_field_name){
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
@ -363,8 +377,8 @@ export default {
SvgIcon, SvgIcon,
ContentEditable, ContentEditable,
DateEditable, DateEditable,
SelectEditable
// CheckboxEditable, // CheckboxEditable,
// SelectEditable
} }
} }
@ -901,27 +915,88 @@ export default {
<section <section
v-if="opened_dol.field === 'receptions_et_applications'" v-if="opened_dol.field === 'receptions_et_applications'"
class="receptions_et_applications"> class="receptions_et_applications">
<span class="date"> <h5>{{ ct_cercle_politique.field_receptions_et_applications.label }}</h5>
<!-- <span class="date">
{{ doleance.receptions_et_applications[opened_dol.field_index].date.start }} {{ doleance.receptions_et_applications[opened_dol.field_index].date.start }}
&#x2192; &#x2192;
{{ doleance.receptions_et_applications[opened_dol.field_index].date.end }} {{ doleance.receptions_et_applications[opened_dol.field_index].date.end }}
</span> </span> -->
<h5>{{ ct_cercle_politique.field_receptions_et_applications.label }}</h5> <DateEditable
:value="receptionsetapplications.date.start"
:end_value="receptionsetapplications.date.end"
class="receptionsetapplications-date"
:contenteditable="opened_concernement.can_update"
mode="range"
:data="{
entitytype: 'paragraph',
bundle: 'reception_application_decision',
id: receptionsetapplications.id,
revision_id: receptionsetapplications.revision_id,
field: {field_name: 'field_date_date_traitement_decis'}
}"
v-on:updated="reloadConcernementCerclePol(cid)"/>
<label for="applique_decision">{{ p_reception_application_decision.field_applique_decision.label }}</label> <label for="applique_decision">{{ p_reception_application_decision.field_applique_decision.label }}</label>
<p <!-- <p
name="applique_decision" name="applique_decision"
v-html="doleance.receptions_et_applications[opened_dol.field_index].applique_decision" /> v-html="doleance.receptions_et_applications[opened_dol.field_index].applique_decision" /> -->
<ContentEditable
tag="p"
name="applique_decision"
:value="receptionsetapplications.applique_decision"
:html="true"
:class="{ ellipsed: headerreduced }"
:contenteditable="opened_concernement.can_update"
:data="{
entitytype: 'paragraph',
bundle: 'reception_application_decision',
id: receptionsetapplications.id,
revision_id: receptionsetapplications.revision_id,
field: {field_name: 'field_applique_decision', value:'value'}
}"
v-on:updated="reloadConcernementCerclePol(cid)"/>
<label for="formule_decision_applic">{{ p_reception_application_decision.field_formule_decision_applic.label }}</label> <label for="formule_decision_applic">{{ p_reception_application_decision.field_formule_decision_applic.label }}</label>
<p <!-- <p
name="formule_decision_applic" name="formule_decision_applic"
v-html="doleance.receptions_et_applications[opened_dol.field_index].formule_decision_applic" /> v-html="doleance.receptions_et_applications[opened_dol.field_index].formule_decision_applic" /> -->
<ContentEditable
tag="p"
name="formule_decision_applic"
:value="receptionsetapplications.formule_decision_applic"
:html="true"
:class="{ ellipsed: headerreduced }"
:contenteditable="opened_concernement.can_update"
:data="{
entitytype: 'paragraph',
bundle: 'reception_application_decision',
id: receptionsetapplications.id,
revision_id: receptionsetapplications.revision_id,
field: {field_name: 'field_formule_decision_applic', value:'value'}
}"
v-on:updated="reloadConcernementCerclePol(cid)"/>
<label for="entite_recoit_decision">{{ p_reception_application_decision.field_entite_recoit_decision.label }}</label> <label for="entite_recoit_decision">{{ p_reception_application_decision.field_entite_recoit_decision.label }}</label>
<p <!-- <p
name="entite_recoit_decision" name="entite_recoit_decision"
v-html="doleance.receptions_et_applications[opened_dol.field_index].entite_recoit_decision" /> v-html="doleance.receptions_et_applications[opened_dol.field_index].entite_recoit_decision" /> -->
<ContentEditable
tag="p"
name="entite_recoit_decision"
:value="receptionsetapplications.entite_recoit_decision"
:html="true"
:class="{ ellipsed: headerreduced }"
:contenteditable="opened_concernement.can_update"
:data="{
entitytype: 'paragraph',
bundle: 'reception_application_decision',
id: receptionsetapplications.id,
revision_id: receptionsetapplications.revision_id,
field: {field_name: 'field_entite_recoit_decision', value:'value'}
}"
v-on:updated="reloadConcernementCerclePol(cid)"/>
</section> </section>
<section <section
@ -931,19 +1006,59 @@ export default {
<h5>Réussite / échec / reprise du cercle politique</h5> <h5>Réussite / échec / reprise du cercle politique</h5>
<label for="probleme_initial_resolu">{{ ct_cercle_politique.field_probleme_initial_resolu.label }}</label> <label for="probleme_initial_resolu">{{ ct_cercle_politique.field_probleme_initial_resolu.label }}</label>
<p <!-- <p
name="probleme_initial_resolu" name="probleme_initial_resolu"
v-html="doleance.probleme_initial_resolu" /> v-html="doleance.probleme_initial_resolu" /> -->
<SelectEditable
label="résolu"
:value="doleance.probleme_initial_resolu"
:options="{
'0': 'non',
'1': 'oui'}"
:data="{
entitytype: 'node',
bundle: 'cercle_politique',
nid: doleance.id,
field: 'field_probleme_initial_resolu'}"
v-on:updated="reloadConcernementCerclePol(cid)"/>
<label for="oui_nouvelle_situation">{{ ct_cercle_politique.field_oui_nouvelle_situation.label }}</label> <label for="oui_nouvelle_situation">{{ ct_cercle_politique.field_oui_nouvelle_situation.label }}</label>
<p <!-- <p
name="oui_nouvelle_situation" name="oui_nouvelle_situation"
v-html="doleance.oui_nouvelle_situation" /> v-html="doleance.oui_nouvelle_situation" /> -->
<ContentEditable
tag="p"
name="oui_nouvelle_situation"
:value="doleance.oui_nouvelle_situation"
:html="true"
:class="{ ellipsed: headerreduced }"
:contenteditable="opened_concernement.can_update"
:data="{
entitytype: 'node',
bundle: 'cercle_politique',
id: doleance.id,
field: {field_name: 'field_oui_nouvelle_situation', value:'value'}
}"
v-on:updated="reloadConcernementCerclePol(cid)"/>
<label for="non_adresse_doleance">{{ ct_cercle_politique.field_non_adresse_doleance.label }}</label> <label for="non_adresse_doleance">{{ ct_cercle_politique.field_non_adresse_doleance.label }}</label>
<p <!-- <p
name="non_adresse_doleance" name="non_adresse_doleance"
v-html="doleance.non_adresse_doleance" /> v-html="doleance.non_adresse_doleance" /> -->
<ContentEditable
tag="p"
name="non_adresse_doleance"
:value="doleance.non_adresse_doleance"
:html="true"
:class="{ ellipsed: headerreduced }"
:contenteditable="opened_concernement.can_update"
:data="{
entitytype: 'node',
bundle: 'cercle_politique',
id: doleance.id,
field: {field_name: 'field_non_adresse_doleance', value:'value'}
}"
v-on:updated="reloadConcernementCerclePol(cid)"/>
</section> </section>
</template> </template>
</section> </section>
@ -991,6 +1106,32 @@ export default {
<div class="loading">Chargement</div> <div class="loading">Chargement</div>
</div> </div>
</template> </template>
<template v-if="opened_concernement.opened_doleance.field === 'adresse_de_la_decision' || opened_concernement.opened_doleance.field === 'receptions_et_applications'">
<div
v-if="!reloading_concernements"
@click="addReceptionApplicationDecision"
class="add-receptionapplicationdecision-btn btn">
<span>Ajouter réception et application</span>
<svg-icon type="mdi" :path="mdiStickerPlusOutline_path"/>
</div>
<div v-else class="add-receptionapplicationdecision-btn btn">
<div class="loading">Chargement</div>
</div>
</template>
<template v-if="opened_concernement.opened_doleance.field === 'receptions_et_applications'">
<div
v-if="!reloading_concernements"
@click="addReussiteEchec"
class="add-receptionapplicationdecision-btn btn">
<span>Reussite / échec</span>
<svg-icon type="mdi" :path="mdiStickerPlusOutline_path"/>
</div>
<div v-else class="add-receptionapplicationdecision-btn btn">
<div class="loading">Chargement</div>
</div>
</template>
<template v-if="opened_concernement.opened_doleance.field === 'mise_en_oeuvre_decision'"> <template v-if="opened_concernement.opened_doleance.field === 'mise_en_oeuvre_decision'">
<div <div