modify maintenance

This commit is contained in:
Alessandro Francia
2018-06-14 11:18:22 +02:00
parent c3fa10c899
commit 562bd54751
7 changed files with 91 additions and 21 deletions
+14 -7
View File
@@ -15,6 +15,9 @@ export default class Maintenance extends Vue {
public selectedMaintenance: any = null;
// public static selectedMaintenance: any = null;
// public static currentSelected: any = null;
async mounted(){
@@ -82,17 +85,21 @@ export default class Maintenance extends Vue {
}
public createMaintenance(){
this.selectedMaintenance = {};
ModalHelper.maintenanceModal.currentMaintenance = {};
ModalHelper.ShowModal(CreateMaintenance);
}
public selectMaintenance(m){
if(this.selectedMaintenance){
this.selectedMaintenance = null;
this.enableMaintenance = true;
}
else{
this.selectedMaintenance = m;
this.enableMaintenance = false;
debugger
this.enableMaintenance = false;
this.selectedMaintenance = m;
}
public modifyMaintenance(maintenance){
debugger
if(maintenance){
ModalHelper.maintenanceModal.currentMaintenance =Object.assign({} , maintenance);
ModalHelper.ShowModal(CreateMaintenance);
}
}
}
+4 -1
View File
@@ -52,7 +52,10 @@
</div>
</div>
<div class="maintenance-box-right" :class="{'enableMaintenance': enableMaintenance}">
<maintenance-card></maintenance-card>
<maintenance-card :can-edit="selectedMaintenance != null ? selectedMaintenance.canEdit : false"
:expiration="selectedMaintenance != null ? expirationDate(selectedMaintenance.type, selectedMaintenance.missingDays) : ''"
:selectedMaintenance="selectedMaintenance ? selectedMaintenance : {}"
@click="modifyMaintenance(selectedMaintenance)"></maintenance-card>
</div>
</div>
</div>
@@ -14,6 +14,9 @@ export class ModalHelper {
enableModalShank: false,
enableModalTool: false
};
public static maintenanceModal = {
currentMaintenance: null,
};
private static _modalData = {
title: "",
content: "",
@@ -4,13 +4,13 @@
<div class="header">
<div class="title">{{'maintenance_card_label_title' | localize("Effettuare pulizia macchina")}}</div>
<div class="right">
<button class="btn"><i class="fa fa-pencil-square-o"></i></button>
<button class="btn"><i class="fa fa-trash"></i></button>
<button class="btn" :disabled="!canEdit" @click="onClick"><i class="fa fa-pencil-square-o"></i></button>
<button class="btn" :disabled="!canEdit"><i class="fa fa-trash"></i></button>
</div>
</div>
<div class="body">
<div class="box scrollable">
<div class="title-box">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna.</div>
<div class="title-box">{{selectedMaintenance.description}}</div>
<div class="subtitle">Ultimo intervento effettuato 23 gg fa</div>
<div class="info">
<!-- <div class="estimated-time">
@@ -19,7 +19,7 @@
</div> -->
<div class="expiring">
<div class="title">In scadenza</div>
<div class="time">21/07/2017</div>
<div class="time">{{expiration}}</div>
</div>
</div>
<!-- <div class="row-wizard">
@@ -79,7 +79,20 @@
<script>
import cardmaintenancewizard from "src/modules/base-components/cards/card-maintenance-wizard.vue";
import accordionMaintenance from "src/modules/base-components/accordion-maintenance.vue";
import {CreateMaintenance, ModalHelper} from "src/modules/base-components";
export default {
components:{cardmaintenancewizard, accordionMaintenance}
props:{
expiration: {default: ""},
selectedMaintenance: {default: {}},
canEdit:{ default: false }
},
components: {
cardmaintenancewizard, accordionMaintenance
},
methods:{
onClick(){
this.$emit("click");
}
}
}
</script>
@@ -41,7 +41,7 @@
<footer>
<div class="pull-right">
<button class="btn" @click="close()">{{'create_maintenance_btn_cancel' | localize("Annulla")}}</button>
<button class="btn btn-success" @click="save(newMaintenance)">{{'create_maintenance_btn_confirm' | localize("Conferma")}}</button>
<button class="btn btn-success" @click="newMaintenance.id > 0 ? modify(newMaintenance) : save(newMaintenance)">{{'create_maintenance_btn_confirm' | localize("Conferma")}}</button>
</div>
</footer>
</modal>
@@ -51,7 +51,10 @@ import Modal from "src/modules/base-components/modal.vue";
import { ModalHelper } from "../modules/base-components/ModalHelper.ts";
import { Factory, MessageService } from '../_base';
import { MaintenanceService } from "../services/maintenanceService";
import { store } from "src/store";
import { maintenanceActions } from "../store/maintenance.store";
import moment from "moment";
export default {
components: { modal: Modal },
// props: {
@@ -59,7 +62,19 @@ export default {
// },
data: function(){
return {
newMaintenance: {type: "EXP_DATE"}
newMaintenance: {type: "EXP_DATE"},
}
},
async beforeCreate(){
debugger
await new MaintenanceService().GetMaintenances();
if(ModalHelper.maintenanceModal.currentMaintenance != null){
this.newMaintenance = ModalHelper.maintenanceModal.currentMaintenance;
this.newMaintenance.title = this.getTitleMaintenance(this.newMaintenance.createdByCms,this.newMaintenance.id,this.newMaintenance.title);
if(this.newMaintenance.type == "EXP_DATE"){
this.newMaintenance.date = moment(this.newMaintenance.deadline).format('YYYY-MM-DD').toString();
this.newMaintenance.time = moment(this.newMaintenance.deadline).format('HH:mm').toString();
}
}
},
methods:{
@@ -68,15 +83,30 @@ export default {
ModalHelper.HideModal();
},
async save(maintenance){
debugger
if(maintenance.type == "EXP_DATE"){
let dateTime = moment(maintenance.date + ' ' + maintenance.time);
maintenance.deadline = dateTime.toISOString();
}
await new MaintenanceService().SetMaintenance(maintenance);
this.close();
},
getTitleMaintenance(createdByCms,id,title){
if(createdByCms){
return this.$options.filters.localize("maint_" + id);
}
else{
return title;
}
},
async modify(maintenance){
if(maintenance.type == "EXP_DATE"){
let dateTime = moment(maintenance.date + ' ' + maintenance.time);
maintenance.deadline = dateTime.toISOString();
}[]
await new MaintenanceService().ModifyMaintenance(maintenance);
this.close();
}
}
};
</script>
<!--<script src="./create-maintenance.ts" lang="ts"></script>-->
<!--<script src="./create-maintenance.ts" lang="ts"></script>-->[]
@@ -6,12 +6,15 @@ export class MaintenanceService extends baseRestService {
BASE_URL = "api/maintenance_manager/";
async GetMaintenances(){
let result = await this.Get<server.Maintenance[]>(this.BASE_URL + "maintenances");
let result = await this.Get<server.Maintenance[]>(this.BASE_URL + "maintenances", true);
maintenanceActions.updateMaintenances(store, result);
}
async SetMaintenance(model){
debugger
let result = await this.Post<server.Maintenance>(this.BASE_URL + "maintenance", model, true);
maintenanceActions.updateMaintenance(store, result);
}
async ModifyMaintenance(model){
let result = await this.Put<server.Maintenance>(this.BASE_URL + "maintenance/" + model.id, model, true);
maintenanceActions.modifyMaintenance(store, result);
}
}
+13 -2
View File
@@ -5,6 +5,7 @@ export interface MaintenanceStoreModel {
export interface MaintenanceActions {
updateMaintenances(context, model: server.Maintenance[]);
updateMaintenance(context, model: server.Maintenance);
modifyMaintenance(context, model: server.Maintenance);
}
export const maintenanceStore = {
@@ -14,10 +15,17 @@ export const maintenanceStore = {
} as MaintenanceStoreModel,
mutations: {
UpdateMaintenance(store, model: server.Maintenance) {
debugger
store._maintenances.set(model.id, model);
store.maintenances = Array.from(store._maintenances.values());
},
},
ModifyMaintenance(store, model: server.Maintenance){
for(let key in store.maintenances){
if(store.maintenances[key].id == model.id){
Object.assign(store.maintenances[key],model);
}
}
}
},
actions: {
updateMaintenance(context, model: server.Maintenance){
@@ -29,6 +37,9 @@ export const maintenanceStore = {
const element = model[key];
context.commit("UpdateMaintenance", element);
}
},
modifyMaintenance(context, model: server.Maintenance){
context.commit("ModifyMaintenance", model);
}
} as MaintenanceActions
}