families, shanks

This commit is contained in:
Alessandro Francia
2018-05-02 08:37:01 +02:00
parent f1200106bd
commit 02f7f8ef6b
22 changed files with 3062 additions and 92 deletions
Binary file not shown.
@@ -0,0 +1,42 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using static CMS_CORE_Library.DataStructures;
namespace Step.Model.DTOModels.ToolModels
{
public class DTOSiemensToolModel
{
[Required]
public string FamilyName { get; set; }
[Required]
public int MagazinePositionType;
[Required]
public int ToolType;
[Required]
public int LeftSize;
[Required]
public int RightSize;
[Required]
public ROTATION Rotation;
[Required]
public bool Cooling1;
[Required]
public bool Cooling2;
[Required]
public bool IsActive;
[Required]
public bool FixedPlace;
[Required]
public bool IsInhibited;
[Required]
public bool IsMeasured;
[Required]
public bool ChangeTool;
[Required]
public bool IsInUse;
[Required]
public bool PreAlarm;
// public List<Dictionary<string, double>> EdgesData;
}
}
+23
View File
@@ -730,6 +730,17 @@ namespace Step.NC
return numericalControl.PLC_WPowerOnData(id, true);
}
#region Tools
public CmsError AddTool(ref SiemensToolModel tool)
{
return numericalControl.TOOLS_WAddTool(ref tool);
}
public CmsError UpdateTool(SiemensToolModel tool)
{
return numericalControl.TOOLS_WUpdateTool(tool);
}
public CmsError AddFamily(string name, out FamilyModel family)
{
@@ -748,6 +759,18 @@ namespace Step.NC
return numericalControl.TOOLS_WAddShank(ref shank);
}
public CmsError UpdateFamilyName(string oldName, string newName)
{
return numericalControl.TOOLS_WUpdateFamilyData(oldName, newName);
}
public CmsError UpdateMagazinePosition(MagazinePositionsModel magazinePosition)
{
return numericalControl.TOOLS_WUpdateMagazinesPositions(magazinePosition);
}
#endregion
#endregion Write data
}
}
+124 -5
View File
@@ -1,7 +1,11 @@
using Step.NC;
//using Step.Model.DTOModels.ToolModels;
using Step.NC;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Web.Http;
using static CMS_CORE_Library.DataStructures;
using CMS_CORE_Library;
namespace Step.Controllers.WebApi
{
@@ -38,21 +42,78 @@ namespace Step.Controllers.WebApi
}
}
[Route("shanks"), HttpGet]
public IHttpActionResult GetShanks()
[Route("siemens/tool"), HttpPost]
public IHttpActionResult AddTool([FromBody][Required]DTOSiemensToolModel tool)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
using (NcHandler ncHandler = new NcHandler())
{
// Convert from DTOModel to library model
SiemensToolModel siemensModel = ConvertFromDTOtoSiemensModel(tool);
ncHandler.Connect();
CmsError libraryError = ncHandler.GetShanksData(out List<ShankModel> shanks);
CmsError libraryError = ncHandler.AddTool(ref siemensModel);
if (libraryError.IsError())
if (libraryError.errorCode != CMS_ERROR_CODES.NOT_CONNECTED)
return BadRequest(libraryError.message);
return Ok(shanks);
return Ok(siemensModel);
}
}
[Route("siemens/tool/{id}"), HttpPut]
public IHttpActionResult UpdateTool(int id, [FromBody][Required]DTOSiemensToolModel tool)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
using (NcHandler ncHandler = new NcHandler())
{
// Convert from DTOModel to library model
SiemensToolModel siemensModel = ConvertFromDTOtoSiemensModel(tool);
ncHandler.Connect();
CmsError libraryError = ncHandler.UpdateTool(siemensModel);
if (libraryError.IsError())
if (libraryError.errorCode != CMS_ERROR_CODES.NOT_CONNECTED)
return BadRequest(libraryError.message);
return Ok();
}
}
private SiemensToolModel ConvertFromDTOtoSiemensModel(DTOSiemensToolModel dtoModel)
{
return new SiemensToolModel()
{
MagazinePositionType = dtoModel.MagazinePositionType,
ToolType = dtoModel.ToolType,
FamilyName = dtoModel.FamilyName,
IsActive = dtoModel.IsActive,
IsInhibited = dtoModel.IsInhibited,
IsInUse = dtoModel.IsInUse,
IsMeasured = dtoModel.IsMeasured,
ChangeTool = dtoModel.ChangeTool,
FixedPlace = dtoModel.FixedPlace,
PreAlarm = dtoModel.PreAlarm,
Cooling1 = dtoModel.Cooling1,
Cooling2 = dtoModel.Cooling2,
LeftSize = dtoModel.LeftSize,
RightSize = dtoModel.RightSize,
Rotation = dtoModel.Rotation
};
}
[Route("families"), HttpGet]
public IHttpActionResult GetFamilies()
{
@@ -112,5 +173,63 @@ namespace Step.Controllers.WebApi
return Ok(shank);
}
}
[Route("shanks"), HttpGet]
public IHttpActionResult GetShanks()
{
using (NcHandler ncHandler = new NcHandler())
{
ncHandler.Connect();
CmsError libraryError = ncHandler.GetShanksData(out List<ShankModel> shanks);
if (libraryError.IsError())
if (libraryError.errorCode != CMS_ERROR_CODES.NOT_CONNECTED)
return BadRequest(libraryError.message);
return Ok(shanks);
}
}
[Route("family/{oldName}"), HttpPut]
public IHttpActionResult PutFamily(string oldName, [FromBody]dynamic body)
{
using (NcHandler ncHandler = new NcHandler())
{
ncHandler.Connect();
CmsError libraryError = ncHandler.UpdateFamilyName(oldName, body.name.ToString());
if (libraryError.IsError())
if (libraryError.errorCode != CMS_ERROR_CODES.NOT_CONNECTED)
return BadRequest(libraryError.message);
return Ok();
}
}
[Route("magazine_position/{magazineId}/{position}"), HttpPut]
public IHttpActionResult PutMagazinePosition(int magazineId, int position, [FromBody]dynamic body)
{
using (NcHandler ncHandler = new NcHandler())
{
ncHandler.Connect();
if (magazineId == 0 || position == 0 || body == null || body.type == null)
return BadRequest();
// Create Library model
MagazinePositionsModel pos = new MagazinePositionsModel()
{
Id = position,
MagazineId = magazineId,
Type = Convert.ToInt32(body.type)
};
// Update
CmsError libraryError = ncHandler.UpdateMagazinePosition(pos);
if (libraryError.IsError())
if (libraryError.errorCode != CMS_ERROR_CODES.NOT_CONNECTED)
return BadRequest(libraryError.message);
return Ok();
}
}
}
}
@@ -1,13 +1,13 @@
// out: false, sourceMap: false, main: ../style.less
@import "colors.less";
.tooling-equipment-container{
.tooling-equipment-container, .tooling-families-container, .tooling-shanks-container, .tooling-magpos-container{
height: 100%;
width: 100%;
display: flex;
justify-content: center;
padding-top: 104px;
.tooling-equipment-box{
.tooling-equipment-box, .tooling-families-box, .tooling-shanks-box, .tooling-magpos-box{
width: 1808px;
height: 872px;
border-radius: 2px;
@@ -130,7 +130,7 @@
margin-top: 47px;
margin-bottom: 36px;
}
.list-skill-equipment{
.list-skill-equipment, .list-skill-families, .list-skill-shanks, .list-skill-magpos {
width: 99%;
height: calc(~'100% - 102px');
// display: flex;
@@ -139,12 +139,12 @@
// justify-content: center;
overflow-y: auto;
// flex-flow: column;
.list-skill-equipment-category{
.list-skill-equipment-category, .list-skill-families-category, .list-skill-shanks-category, .list-skill-magpos-category{
// display: flex;
width:656px;
margin: auto;
// flex-flow: column;
.skill-equipment-category{
.skill-equipment-category, .skill-families-category, .skill-shanks-category, .skill-magpos-category{
text-align: center;
margin-top: 32px;
font-size: 18px;
@@ -158,7 +158,7 @@
}
}
}
.tooling-equipment-footer{
.tooling-equipment-footer, .tooling-families-footer, .tooling-shanks-footer, .tooling-magpos-footer{
height:80px;
float: right;
display: flex;
@@ -172,3 +172,14 @@
}
}
}
.tooling-families-container, .tooling-shanks-container, .tooling-magpos-container{
& img:empty{
display: none;
}
.text-body div + div{
margin-top: 11px;
}
}
File diff suppressed because it is too large Load Diff
+33 -3
View File
@@ -2,7 +2,35 @@ declare module server{
export interface ToolTableInfoModel {
magazines: Array<MagazineModel>
fieldsConfiguration: Array<FieldsConfiguration>
toolsConfiguration: Array<ToolsConfiguration>
familiesConfiguration: FamiliesConfiguration
shanksConfiguration: ShanksConfiguration
}
export interface ShanksConfiguration{
shankConfiguration: Array<ShankConfiguration>
toolsConfiguration: Array<ToolsConfiguration>
}
export interface ShankConfiguration{
name: string,
type: string,
category: string,
readOnly: boolean,
selectValues: Object
}
export interface FamiliesConfiguration{
familyConfiguration: Array<FamilyConfiguration>
toolsConfiguration: Array<ToolsConfiguration>
}
export interface FamilyConfiguration{
name: string,
type: string,
category: string,
readOnly: boolean,
selectValues: Object
}
export interface MagazineModel {
@@ -37,7 +65,7 @@ declare module server{
}
export interface ChildsTools{
id: number,
type: number,
toolType: number,
childId: number
}
@@ -59,9 +87,11 @@ declare module server{
type: number
}
export interface FieldsConfiguration{
export interface ToolsConfiguration{
name: string,
type: string,
category: string,
readOnly: boolean,
selectValues: Object
}
-4
View File
@@ -64,10 +64,6 @@ async function loadMachineConfig() {
ds.GetNcSoftKeysConfiguration();
ds.GetHeadsConfiguration();
ts.GetToolTableConfiguration();
/** Attendere conferma Paolo, nel caso cancellare */
ts.GetFamilies();
ts.GetShanks();
ts.GetMagazinesPositions();
// load default language
if ((store.state as AppModel).localization.currentLanguage == "")
+9
View File
@@ -48,6 +48,15 @@ export const ToolingEquipment = () =>
export const InfoEquipment = () =>
import ("./components/info-equipment.vue");
export const ToolingFamilies = () =>
import ("./components/tooling-families.vue");
export const ToolingShanks = () =>
import ("./components/tooling-shanks.vue");
export const ToolingMagPos = () =>
import ("./components/tooling-magpos.vue");
export const Maintenance = () =>
import ("./components/maintenance.vue");
+7 -1
View File
@@ -13,7 +13,10 @@ import {
CardUtilities,
Maintenance,
MaintenanceProgress,
MaintenanceCard
MaintenanceCard,
ToolingFamilies,
ToolingShanks,
ToolingMagPos
} from "./app.modules";
@@ -27,6 +30,9 @@ export let routes = [
{ path: "/summary-depot", component: SummaryDepot, meta: { title: "Step - Summary-Depot", area: "summary-depot" } },
{ path: "/assisted-tooling", component: AssistedTooling, meta: { title: "Step - Assisted-Tooling", area: "assisted-tooling" } },
{ path: "/tooling-equipment", component: ToolingEquipment, meta: { title: "Step - Tooling-Equipment", area: "tooling-equipment" } },
{ path: "/tooling-families", component: ToolingFamilies, meta: { title: "Step - Tooling-Families", area: "tooling-families" } },
{ path: "/tooling-shanks", component: ToolingShanks, meta: { title: "Step - Tooling-Shanks", area: "tooling-shanks" } },
{ path: "/tooling-magpos", component: ToolingMagPos, meta: { title: "Step - Tooling-MagPos", area: "tooling-magpos" } },
{ path: "/info-equipment", component: InfoEquipment, meta: { title: "Step - Info-Equipment", area: "info-equipment" } },
{ path: "/utilities", component: Utilities, meta: { title: "Step - Utilities", area: "utilities" } },
{ path: "/card-utilities", component: CardUtilities, meta: { title: "Step - Card-Utilities", area: "card-utilities" } },
@@ -10,16 +10,28 @@ export default class toolingEquipment extends Vue {
public get tools(): server.Tool[] { return (this.$store.state as AppModel).tooling.tools; }
public get fieldsConfiguration(): server.FieldsConfiguration[] { return (this.$store.state as AppModel).tooling.fieldsConfiguration; }
public get toolsConfiguration(): server.ToolsConfiguration[] { return (this.$store.state as AppModel).tooling.toolsConfiguration; }
public selectedTool: any = null;
mounted() {
new ToolingService().GetTools();
new ToolingService().GetFieldsConfiguration();
new ToolingService().GetToolsConfiguration();
}
public selectTool(item){
this.selectedTool = item;
}
public cancel = function (path:string) {
this.$router.push({ path: path});
}
async save(item){
debugger
item.name = "";
toolingActions.updateToolsConfiguration(store,item);
console.log(item);
}
}
@@ -20,7 +20,8 @@
</div>
</div>
<div class="list-vertical scrollable">
<equipment v-for="t in tools" :key="t.id" :code="t.id" :title="t.familyName"
<equipment v-for="t in tools" :key="t.id" :code="t.id" :title="t.familyName"
img-source="../assets/images/tool.PNG"
:class="{selected: selectedTool == t}"
@click="selectTool(t)"></equipment>
</div>
@@ -35,9 +36,12 @@
<div class="list-skill-equipment scrollable">
<div class="list-skill-equipment-category">
<div class="skill-equipment-category">{{'tooling_equipment_list_category_general' | localize("Generali")}}</div>
<input-box v-for="f in fieldsConfiguration" :key="f.name"
v-model="selectedTool[f.name]"
:title="f.name" :type="f.type">
<input-box v-for="t in toolsConfiguration" :key="t.name"
v-if="t.name != ''"
v-model="selectedTool[t.name]"
:read-only="t.readOnly"
:title="t.name | localize(t.name)" :type="t.type">
<option v-for="s in t.selectValues" :key="s" :value="s">{{s}}</option>
</input-box>
<!-- <input-box title="Id" type="numeric" :read-only="true"></input-box>
@@ -153,8 +157,8 @@
</div>
</div>
<div class="tooling-equipment-footer">
<button class="btn">{{'tooling_equipment_button_cancel' | localize("Annulla")}}</button>
<button class="btn blue-reverse">{{'tooling_equipment_button_save' | localize("Salva")}}</button>
<button class="btn" @click="cancel('/tooling')">{{'tooling_equipment_button_cancel' | localize("Annulla")}}</button>
<button class="btn blue-reverse" @click="save(selectedTool)">{{'tooling_equipment_button_save' | localize("Salva")}}</button>
</div>
</div>
</div>
@@ -0,0 +1,36 @@
import Vue from "vue";
import Component from "vue-class-component";
import { equipment, inputBox } from "src/modules/base-components/cards";
import { ToolingService } from "../services/toolingService";
import { store, AppModel } from "src/store";
import { toolingActions } from "../store/tooling.store";
@Component({ components: { equipment, inputBox } })
export default class toolingFamilies extends Vue {
public get families(): server.Families[] { return (this.$store.state as AppModel).tooling.families; }
public get familyConfiguration(): server.FamilyConfiguration[] { return (this.$store.state as AppModel).tooling.familyConfiguration; }
public get childToolsFamily(): server.ToolsConfiguration[] { return (this.$store.state as AppModel).tooling.childToolsFamily; }
public selectedTool: any = null;
mounted() {
new ToolingService().GetFamilies();
new ToolingService().GetFamilyConfiguration();
new ToolingService().GetChildToolsFamily();
}
public selectTool(item){
this.selectedTool = item;
}
public test(s){
console.log(s);
}
public cancel = function (path:string) {
this.$router.push({ path: path});
}
async save(item){
}
}
@@ -0,0 +1,182 @@
<template>
<div class="tooling-families-container">
<div class="tooling-families-box">
<div class="header">
<router-link :to="'/tooling'">
<i class="fa fa-chevron-left"></i>
</router-link>
{{'tooling_families_label_box' | localize("Famiglie")}}
</div>
<div class="body">
<div class="list-left">
<div class="search">
<div class="search-label">
{{'tooling_families_label_search' | localize("Seleziona una famiglia")}}
</div>
<div class="group-btn">
<input type="text">
<button class="btn square"><i class="fa fa-search"></i></button>
<button class="btn square"><i class="fa fa-filter"></i></button>
</div>
</div>
<div class="list-vertical scrollable">
<equipment v-for="f in families" :key="f.id" :title="f.name"
v-if="f.name != ''"
:class="{selected: selectedTool == f}"
@click="selectTool(f)"></equipment>
</div>
<div class="footer">
<div class="group-label-button">{{'tooling_families_label_add' | localize("Aggiungi famiglia")}}<button class="btn"><i class="fa fa-plus"></i></button></div>
</div>
</div>
<!-- Siemens -->
<div class="box-right" v-if="(isSiemens() || isDemo()) && selectedTool">
<button class="btn"><i class="fa fa-trash"></i></button>
<div class="box-right-label-header">{{'tooling_families_boxright_header_modify' | localize("Modifica di")}} {{selectedTool.name}}</div>
<div class="list-skill-families scrollable">
<div class="list-skill-families-category">
<div class="skill-families-category">{{'tooling_families_list_category_general' | localize("Generali")}}</div>
<input-box v-for="f in familyConfiguration" :key="f.name"
v-if="f.name != ''"
v-model="selectedTool[f.name]"
:read-only="f.readOnly"
:title="f.name | localize(f.name)" :type="f.type">
<option v-for="s in f.selectValues" :key="s" :value="s">{{s}}</option>
</input-box>
<div v-for="ct in selectedTool.childTools" :key="ct.id" class="skill-families-category">{{'tooling_childtoolsfamily_skill_tools' | localize(" Utensile")}} {{ct.id}}
<input-box v-for="c in childToolsFamily" :key="c.name"
v-if="c.name != ''"
v-model="ct[c.name]"
:read-only="c.readOnly"
:title="c.name | localize(c.name)" :type="c.type">
<option v-for="(s, k) in c.selectValues" :key="k" :selected="ct.toolType" :value="k">{{s}}</option>
</input-box>
</div>
<!-- <input-box v-for="f in fieldsConfiguration" :key="f.name"
v-if="f.name != ''"
v-model="selectedTool[f.name]"
:title="f.name | localize(f.name)" :type="f.type">
<option v-for="t in f.selectValues" :key="t" :value="t">{{t}}</option>
</input-box> -->
<!-- <input-box title="Id" type="numeric" :read-only="true"></input-box>
<input-box title="Tipo Utensile" type="select">
<option :value="3">tre</option>
</input-box> -->
</div>
<!-- <div class="list-skill-equipment-category">
<div class="skill-equipment-category">{{'tooling_equipment_list_category_family' | localize("Famiglia")}}</div>
<input-box title="Nome" type="text" :read-only="true"></input-box>
<input-box title="Id Figlio" type="numeric" :read-only="true"></input-box>
</div>
<div class="list-skill-equipment-category">
<div class="skill-equipment-category">{{'tooling_equipment_list_category_state' | localize("Stato")}}</div>
<input-box title="Ut. Attivato" type="toggle"></input-box>
<input-box title="Ut. Inibito" type="toggle"></input-box>
<input-box title="Ut. Misurato" type="toggle"></input-box>
<input-box title="Ut. in Preali" type="toggle"></input-box>
<input-box title="Ut. in CU" type="toggle"></input-box>
<input-box title="Ut. Posto fisso" type="toggle"></input-box>
<input-box title="Ut. in uso" type="toggle"></input-box>
</div>
<div class="list-skill-equipment-category">
<div class="skill-equipment-category">{{'tooling_equipment_list_category_head' | localize("Testa")}}</div>
<input-box title="Rotazione" type="select"></input-box>
</div>
<div class="list-skill-equipment-category">
<div class="skill-equipment-category"></div>
<input-box title="Raffredd 1" type="toggle"></input-box>
<input-box title="Raffredd 2" type="toggle"></input-box>
</div>
<div class="list-skill-equipment-category">
<div class="skill-equipment-category">{{'tooling_equipment_list_category_dimensiondepot' | localize("Dimensione in magazzino")}}</div>
<input-box title="N. Manine Dx" type="numeric"></input-box>
<pre>data: {{$data}}</pre>
<input-box title="N. Manine Sx" type="numeric"></input-box>
</div>
<div class="list-skill-equipment-category">
<div class="skill-equipment-category">{{'tooling_equipment_list_category_sharp_general' | localize("Generali")}}</div>
<input-box title="Id" type="numeric" :read-only="true"></input-box>
</div>
<div class="list-skill-equipment-category">
<div class="skill-equipment-category">{{'tooling_equipment_list_category_sharp_geometry' | localize("Geometria")}}</div>
<input-box title="Parameter 1..N" type="numeric"></input-box>
</div>
<div class="list-skill-equipment-category">
<div class="skill-equipment-category">{{'tooling_equipment_list_category_life_equipment' | localize("Vita Ut.")}}Vita Ut.</div>
<input-box title="Tipo Vita" type="select"></input-box>
<input-box title="Vita residua" type="numeric"></input-box>
<input-box title="Vita Nominale" type="numeric"></input-box>
<input-box title="Vita Preallarme" type="numeric"></input-box>
</div> -->
</div>
</div>
<!-- Osai - Fanuc -->
<!-- <div class="box-right" v-if="false">
<button class="btn"><i class="fa fa-trash"></i></button>
<div class="box-right-label-header">Modifica di E13 utensile XYZ</div>
<div class="list-skill-families scrollable">
<div class="list-skill-families-category">
<div class="skill-families-category">{{'fanuc_tooling_equipment_list_category_general' | localize("Generali")}}</div>
<input-box title="Id" type="numeric" :read-only="true"></input-box>
<input-box title="Tipo Utensile" type="select"></input-box>
<input-box title="Ut. Disabilitato" type="toggle"></input-box>
<input-box title="Ut. Rotto" type="toggle"></input-box>
<input-box title="Ut. Misurato" type="toggle"></input-box>
</div>
<div class="list-skill-equipment-category">
<div class="skill-equipment-category">{{'fanuc_tooling_equipment_list_category_family' | localize("Famiglia")}}</div>
<input-box title="Id" type="numeric" :read-only="true"></input-box>
<input-box title="Descrizione" type="text"></input-box>
<input-box title="Rotazione" type="select"></input-box>
<input-box title="Tcp Associata" type="select"></input-box>
<input-box title="Raffredd 1" type="toggle"></input-box>
<input-box title="Raffredd 2" type="toggle"></input-box>
<input-box title="Raffredd 3" type="toggle"></input-box>
<input-box title="Raffredd 4" type="toggle"></input-box>
<input-box title="Raffredd 5" type="toggle"></input-box>
<input-box title="Raffredd 6" type="toggle"></input-box>
<input-box title="Raffredd 7" type="toggle"></input-box>
<input-box title="Raffredd 8" type="toggle"></input-box>
<input-box title="Vita Nominale" type="numeric"></input-box>
<input-box title="Delta Ravvivat" type="numeric"></input-box>
<input-box title="Inverter Dataset" type="select"></input-box>
<input-box title="Carico Min P.A." type="numeric"></input-box>
<input-box title="Carico Max P.A." type="numeric"></input-box>
<input-box title="Caric Min C Din" type="numeric"></input-box>
<input-box title="Caric Max C Din" type="numeric"></input-box>
<input-box title="N. Manine Dx" type="numeric"></input-box>
<input-box title="N. Manine Sx" type="numeric"></input-box>
</div>
<div class="list-skill-equipment-category">
<div class="skill-equipment-category">{{'fanuc_tooling_equipment_list_category_geometry' | localize("Geometria")}}</div>
<input-box title="Id Correttore" type="select"></input-box>
<input-box title="Lunghezza" type="numeric"></input-box>
<input-box title="Raggio" type="numeric"></input-box>
<input-box title="Usura Lungh." type="numeric"></input-box>
<input-box title="Usura Raggio" type="numeric"></input-box>
<input-box title="Ravviv Residua" type="numeric"></input-box>
</div>
<div class="list-skill-equipment-category">
<div class="skill-equipment-category">{{'fanuc_tooling_equipment_list_category_life_equipment' | localize("Vita Ut.")}}</div>
<input-box title="Tipo Vita" type="select"></input-box>
<input-box title="Vita residua" type="numeric"></input-box>
<input-box title="Val Preallarme" type="numeric"></input-box>
</div>
<div class="list-skill-equipment-category">
<div class="skill-equipment-category">{{'fanuc_tooling_equipment_list_category_tang' | localize("Codolo")}}</div>
<input-box title="Tipo man rich" type="select"></input-box>
<input-box title="Pastiglia" type="numeric"></input-box>
</div>
</div>
</div> -->
</div>
<div class="tooling-families-footer">
<button class="btn" @click="cancel('/tooling')">{{'tooling_families_button_cancel' | localize("Annulla")}}</button>
<button class="btn blue-reverse">{{'tooling_families_button_save' | localize("Salva")}}</button>
</div>
</div>
</div>
</template>
<script src="./tooling-families.ts" lang="ts"></script>
@@ -0,0 +1,31 @@
import Vue from "vue";
import Component from "vue-class-component";
import { equipment, inputBox } from "src/modules/base-components/cards";
import { ToolingService } from "../services/toolingService";
import { store, AppModel } from "src/store";
import { toolingActions } from "../store/tooling.store";
@Component({ components: { equipment, inputBox } })
export default class toolingMagPos extends Vue {
public get magpos(): server.MagazinesPositions[] { return (this.$store.state as AppModel).tooling.magazinesPositions; }
// public get fieldsConfiguration(): server.FieldsConfiguration[] { return (this.$store.state as AppModel).tooling.fieldsConfiguration; }
public selectedTool: any = null;
mounted() {
// new ToolingService().GetFamilies();
new ToolingService().GetMagazinesPositions();
}
public selectTool(item){
this.selectedTool = item;
}
public cancel = function (path:string) {
this.$router.push({ path: path});
}
async save(item){
}
}
@@ -0,0 +1,164 @@
<template>
<div class="tooling-magpos-container">
<div class="tooling-magpos-box">
<div class="header">
<router-link :to="'/tooling'">
<i class="fa fa-chevron-left"></i>
</router-link>
{{'tooling_magpos_label_box' | localize("Manine")}}
</div>
<div class="body">
<div class="list-left">
<div class="search">
<div class="search-label">
{{'tooling_magpos_label_search' | localize("Seleziona una manina")}}
</div>
<div class="group-btn">
<input type="text">
<button class="btn square"><i class="fa fa-search"></i></button>
<button class="btn square"><i class="fa fa-filter"></i></button>
</div>
</div>
<div class="list-vertical scrollable">
<equipment v-for="m in magpos" :key="m.id" :code="'Magazzino' + ' ' + m.magazineId" :title="'Manina' + ' ' + m.id"
:class="{selected: selectedTool == m}"
@click="selectTool(m)"></equipment>
</div>
<div class="footer">
<div class="group-label-button">{{'tooling_magpos_label_add' | localize("Aggiungi manina")}}<button class="btn"><i class="fa fa-plus"></i></button></div>
</div>
</div>
<!-- Siemens -->
<div class="box-right" v-if="(isSiemens() || isDemo()) && selectedTool">
<button class="btn"><i class="fa fa-trash"></i></button>
<div class="box-right-label-header">Modifica di {{selectedTool.id}} {{selectedTool.familyName}}</div>
<div class="list-skill-magpos scrollable">
<div class="list-skill-magpos-category">
<div class="skill-magpos-category">{{'tooling_magpos_list_category_general' | localize("Generali")}}</div>
<!-- <input-box v-for="f in fieldsConfiguration" :key="f.name"
v-if="f.name != ''"
v-model="selectedTool[f.name]"
:title="f.name | localize(f.name)" :type="f.type">
<option v-for="t in f.selectValues" :key="t" :value="t">{{t}}</option>
</input-box> -->
<!-- <input-box title="Id" type="numeric" :read-only="true"></input-box>
<input-box title="Tipo Utensile" type="select">
<option :value="3">tre</option>
</input-box> -->
</div>
<!-- <div class="list-skill-equipment-category">
<div class="skill-equipment-category">{{'tooling_equipment_list_category_family' | localize("Famiglia")}}</div>
<input-box title="Nome" type="text" :read-only="true"></input-box>
<input-box title="Id Figlio" type="numeric" :read-only="true"></input-box>
</div>
<div class="list-skill-equipment-category">
<div class="skill-equipment-category">{{'tooling_equipment_list_category_state' | localize("Stato")}}</div>
<input-box title="Ut. Attivato" type="toggle"></input-box>
<input-box title="Ut. Inibito" type="toggle"></input-box>
<input-box title="Ut. Misurato" type="toggle"></input-box>
<input-box title="Ut. in Preali" type="toggle"></input-box>
<input-box title="Ut. in CU" type="toggle"></input-box>
<input-box title="Ut. Posto fisso" type="toggle"></input-box>
<input-box title="Ut. in uso" type="toggle"></input-box>
</div>
<div class="list-skill-equipment-category">
<div class="skill-equipment-category">{{'tooling_equipment_list_category_head' | localize("Testa")}}</div>
<input-box title="Rotazione" type="select"></input-box>
</div>
<div class="list-skill-equipment-category">
<div class="skill-equipment-category"></div>
<input-box title="Raffredd 1" type="toggle"></input-box>
<input-box title="Raffredd 2" type="toggle"></input-box>
</div>
<div class="list-skill-equipment-category">
<div class="skill-equipment-category">{{'tooling_equipment_list_category_dimensiondepot' | localize("Dimensione in magazzino")}}</div>
<input-box title="N. Manine Dx" type="numeric"></input-box>
<pre>data: {{$data}}</pre>
<input-box title="N. Manine Sx" type="numeric"></input-box>
</div>
<div class="list-skill-equipment-category">
<div class="skill-equipment-category">{{'tooling_equipment_list_category_sharp_general' | localize("Generali")}}</div>
<input-box title="Id" type="numeric" :read-only="true"></input-box>
</div>
<div class="list-skill-equipment-category">
<div class="skill-equipment-category">{{'tooling_equipment_list_category_sharp_geometry' | localize("Geometria")}}</div>
<input-box title="Parameter 1..N" type="numeric"></input-box>
</div>
<div class="list-skill-equipment-category">
<div class="skill-equipment-category">{{'tooling_equipment_list_category_life_equipment' | localize("Vita Ut.")}}Vita Ut.</div>
<input-box title="Tipo Vita" type="select"></input-box>
<input-box title="Vita residua" type="numeric"></input-box>
<input-box title="Vita Nominale" type="numeric"></input-box>
<input-box title="Vita Preallarme" type="numeric"></input-box>
</div> -->
</div>
</div>
<!-- Osai - Fanuc -->
<!-- <div class="box-right" v-if="false">
<button class="btn"><i class="fa fa-trash"></i></button>
<div class="box-right-label-header">Modifica di E13 utensile XYZ</div>
<div class="list-skill-equipment scrollable">
<div class="list-skill-equipment-category">
<div class="skill-equipment-category">{{'fanuc_tooling_equipment_list_category_general' | localize("Generali")}}</div>
<input-box title="Id" type="numeric" :read-only="true"></input-box>
<input-box title="Tipo Utensile" type="select"></input-box>
<input-box title="Ut. Disabilitato" type="toggle"></input-box>
<input-box title="Ut. Rotto" type="toggle"></input-box>
<input-box title="Ut. Misurato" type="toggle"></input-box>
</div>
<div class="list-skill-equipment-category">
<div class="skill-equipment-category">{{'fanuc_tooling_equipment_list_category_family' | localize("Famiglia")}}</div>
<input-box title="Id" type="numeric" :read-only="true"></input-box>
<input-box title="Descrizione" type="text"></input-box>
<input-box title="Rotazione" type="select"></input-box>
<input-box title="Tcp Associata" type="select"></input-box>
<input-box title="Raffredd 1" type="toggle"></input-box>
<input-box title="Raffredd 2" type="toggle"></input-box>
<input-box title="Raffredd 3" type="toggle"></input-box>
<input-box title="Raffredd 4" type="toggle"></input-box>
<input-box title="Raffredd 5" type="toggle"></input-box>
<input-box title="Raffredd 6" type="toggle"></input-box>
<input-box title="Raffredd 7" type="toggle"></input-box>
<input-box title="Raffredd 8" type="toggle"></input-box>
<input-box title="Vita Nominale" type="numeric"></input-box>
<input-box title="Delta Ravvivat" type="numeric"></input-box>
<input-box title="Inverter Dataset" type="select"></input-box>
<input-box title="Carico Min P.A." type="numeric"></input-box>
<input-box title="Carico Max P.A." type="numeric"></input-box>
<input-box title="Caric Min C Din" type="numeric"></input-box>
<input-box title="Caric Max C Din" type="numeric"></input-box>
<input-box title="N. Manine Dx" type="numeric"></input-box>
<input-box title="N. Manine Sx" type="numeric"></input-box>
</div>
<div class="list-skill-equipment-category">
<div class="skill-equipment-category">{{'fanuc_tooling_equipment_list_category_geometry' | localize("Geometria")}}</div>
<input-box title="Id Correttore" type="select"></input-box>
<input-box title="Lunghezza" type="numeric"></input-box>
<input-box title="Raggio" type="numeric"></input-box>
<input-box title="Usura Lungh." type="numeric"></input-box>
<input-box title="Usura Raggio" type="numeric"></input-box>
<input-box title="Ravviv Residua" type="numeric"></input-box>
</div>
<div class="list-skill-equipment-category">
<div class="skill-equipment-category">{{'fanuc_tooling_equipment_list_category_life_equipment' | localize("Vita Ut.")}}</div>
<input-box title="Tipo Vita" type="select"></input-box>
<input-box title="Vita residua" type="numeric"></input-box>
<input-box title="Val Preallarme" type="numeric"></input-box>
</div>
<div class="list-skill-equipment-category">
<div class="skill-equipment-category">{{'fanuc_tooling_equipment_list_category_tang' | localize("Codolo")}}</div>
<input-box title="Tipo man rich" type="select"></input-box>
<input-box title="Pastiglia" type="numeric"></input-box>
</div>
</div>
</div> -->
</div>
<div class="tooling-magpos-footer">
<button class="btn" @click="cancel('/tooling')">{{'tooling_magpos_button_cancel' | localize("Annulla")}}</button>
<button class="btn blue-reverse" @click="save(selectedTool)">{{'tooling_magpos_button_save' | localize("Salva")}}</button>
</div>
</div>
</div>
</template>
<script src="./tooling-magpos.ts" lang="ts"></script>
@@ -0,0 +1,33 @@
import Vue from "vue";
import Component from "vue-class-component";
import { equipment, inputBox } from "src/modules/base-components/cards";
import { ToolingService } from "../services/toolingService";
import { store, AppModel } from "src/store";
import { toolingActions } from "../store/tooling.store";
@Component({ components: { equipment, inputBox } })
export default class toolingShanks extends Vue {
public get shanks(): server.Shanks[] { return (this.$store.state as AppModel).tooling.shanks; }
public get shankConfiguration(): server.ShankConfiguration[] { return (this.$store.state as AppModel).tooling.shankConfiguration; }
public selectedTool: any = null;
mounted() {
new ToolingService().GetShanks();
new ToolingService().GetShankConfiguration();
}
public selectTool(item){
this.selectedTool = item;
}
public cancel = function (path:string) {
this.$router.push({ path: path});
}
async save(item){
}
}
@@ -0,0 +1,169 @@
<template>
<div class="tooling-shanks-container">
<div class="tooling-shanks-box">
<div class="header">
<router-link :to="'/tooling'">
<i class="fa fa-chevron-left"></i>
</router-link>
{{'tooling_shanks_label_box' | localize("Codoli")}}
</div>
<div class="body">
<div class="list-left">
<div class="search">
<div class="search-label">
{{'tooling_shanks_label_search' | localize("Seleziona un codolo")}}
</div>
<div class="group-btn">
<input type="text">
<button class="btn square"><i class="fa fa-search"></i></button>
<button class="btn square"><i class="fa fa-filter"></i></button>
</div>
</div>
<div class="list-vertical scrollable">
<equipment v-for="s in shanks" :key="s.id" :title="'Codolo' + ' ' + s.id"
v-if="s.id != ''"
:class="{selected: selectedTool == s}"
@click="selectTool(s)"></equipment>
</div>
<div class="footer">
<div class="group-label-button">{{'tooling_shanks_label_add' | localize("Aggiungi codolo")}}<button class="btn"><i class="fa fa-plus"></i></button></div>
</div>
</div>
<!-- Decidere come gestire le diverse macchine -->
<!-- Siemens -->
<div class="box-right" v-if="(isSiemens() || isDemo()) && selectedTool">
<button class="btn"><i class="fa fa-trash"></i></button>
<div class="box-right-label-header">{{'tooling_shanks_boxright_header_modify' | localize("Modifica di Codolo")}} {{selectedTool.id}}</div>
<div class="list-skill-shanks scrollable">
<div class="list-skill-shanks-category">
<div class="skill-shanks-category">{{'tooling_shanks_list_category_general' | localize("Generali")}}</div>
<input-box v-for="s in shankConfiguration" :key="s.name"
v-if="s.name != ''"
v-model="selectedTool[s.name]"
:read-only="s.readOnly"
:title="s.name | localize(s.name)" :type="s.type">
<option v-for="v in s.selectValues" :key="v" :value="v">{{v}}</option>
</input-box>
<!-- <input-box title="Id" type="numeric" :read-only="true"></input-box>
<input-box title="Tipo Utensile" type="select">
<option :value="3">tre</option>
</input-box> -->
</div>
<!-- <div class="list-skill-equipment-category">
<div class="skill-equipment-category">{{'tooling_equipment_list_category_family' | localize("Famiglia")}}</div>
<input-box title="Nome" type="text" :read-only="true"></input-box>
<input-box title="Id Figlio" type="numeric" :read-only="true"></input-box>
</div>
<div class="list-skill-equipment-category">
<div class="skill-equipment-category">{{'tooling_equipment_list_category_state' | localize("Stato")}}</div>
<input-box title="Ut. Attivato" type="toggle"></input-box>
<input-box title="Ut. Inibito" type="toggle"></input-box>
<input-box title="Ut. Misurato" type="toggle"></input-box>
<input-box title="Ut. in Preali" type="toggle"></input-box>
<input-box title="Ut. in CU" type="toggle"></input-box>
<input-box title="Ut. Posto fisso" type="toggle"></input-box>
<input-box title="Ut. in uso" type="toggle"></input-box>
</div>
<div class="list-skill-equipment-category">
<div class="skill-equipment-category">{{'tooling_equipment_list_category_head' | localize("Testa")}}</div>
<input-box title="Rotazione" type="select"></input-box>
</div>
<div class="list-skill-equipment-category">
<div class="skill-equipment-category"></div>
<input-box title="Raffredd 1" type="toggle"></input-box>
<input-box title="Raffredd 2" type="toggle"></input-box>
</div>
<div class="list-skill-equipment-category">
<div class="skill-equipment-category">{{'tooling_equipment_list_category_dimensiondepot' | localize("Dimensione in magazzino")}}</div>
<input-box title="N. Manine Dx" type="numeric"></input-box>
<pre>data: {{$data}}</pre>
<input-box title="N. Manine Sx" type="numeric"></input-box>
</div>
<div class="list-skill-equipment-category">
<div class="skill-equipment-category">{{'tooling_equipment_list_category_sharp_general' | localize("Generali")}}</div>
<input-box title="Id" type="numeric" :read-only="true"></input-box>
</div>
<div class="list-skill-equipment-category">
<div class="skill-equipment-category">{{'tooling_equipment_list_category_sharp_geometry' | localize("Geometria")}}</div>
<input-box title="Parameter 1..N" type="numeric"></input-box>
</div>
<div class="list-skill-equipment-category">
<div class="skill-equipment-category">{{'tooling_equipment_list_category_life_equipment' | localize("Vita Ut.")}}Vita Ut.</div>
<input-box title="Tipo Vita" type="select"></input-box>
<input-box title="Vita residua" type="numeric"></input-box>
<input-box title="Vita Nominale" type="numeric"></input-box>
<input-box title="Vita Preallarme" type="numeric"></input-box>
</div> -->
</div>
</div>
<!-- Osai - Fanuc -->
<!-- <div class="box-right" v-if="false">
<button class="btn"><i class="fa fa-trash"></i></button>
<div class="box-right-label-header">Modifica di E13 utensile XYZ</div>
<div class="list-skill-equipment scrollable">
<div class="list-skill-equipment-category">
<div class="skill-equipment-category">{{'fanuc_tooling_equipment_list_category_general' | localize("Generali")}}</div>
<input-box title="Id" type="numeric" :read-only="true"></input-box>
<input-box title="Tipo Utensile" type="select"></input-box>
<input-box title="Ut. Disabilitato" type="toggle"></input-box>
<input-box title="Ut. Rotto" type="toggle"></input-box>
<input-box title="Ut. Misurato" type="toggle"></input-box>
</div>
<div class="list-skill-equipment-category">
<div class="skill-equipment-category">{{'fanuc_tooling_equipment_list_category_family' | localize("Famiglia")}}</div>
<input-box title="Id" type="numeric" :read-only="true"></input-box>
<input-box title="Descrizione" type="text"></input-box>
<input-box title="Rotazione" type="select"></input-box>
<input-box title="Tcp Associata" type="select"></input-box>
<input-box title="Raffredd 1" type="toggle"></input-box>
<input-box title="Raffredd 2" type="toggle"></input-box>
<input-box title="Raffredd 3" type="toggle"></input-box>
<input-box title="Raffredd 4" type="toggle"></input-box>
<input-box title="Raffredd 5" type="toggle"></input-box>
<input-box title="Raffredd 6" type="toggle"></input-box>
<input-box title="Raffredd 7" type="toggle"></input-box>
<input-box title="Raffredd 8" type="toggle"></input-box>
<input-box title="Vita Nominale" type="numeric"></input-box>
<input-box title="Delta Ravvivat" type="numeric"></input-box>
<input-box title="Inverter Dataset" type="select"></input-box>
<input-box title="Carico Min P.A." type="numeric"></input-box>
<input-box title="Carico Max P.A." type="numeric"></input-box>
<input-box title="Caric Min C Din" type="numeric"></input-box>
<input-box title="Caric Max C Din" type="numeric"></input-box>
<input-box title="N. Manine Dx" type="numeric"></input-box>
<input-box title="N. Manine Sx" type="numeric"></input-box>
</div>
<div class="list-skill-equipment-category">
<div class="skill-equipment-category">{{'fanuc_tooling_equipment_list_category_geometry' | localize("Geometria")}}</div>
<input-box title="Id Correttore" type="select"></input-box>
<input-box title="Lunghezza" type="numeric"></input-box>
<input-box title="Raggio" type="numeric"></input-box>
<input-box title="Usura Lungh." type="numeric"></input-box>
<input-box title="Usura Raggio" type="numeric"></input-box>
<input-box title="Ravviv Residua" type="numeric"></input-box>
</div>
<div class="list-skill-equipment-category">
<div class="skill-equipment-category">{{'fanuc_tooling_equipment_list_category_life_equipment' | localize("Vita Ut.")}}</div>
<input-box title="Tipo Vita" type="select"></input-box>
<input-box title="Vita residua" type="numeric"></input-box>
<input-box title="Val Preallarme" type="numeric"></input-box>
</div>
<div class="list-skill-equipment-category">
<div class="skill-equipment-category">{{'fanuc_tooling_equipment_list_category_tang' | localize("Codolo")}}</div>
<input-box title="Tipo man rich" type="select"></input-box>
<input-box title="Pastiglia" type="numeric"></input-box>
</div>
</div>
</div> -->
</div>
<div class="tooling-shanks-footer">
<button class="btn" @click="cancel('/tooling')">{{'tooling_shanks_button_cancel' | localize("Annulla")}}</button>
<button class="btn blue-reverse" @click="save(selectedTool)">{{'tooling_shanks_button_save' | localize("Salva")}}</button>
</div>
</div>
</div>
</template>
<script src="./tooling-shanks.ts" lang="ts"></script>
+3
View File
@@ -15,6 +15,9 @@
<div class="list-bottom scrollable">
<card :title="'launch_tools' | localize('Utensili')" @click="goTo('/tooling-equipment')"></card>
<card :title="'launch_tangs' | localize('Codoli')" @click="goTo('/tooling-shanks')"></card>
<card :title="'launch_hands' | localize('Manine')" @click="goTo('/tooling-magpos')"></card>
<card :title="'launch_families' | localize('Famiglie')" @click="goTo('/tooling-families')"></card>
<!-- <card title="magazzino 1" @click="archiveClick()"></card>
<card title="magazzino 1" @click="archiveClick()"></card>
<card title="magazzino 1" @click="archiveClick()"></card>
@@ -14,9 +14,9 @@
<script>
export default {
props:{
code: {default: "E13"},
code: {default: ""},
title: {default: "Utensile XYZ"},
imgSource: {default:"../assets/images/tool.PNG"}
imgSource: {default:""}
},
methods:{
onClick(){
+22 -3
View File
@@ -33,10 +33,29 @@ export class ToolingService extends baseRestService {
/** cancellare dopo il controllo con Paolo */
console.log(result);
}
async GetFieldsConfiguration(){
async GetToolsConfiguration(){
let result = await this.Get<server.ToolTableInfoModel>("api/tool_table/configuration");
toolingActions.updateFieldsConfigurations(store, result.fieldsConfiguration);
toolingActions.updateToolsConfigurations(store, result.toolsConfiguration);
/** cancellare dopo il controllo di Paolo */
console.log(result.fieldsConfiguration);
console.log(result.toolsConfiguration);
}
async GetFamilyConfiguration(){
let result = await this.Get<server.ToolTableInfoModel>("api/tool_table/configuration");
toolingActions.updateFamilyConfigurations(store, result.familiesConfiguration.familyConfiguration);
/** cancellare dopo il controllo di Paolo */
console.log(result.familiesConfiguration.familyConfiguration);
}
async GetShankConfiguration(){
let result = await this.Get<server.ToolTableInfoModel>("api/tool_table/configuration");
toolingActions.updateShankConfigurations(store, result.shanksConfiguration.shankConfiguration);
/** cancellare dopo il controllo di Paolo */
console.log(result.shanksConfiguration.shankConfiguration);
}
async GetChildToolsFamily(){
debugger
let result = await this.Get<server.ToolTableInfoModel>("api/tool_table/configuration");
toolingActions.updateChildToolFamilies(store, result.familiesConfiguration.toolsConfiguration);
/** cancellare dopo il controllo di Paolo */
console.log(result.familiesConfiguration.toolsConfiguration);
}
}
+111 -35
View File
@@ -2,34 +2,55 @@
export interface ToolingStoreModel {
magazines: Array<server.MagazineModel>
fieldsConfiguration: Array<server.FieldsConfiguration>
toolsConfiguration: Array<server.ToolsConfiguration>
tools: Array<server.Tool>
families: Array<server.Families>
shanks: Array<server.Shanks>
magazinesPositions: Array<server.MagazinesPositions>
familyConfiguration: Array<server.FamilyConfiguration>
shankConfiguration: Array<server.ShankConfiguration>
childToolsFamily: Array<server.ToolsConfiguration>
}
export interface ToolingActions {
updateMagazine(context, model: server.MagazineModel[]);
updateTool(context, model: server.Tool);
updateTools(context, model: server.Tool[]);
updateFamily(context, model: server.Families);
updateFamilies(context, model: server.Families[]);
updateShank(context, model: server.Shanks);
updateShanks(context, model: server.Shanks[]);
updateMagazinePosition(context, model: server.MagazinesPositions);
updateMagazinesPositions(context, model: server.MagazinesPositions[]);
updateFieldsConfiguration(context, model: server.FieldsConfiguration);
updateFieldsConfigurations(context, model: server.FieldsConfiguration[]);
updateToolsConfiguration(context, model: server.ToolsConfiguration);
updateToolsConfigurations(context, model: server.ToolsConfiguration[]);
updateFamilyConfiguration(context, model: server.FamilyConfiguration);
updateFamilyConfigurations(context, model: server.FamilyConfiguration[]);
updateShankConfiguration(context, model: server.ShankConfiguration);
updateShankConfigurations(context, model: server.ShankConfiguration[]);
updateChildToolFamily(context, model: server.ToolsConfiguration);
updateChildToolFamilies(context, model: server.ToolsConfiguration[]);
}
export const toolingStore = {
state: {
magazines: [],
fieldsConfiguration: [],
toolsConfiguration: [],
_tools: new Map<number, server.Tool>(),
tools: [],
_families: new Map<number, server.Families>(),
families: [],
_shanks: new Map<number, server.Shanks>(),
shanks: [],
_fieldsConfiguration: new Map<string, server.FieldsConfiguration>(),
magazinesPositions: []
_toolsConfiguration: new Map<string, server.ToolsConfiguration>(),
_magazinesPositions: new Map<number, server.MagazinesPositions>(),
magazinesPositions: [],
familyConfiguration: [],
_familyConfiguration: new Map<string, server.FamilyConfiguration>(),
shankConfiguration: [],
_shankConfiguration: new Map<string, server.ShankConfiguration>(),
childToolsFamily: [],
_childToolsFamily: new Map<string, server.ToolsConfiguration>()
} as ToolingStoreModel,
mutations: {
UpdateMagazine(store, model: server.MagazineModel[]) {
@@ -41,24 +62,33 @@ export const toolingStore = {
store._tools.set(model.id, model);
store.tools = Array.from(store._tools.values());
},
UpdateFamilies(store, model: server.Families[]){
for (const key in model){
store.families.push(model[key]);
}
UpdateFamily(store, model: server.Families){
store._families.set(model.id, model);
store.families = Array.from(store._families.values());
},
UpdateShanks(store, model: server.Shanks[]){
for (const key in model){
store.shanks.push(model[key]);
}
UpdateShank(store, model: server.Shanks){
store._shanks.set(model.id, model);
store.shanks = Array.from(store._shanks.values());
},
UpdateMagazinesPositions(store, model: server.MagazinesPositions[]){
for (const key in model){
store.magazinesPositions.push(model[key]);
}
UpdateMagazinePosition(store, model: server.MagazinesPositions){
store._magazinesPositions.set(model.id, model);
store.magazinesPositions = Array.from(store._magazinesPositions.values());
},
UpdateFieldsConfiguration(store, model: server.FieldsConfiguration){
store._fieldsConfiguration.set(model.name, model);
store.fieldsConfiguration = Array.from(store._fieldsConfiguration.values());
UpdateToolsConfiguration(store, model: server.ToolsConfiguration){
store._toolsConfiguration.set(model.name, model);
store.toolsConfiguration = Array.from(store._toolsConfiguration.values());
},
UpdateFamilyConfiguration(store, model: server.FamilyConfiguration){
store._familyConfiguration.set(model.name, model);
store.familyConfiguration = Array.from(store._familyConfiguration.values());
},
UpdateShankConfiguration(store, model: server.ShankConfiguration){
store._shankConfiguration.set(model.name, model);
store.shankConfiguration = Array.from(store._shankConfiguration.values());
},
UpdateChildToolFamily(store, model: server.ToolsConfiguration){
store._childToolsFamily.set(model.name, model);
store.childToolsFamily = Array.from(store._childToolsFamily.values());
}
},
actions: {
@@ -74,26 +104,72 @@ export const toolingStore = {
context.commit("UpdateTool", element);
}
},
updateFamily(context, model: server.Families){
context.commit("UpdateFamily", model);
},
updateFamilies(context, model: server.Families[]){
context.commit("UpdateFamilies", model);
},
updateShanks(context, model: server.Shanks[]){
context.commit("UpdateShanks", model);
},
updateMagazinesPositions(context, model: server.MagazinesPositions[]){
context.commit("UpdateMagazinesPositions", model);
},
updateFieldsConfiguration(context, model: server.FieldsConfiguration) {
context.commit("UpdateFieldsConfiguration", model);
},
updateFieldsConfigurations(context, model: server.FieldsConfiguration[]){
for (const key in model){
const element = model[key];
context.commit("UpdateFieldsConfiguration", element);
context.commit("UpdateFamily", element)
}
},
updateShank(context, model: server.Shanks){
context.commit("UpdateShank", model);
},
updateShanks(context, model: server.Shanks[]){
for (const key in model){
const element = model[key];
context.commit("UpdateShank", element);
}
},
updateMagazinePosition(context, model: server.MagazinesPositions){
context.commit("UpdateMagazinePosition", model);
},
updateMagazinesPositions(context, model: server.MagazinesPositions[]){
for (const key in model){
const element = model[key];
context.commit("UpdateMagazinePosition", element);
}
},
updateToolsConfiguration(context, model: server.ToolsConfiguration) {
context.commit("UpdateToolsConfiguration", model);
},
updateToolsConfigurations(context, model: server.ToolsConfiguration[]){
for (const key in model){
const element = model[key];
context.commit("UpdateToolsConfiguration", element);
}
},
updateFamilyConfiguration(context, model: server.FamilyConfiguration){
context.commit("UpdateFamilyConfiguration", model);
},
updateFamilyConfigurations(context, model: server.FamilyConfiguration[]){
for(const key in model){
const element = model[key];
context.commit("UpdateFamilyConfiguration", element);
}
},
updateShankConfiguration(context, model: server.ShankConfiguration){
context.commit("UpdateShankConfiguration", model);
},
updateShankConfigurations(context, model: server.ShankConfiguration[]){
for(const key in model){
const element = model[key];
context.commit("UpdateShankConfiguration", element);
}
},
updateChildToolFamily(context, model: server.ToolsConfiguration){
context.commit("UpdateChildToolFamily", model);
},
updateChildToolFamilies(context, model: server.ToolsConfiguration[]){
for(const key in model){
const element = model[key];
context.commit("UpdateChildToolFamily", element);
}
}
} as ToolingActions
}
export const toolingActions = toolingStore.actions as ToolingActions;
export const toolingActions = toolingStore.actions as ToolingActions;