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-decision-btn,
div.add-miseenoeuvre-btn,
div.add-adressedecision-btn{
div.add-adressedecision-btn,
div.add-receptionapplicationdecision-btn{
@include add-btn();
margin: 0 0 1em;
height: 60px;

View File

@ -24,8 +24,8 @@ import { mdiStickerPlusOutline } from '@mdi/js';
import ContentEditable from '@components/editable/ContentEditable.vue';
import DateEditable from '@components/editable/DateEditable.vue';
import SelectEditable from '@components/editable/SelectEditable.vue';
// import CheckboxEditable from '@components/editable/CheckboxEditable.vue';
// import SelectEditable from '@components/editable/SelectEditable.vue';
export default {
@ -70,6 +70,9 @@ export default {
},
miseenoeuvredecision() {
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 () {
@ -207,6 +210,14 @@ export default {
addAdresseDecision(e){
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
addgroupInteret(e){
this.createCerclepoParagGeneric('groupes_interets', 'field_groupes', 'groupesinterets');
@ -219,22 +230,25 @@ export default {
},
createCerclepoParagGeneric(type, prt_field_name, obj_name){
console.log('createCerclepoParagGeneric',type, prt_field_name, obj_name);
this.reloading_concernements = true;
// 1 create paragraphe
this.createParag(type, prt_field_name)
.then((parag) => {
console.log('createParag then parag', parag);
// 3 record on concernement field_entites
this.recordCerclepoParagField(parag, obj_name, prt_field_name)
.then((cercle_politique) => {
console.log('cercle_politique', cercle_politique);
// reload concernement doleances
this.reloadConcernementCerclePol(this.concernement.id)
.then(() => {
this.reloading_concernements = false;
});
})
})
return new Promise((resolve, reject) => {
this.reloading_concernements = true;
// 1 create paragraphe
this.createParag(type, prt_field_name)
.then((parag) => {
console.log('createParag then parag', parag);
// 3 record on concernement field_entites
this.recordCerclepoParagField(parag, obj_name, prt_field_name)
.then((cercle_politique) => {
console.log('cercle_politique', cercle_politique);
// reload concernement doleances
this.reloadConcernementCerclePol(this.concernement.id)
.then(() => {
this.reloading_concernements = false;
resolve();
});
})
})
});
},
createParag(type, prt_field_name){
return new Promise((resolve, reject) => {
@ -363,8 +377,8 @@ export default {
SvgIcon,
ContentEditable,
DateEditable,
SelectEditable
// CheckboxEditable,
// SelectEditable
}
}
@ -901,27 +915,88 @@ export default {
<section
v-if="opened_dol.field === '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 }}
&#x2192;
{{ doleance.receptions_et_applications[opened_dol.field_index].date.end }}
</span>
<h5>{{ ct_cercle_politique.field_receptions_et_applications.label }}</h5>
</span> -->
<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>
<p
<!-- <p
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>
<p
<!-- <p
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>
<p
<!-- <p
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
@ -931,19 +1006,59 @@ export default {
<h5>Réussite / échec / reprise du cercle politique</h5>
<label for="probleme_initial_resolu">{{ ct_cercle_politique.field_probleme_initial_resolu.label }}</label>
<p
<!-- <p
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>
<p
<!-- <p
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>
<p
<!-- <p
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>
</template>
</section>
@ -991,6 +1106,32 @@ export default {
<div class="loading">Chargement</div>
</div>
</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'">
<div