modify maintenance
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user