Fix shanks

Osai: on startup check directory
This commit is contained in:
Lucio Maranta
2019-04-29 16:52:17 +02:00
parent 3d68ac9b26
commit 202e4352d4
9 changed files with 334 additions and 196 deletions
Binary file not shown.
+9 -6
View File
@@ -964,21 +964,23 @@ public static class ThreadsFunctions
{
// Try reconnection
cmsError = ncHandler.Connect();
if (cmsError.errorCode == CMS_ERROR_CODES.SIEMENS_ENVIRONMENT_NOT_FOUND || cmsError.errorCode == CMS_ERROR_CODES.SIEMENS_HMI_NOT_RUNNING)
if (cmsError.errorCode == CMS_ERROR_CODES.SIEMENS_ENVIRONMENT_NOT_FOUND || cmsError.errorCode == CMS_ERROR_CODES.SIEMENS_HMI_NOT_RUNNING || cmsError.errorCode == CMS_ERROR_CODES.OSAI_TT_FOLDER_NOT_FOUND)
ManageLibraryError(cmsError);
else if (cmsError.errorCode != CMS_ERROR_CODES.OK)
ncHandler.Dispose();
else
{
// Send status to UI
MessageServices.Current.Publish(SEND_NC_STATUS, null, ncHandler.numericalControl.NC_IsConnected());
// Send status to UI
MessageServices.Current.Publish(SEND_NC_STATUS, null, ncHandler.numericalControl.NC_IsConnected());
Thread.Sleep(1000);
Thread.Sleep(1000);
}
}
if (ServerStartupConfig.AutoOpenCmsClient)
StartCMSClient(null);
if(NcConfig.NcVendor == NC_VENDOR.FANUC || NcConfig.NcVendor == NC_VENDOR.DEMO)
if(NcConfig.NcVendor == NC_VENDOR.FANUC || NcConfig.NcVendor == NC_VENDOR.OSAI)
{
using (NcToolTableHandler toolTable = new NcToolTableHandler())
{
@@ -1030,6 +1032,7 @@ public static class ThreadsFunctions
break;
case CMS_ERROR_CODES.SIEMENS_ENVIRONMENT_NOT_FOUND:
case CMS_ERROR_CODES.OSAI_TT_FOLDER_NOT_FOUND:
Manage(ERROR_LEVEL.FATAL, cmsError.localizationKey);
break;
@@ -136,6 +136,13 @@ namespace Step.Database.Controllers
return shanks;
}
public DbNcShankModel FindShank(int shankId)
{
return dbCtx.Shanks
.Where(x => x.ShankId == shankId)
.FirstOrDefault();
}
public DbNcShankModel FindShanksByPositions(int magazineId, int positionId)
{
DbNcShankModel shank = FindShanks()
@@ -284,18 +284,28 @@ namespace Step.Controllers.WebApi
}
}
[Route("shank"), HttpPost]
public IHttpActionResult AddShank([FromBody][Required] DTONewNcShankModel dtoShank)
{
if (!ModelState.IsValid)
return BadRequest(ModelState);
[Route("shank/{shankId:int}"), HttpPost]
public IHttpActionResult AddShank(short shankId)
{
using (NcToolManagerController toolsManager = new NcToolManagerController())
{
// Check if exists a tool with the same id
DbNcShankModel dbShank = toolsManager.FindShank(shankId);
if (dbShank != null)
return BadRequest(API_ERROR_KEYS.ID_ALREADY_EXIST);
}
if (!ToolManagerConfig.ShankOpt)
return BadRequest(API_ERROR_KEYS.OPTION_NOT_ACTIVE);
using (NcToolManagerController toolsManager = new NcToolManagerController())
{
DTONcShankModel shank = (DTONcShankModel)toolsManager.AddShank(dtoShank);
{
DTONewNcShankModel dtoShank = new DTONewNcShankModel()
{
Balluf = 0,
MagazinePositionType = 0
};
DTONcShankModel shank = (DTONcShankModel)toolsManager.AddShank(dtoShank, shankId);
return Ok(shank);
}
+1 -1
View File
@@ -98,7 +98,7 @@ english.InstallingDotNet = Installing .Net
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: checkablealone; Components: Demo Fanuc Osai Siemens
Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: checkablealone; Components: Demo Fanuc Osai Siemens
Name: startupicon; Description: {cm:CreateStartupIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: checkablealone; Components: Fanuc Osai
Name: startupicon; Description: {cm:CreateStartupIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: checkablealone; Components: Demo Fanuc Osai
Name: sinumerikicons; Description: {cm:CreateSinumerikIcons}; GroupDescription: {cm:AdditionalIcons}; Flags: checkablealone; Components: Siemens
[Files]
@@ -535,11 +535,11 @@ public isEquipmentSelected(offset){
// Controllo se l'utensile può essere eliminato se in magazzino
public checkIfCanDeleteTool() {
if(this.selectedTool) {
if(!this.isSiemens || this.multitoolOptionActive){
if(!this.isSiemens && this.multitoolOptionActive){
if(this.selectedTool.shankId)
return true;
else
return false;
else
return true;
}else{
if (this.magazines.length > 0) {
var magId = this.getToolMagPosition(this.selectedTool.shankId)
@@ -548,7 +548,6 @@ public isEquipmentSelected(offset){
if (mag)
return true;
};
}
}
@@ -693,8 +692,8 @@ public isEquipmentSelected(offset){
}
async saveEdge(tool, model) {
delete model.id;
await awaiter(new ToolingService().SetEdgeData(tool, model).then(response => {
this.toolsConfiguration = (this.$store.state as AppModel).tooling.toolsConfiguration;
this.edgeConfiguration = (this.$store.state as AppModel).tooling.edgesConfiguration;
@@ -750,7 +749,6 @@ public isEquipmentSelected(offset){
}
async buttonSave(tool: any, edge: any) {
console.log("ENTRO QUI", tool)
if (tool.id) {
if (edge && edge.id > 0) {
this.modifyEdge(tool, edge);
@@ -33,6 +33,8 @@ export default class toolingShanks extends Vue {
return (this.$store.state as AppModel).tooling.maxToolsPerMultitools;
}
public magazines: server.MagazineModel[] = (this.$store.state as AppModel).tooling.magazines;
public shankConfiguration: server.ShankConfiguration[] = null;
public childToolsShank: server.ToolsConfiguration[] = null;
@@ -97,6 +99,11 @@ export default class toolingShanks extends Vue {
public enableAddShank: any = false;
public enableAddChildsTools: any = false;
public newShankId : number = 1
public useAutoToolId: boolean = true
public canAddNewShank: boolean = false
public enableShankCreation: boolean = false
public maxToolsShanksSiemens(){
if(this.shanks.length < this.maxMultitools){
this.enableAddShank = false;
@@ -207,26 +214,43 @@ export default class toolingShanks extends Vue {
}
public addShank() {
this.selectedTool = {};
public createEmptyShank(selectedShank){
this.shankConfiguration = [];
this.enableModify = true;
this.enableEquipment = false;
this.enableParameters = true;
this.disableList = true;
for (let f in (this.$store.state as AppModel).tooling.shankConfiguration) {
let element = (this.$store.state as AppModel).tooling.shankConfiguration[f];
if (!element.readOnly) {
this.shankConfiguration.push(element);
}
this.selectedTool[element.name] = element.minValue;
selectedShank[element.name] = element.minValue;
if(element.name == "name"){
this.selectedTool[element.name] = "";
selectedShank[element.name] = "";
}
}
}
public addShank() {
let newShank = {}
this.enableModify = true;
this.enableEquipment = false;
this.disableList = true;
if(!this.isSiemens){
this.selectedTool = Object.assign({}, newShank)
this.copySelectedTool = null
this.useAutoToolId = true
this.enableShankCreation = true
this.enableParameters = false
this.newShankId = null
}
else {
this.enableParameters = true;
this.createEmptyShank(newShank)
this.selectedTool = Object.assign({}, newShank)
this.copySelectedTool = null
}
}
public selectTool(item) {
this.selectedTool = item;
this.enableParameters = true;
@@ -385,6 +409,9 @@ export default class toolingShanks extends Vue {
}));
}
else{
if(this.useAutoToolId)
item = 0
awaiter(new ToolingService().SetNcShank(item).then(response => {
this.selectedTool = response;
let htmlelement = this.$refs.shankList as any;
@@ -392,6 +419,11 @@ export default class toolingShanks extends Vue {
this.shankConfiguration = (this.$store.state as AppModel).tooling.shankConfiguration;
this.disableList = false;
this.enableModify = false;
this.enableShankCreation = false;
this.useAutoToolId = false
this.enableParameters = true;
}));
}
@@ -513,4 +545,86 @@ export default class toolingShanks extends Vue {
}
}, null);
}
// Controllo se lo shank può essere eliminato
public checkIfCanEditShank() {
if(this.selectedTool) {
// Check if magazine is locked
if (this.magazines.length > 0) {
var magId = this.getToolMagPosition(this.selectedTool.id)
var mag = this.magazines.find(d => d.id == magId);
if (mag && !mag.loadingIsActive)
return true;
}
// Check if tool is in spindle
const heads = this.$store.state.machineInfo.heads
for (let i = 0; i < heads.length; i++) {
const head = this.$store.getters.getHeadsProperty(heads[i].id)
if(this.selectedTool.childsTools) {
// Check if one of the child tool is mounted in spindle
for(let j = 0; j < this.selectedTool.childsTools.length; j++) {
if(!head.fixedHead && this.selectedTool.childsTools[j].id === head.mountedTool) {
return true
}
}
}
}
}
return false
}
// Controllo se lo shank può essere eliminato
public checkIfCanDeleteShank() {
if(this.selectedTool) {
if (this.magazines.length > 0) {
var magId = this.getToolMagPosition(this.selectedTool.id)
var mag = this.magazines.find(d => d.id == magId);
if (mag)
return true
}
}
return false
}
public getToolMagPosition = function (id) {
if (this.multitoolOptionActive)
return null
var SH = this.ncShanks.filter(t => String(t.id).indexOf(id) >=0);
if(SH.length > 0)
return SH[0].magazineId;
return null;
}
public useAutoToolIdF() {
if (this.useAutoToolId) {
this.newShankId = null
}
else {
this.newShankId = 1
}
}
@Watch("newShankId")
public canAddTool(){
if(!this.useAutoToolId && this.newShankId <= 0){
this.canAddNewShank = false;
return;
}
var tool = this.ncShanks.find(k => k.id == this.newShankId);
if(tool)
this.canAddNewShank = false;
else
this.canAddNewShank = true;
}
}
@@ -1,16 +1,16 @@
<template>
<div class="tooling-shanks-container">
<div class="tooling-shanks-box">
<div class="header">
<router-link :to="'/tooling'">
<div class="tooling-shanks-container">
<div class="tooling-shanks-box">
<div class="header">
<router-link :to="'/tooling'">
<i class="fa fa-chevron-left"></i>
{{'tooling_shanks_label_box' | localize("Codoli")}}
</router-link>
</div>
<div class="body">
<!-- Demo/Siemens -->
<div class="list-left" :class="{'avoid-clicks': disableList}" v-if="isSiemens">
<div class="search">
</router-link>
</div>
<div class="body">
<!-- List Demo/Siemens -->
<div class="list-left" :class="{'avoid-clicks': disableList}" v-if="isSiemens">
<div class="search">
<div class="search-label">
{{'tooling_shanks_label_search' | localize("Seleziona un codolo")}}
</div>
@@ -19,53 +19,35 @@
<i class="fa fa-2x fa-search"></i>
<!-- <button class="btn square"><i class="fa fa-filter"></i></button> -->
</div>
</div>
<div class="list-vertical scrollable" ref="shankList">
<equipment v-for="s in shanks.filter(i => i.name.toLowerCase().indexOf(currentFilter) >=0)"
:key="s.id"
v-if="s.id != null"
:code="'tooling_shank_abbreviation' | localize('S%d',s.id)"
:title="s.name"
:img-source="'../assets/icons/Tools/Shanks.png'"
:magPosition="s.magazineId"
:class="{selected: selectedTool && selectedTool.id == s.id}"
@click="selectTool(s)"></equipment>
</div>
<div class="footer">
<div class="group-label-button" :class="{'avoid-clicks': enableAddShank}">{{'tooling_shanks_label_add' | localize("Aggiungi codolo")}}<button class="btn" @click="addShank()"><i class="fa fa-plus"></i></button></div>
</div>
</div>
<!-- Osai/Fanuc -->
<div class="list-left" :class="{'avoid-clicks': disableList}" v-if="!isSiemens">
<div class="search">
</div>
<div class="list-vertical scrollable" ref="shankList">
<equipment v-for="s in shanks.filter(i => i.name.toLowerCase().indexOf(currentFilter) >=0)" :key="s.id" v-if="s.id != null" :code="'tooling_shank_abbreviation' | localize('S%d',s.id)" :title="s.name" :img-source="'../assets/icons/Tools/Shanks.png'" :magPosition="s.magazineId" :class="{selected: selectedTool && selectedTool.id == s.id}" @click="selectTool(s)"></equipment>
</div>
<div class="footer">
<div class="group-label-button" :class="{'avoid-clicks': enableAddShank}">{{'tooling_shanks_label_add' | localize("Aggiungi codolo")}}<button class="btn" @click="addShank()"><i class="fa fa-plus"></i></button></div>
</div>
</div>
<!-- List Osai/Fanuc -->
<div class="list-left" :class="{'avoid-clicks': disableList}" v-if="!isSiemens">
<div class="search">
<div class="search-label">
{{'tooling_shanks_label_search' | localize("Seleziona un codolo")}}
</div>
<div class="group-btn">
<input type="text" v-model="searchText" :placeholder="'tooling_shank_search_placeholder' | localize('Cerca un codolo per id')" >
<i class="fa fa-2x fa-search"></i>
<!-- <button class="btn square"><i class="fa fa-filter"></i></button> -->
</div>
</div>
<div class="list-vertical scrollable" ref="shankList">
<equipment v-for="s in ncShanks.filter(i => String(i.id).toLowerCase().indexOf(currentFilter) >=0)"
v-if="s.id != null"
:key="s.id"
:title="'tooling_shank_abbreviation' | localize('S%d',s.id)"
:img-source="'../assets/icons/Tools/Shanks.png'"
:magPosition="s.magazineId"
:class="{selected: selectedTool && selectedTool.id == s.id}"
@click="selectTool(s)"></equipment>
</div>
<div class="footer">
<div class="group-label-button" :class="{'avoid-clicks': enableAddShank}">{{'tooling_shanks_label_add' | localize("Aggiungi codolo")}}<button class="btn" @click="addShank()"><i class="fa fa-plus"></i></button></div>
</div>
</div>
</div>
<div class="list-vertical scrollable" ref="shankList">
<equipment v-for="s in ncShanks.filter(i => String(i.id).toLowerCase().indexOf(currentFilter) >=0)" v-if="s.id != null" :key="s.id" :title="'tooling_shank_abbreviation' | localize('S%d',s.id)" :img-source="'../assets/icons/Tools/Shanks.png'" :magPosition="s.magazineId" :class="{selected: selectedTool && selectedTool.id == s.id}" @click="selectTool(s)"></equipment>
</div>
<div class="footer">
<div class="group-label-button" :class="{'avoid-clicks': enableAddShank}">{{'tooling_shanks_label_add' | localize("Aggiungi codolo")}}<button class="btn" @click="addShank()"><i class="fa fa-plus"></i></button></div>
</div>
</div>
<!-- Decidere come gestire le diverse macchine -->
<!-- Siemens -->
<div class="box-right" v-if="(isSiemens) && selectedTool" :class="{'selected': disableList}" >
<!-- Siemens shank data -->
<div class="box-right" v-if="(isSiemens) && selectedTool" :class="{'selected': disableList}">
<div class="tab-box-right" :class="{'avoid-clicks': disableList}">
<button class="tab" :class="{'active': enableParameters}" @click="selectTab('Parameters')">{{'tooling_parameters_tab' | localize("Parametri")}}</button>
<div class="tab-box-scroll scrollable">
@@ -79,79 +61,75 @@
</div>
</div>
<div class="box-right-body" v-if="enableParameters">
<button class="btn deleteElement" v-if="selectedTool.id" @click="deleteShank(selectedTool)"><i class="fa fa-trash"></i></button>
<div class="box-right-label-header" v-if="selectedTool.id>0">{{'tooling_shanks_editlabel' | localize("Modifica di Codolo %d",selectedTool.id)}}</div>
<div class="box-right-label-header" v-if="!selectedTool.id || selectedTool.id<=0">{{'tooling_shanks_label_new' | localize("Creazione Utensile")}}</div>
<div class="list-skill-shanks scrollable">
<div class="list-skill-shanks-category" v-for="c in categories" :key="c">
<div class="skill-shanks-category">{{'tooling_shanks_list_category_' + c | localize(c)}}</div>
<input-box v-for="s in shankConfiguration" :key="s.name"
v-if="s.name != '' && s.category == c"
v-model="selectedTool[s.name]"
:minValue="s.minValue"
:maxValue="s.maxValue"
:read-only="s.readOnly || !disableList"
:title="'tooling_equipment_param_' + s.name | localize(s.name)"
:type="s.type">
<option v-for="v in s.selectValues" :key="v" :value="v">{{v}}</option>
</input-box>
<button class="btn deleteElement" v-if="selectedTool.id" @click="deleteShank(selectedTool)"><i class="fa fa-trash"></i></button>
<div class="box-right-label-header" v-if="selectedTool.id>0">{{'tooling_shanks_editlabel' | localize("Modifica di Codolo %d",selectedTool.id)}}</div>
<div class="box-right-label-header" v-if="!selectedTool.id || selectedTool.id<=0">{{'tooling_shanks_label_new' | localize("Creazione Utensile")}}</div>
<div class="list-skill-shanks scrollable">
<div class="list-skill-shanks-category" v-for="c in categories" :key="c">
<div class="skill-shanks-category">{{'tooling_shanks_list_category_' + c | localize(c)}}</div>
<input-box v-for="s in shankConfiguration"
:key="s.name"
v-if="s.name != '' && s.category == c"
v-model="selectedTool[s.name]"
:minValue="s.minValue"
:maxValue="s.maxValue"
:read-only="s.readOnly || !disableList"
:title="'tooling_equipment_param_' + s.name | localize(s.name)"
:type="s.type">
<option v-for="v in s.selectValues" :key="v" :value="v">{{v}}</option>
</input-box>
</div>
</div>
<div class="tooling-equipment-footer">
<button class="btn" v-if="!enableModify" @click="modify()">{{'tooling_equipment_button_modify' | localize("Modifica")}}</button>
<button class="btn" v-if="enableModify" @click="cancel()">{{'tooling_equipment_button_cancel' | localize("Annulla")}}</button>
<button class="btn blue-reverse" :disabled="!isValid" v-if="enableModify" @click="buttonSave(selectedTool)">{{'tooling_equipment_button_save' | localize("Salva")}}</button>
<!-- <button class="btn blue-reverse" v-if="enableModify && (!selectedTool.id || selectedTool.id<=0)" @click="addToolsToShank(selectedTool)">{{'tooling_equipment_button_add' | localize("Aggiungi")}}</button> -->
</div>
</div>
<div class="tooling-equipment-footer">
<button class="btn" v-if="!enableModify" @click="modify()">{{'tooling_equipment_button_modify' | localize("Modifica")}}</button>
<button class="btn" v-if="enableModify" @click="cancel()">{{'tooling_equipment_button_cancel' | localize("Annulla")}}</button>
<button class="btn blue-reverse" :disabled="!isValid" v-if="enableModify" @click="buttonSave(selectedTool)">{{'tooling_equipment_button_save' | localize("Salva")}}</button>
<!-- <button class="btn blue-reverse" v-if="enableModify && (!selectedTool.id || selectedTool.id<=0)" @click="addToolsToShank(selectedTool)">{{'tooling_equipment_button_add' | localize("Aggiungi")}}</button> -->
</div>
</div>
<div class="box-right-body" v-if="enableAddToolToShank">
<div class="box-right-label-header">{{'tooling_childtoolsshank_select_tool' | localize("Scegliere l'utensile da aggiungere al codolo")}}</div>
<div class="list-skill-shanks scrollable">
<div class="list-skill-shanks-category">
<div class="skill-shanks-category">
<input-box type="select" :title="'tooling_equipment_param_position' | localize('Posizione')" v-model="posSelected">
<option v-for="(s) in selectedTool.maxChilds" v-if="availablePosition(s)" :key="s" :value="s">{{s}}</option>
</input-box>
<input-box type="select" :title="'tooling_equipment_param_id' | localize('Id Utensile')" v-model="toolSelected">
<option v-for="(s, k) in availableTools" :key="k" :value="s">{{s.familyName}} - {{'tooling_tool_abbreviation' | localize('T%d',s.id)}}</option>
</input-box>
<div class="box-right-label-header">{{'tooling_childtoolsshank_select_tool' | localize("Scegliere l'utensile da aggiungere al codolo")}}</div>
<div class="list-skill-shanks scrollable">
<div class="list-skill-shanks-category">
<div class="skill-shanks-category">
<input-box type="select" :title="'tooling_equipment_param_position' | localize('Posizione')" v-model="posSelected">
<option v-for="(s) in selectedTool.maxChilds" v-if="availablePosition(s)" :key="s" :value="s">{{s}}</option>
</input-box>
<input-box type="select" :title="'tooling_equipment_param_id' | localize('Id Utensile')" v-model="toolSelected">
<option v-for="(s, k) in availableTools" :key="k" :value="s">{{s.familyName}} - {{'tooling_tool_abbreviation' | localize('T%d',s.id)}}</option>
</input-box>
</div>
</div>
</div>
</div>
<div class="tooling-equipment-footer">
<button class="btn" v-if="!enableModify" @click="modify()">{{'tooling_equipment_button_modify' | localize("Modifica")}}</button>
<button class="btn" v-if="enableModify" @click="cancel()">{{'tooling_equipment_button_cancel' | localize("Annulla")}}</button>
<button class="btn blue-reverse" v-if="enableModify" @click="addToolsToShank(selectedTool)">{{'tooling_equipment_button_add' | localize("Aggiungi")}}</button>
</div>
<div class="tooling-equipment-footer">
<button class="btn" v-if="!enableModify" @click="modify()">{{'tooling_equipment_button_modify' | localize("Modifica")}}</button>
<button class="btn" v-if="enableModify" @click="cancel()">{{'tooling_equipment_button_cancel' | localize("Annulla")}}</button>
<button class="btn blue-reverse" v-if="enableModify" @click="addToolsToShank(selectedTool)">{{'tooling_equipment_button_add' | localize("Aggiungi")}}</button>
</div>
</div>
<div class="box-right-body" v-if="enableEquipment">
<button class="btn deleteElement" @click="removeToolsToShank(selectedTool)"><i class="fa fa-trash"></i></button>
<button class="btn deleteElement" @click="openEditTool(selectedEquipment)"><i class="fa fa-pencil"></i></button>
<div class="box-right-label-header">{{'tooling_shanks_edittoollabel' | localize("Modifica utensile %d del Codolo %d",selectedEquipment.id,selectedTool.id)}}</div>
<div class="list-skill-shanks scrollable">
<div class="list-skill-shanks-category">
<div v-for="ct in selectedTool.childsTools" :key="ct.id" v-if="selectedEquipment == ct" class="skill-shanks-category">
<button class="btn deleteElement" @click="removeToolsToShank(selectedTool)"><i class="fa fa-trash"></i></button>
<button class="btn deleteElement" @click="openEditTool(selectedEquipment)"><i class="fa fa-pencil"></i></button>
<div class="box-right-label-header">{{'tooling_shanks_edittoollabel' | localize("Modifica utensile %d del Codolo %d",selectedEquipment.id,selectedTool.id)}}</div>
<div class="list-skill-shanks scrollable">
<div class="list-skill-shanks-category">
<div v-for="ct in selectedTool.childsTools" :key="ct.id" v-if="selectedEquipment == ct" class="skill-shanks-category">
<input-box v-for="c in childToolsShank" :key="c.name"
v-if="c.name != ''"
v-model="ct[c.name]"
:read-only="c.readOnly || !disableList"
:title="'tooling_equipment_param_' + c.name | localize(c.name)"
:type="c.type">
<option v-for="(s, k) in c.selectValues" :key="k" :selected="ct.toolType" :value="k">{{k}} - {{'tooling_equipment_list_select_' + s | localize(s)}}</option>
</input-box>
<input-box v-for="c in childToolsShank" :key="c.name" v-if="c.name != ''" v-model="ct[c.name]" :read-only="c.readOnly || !disableList" :title="'tooling_equipment_param_' + c.name | localize(c.name)" :type="c.type">
<option v-for="(s, k) in c.selectValues" :key="k" :selected="ct.toolType" :value="k">{{k}} - {{'tooling_equipment_list_select_' + s | localize(s)}}</option>
</input-box>
</div>
</div>
</div>
</div>
<!--<div class="tooling-equipment-footer">
<!--<div class="tooling-equipment-footer">
<button class="btn" v-if="!enableModify" @click="modify()">{{'tooling_equipment_button_modify' | localize("Modifica")}}</button>
<button class="btn" v-if="enableModify" @click="cancel()">{{'tooling_equipment_button_cancel' | localize("Annulla")}}</button>
<button class="btn blue-reverse" v-if="enableModify" @click="buttonSave(selectedTool)">{{'tooling_equipment_button_save' | localize("Salva")}}</button>
</div>-->
</div>
</div>
<!-- Osai/Fanuc -->
<div class="box-right" v-if="(!isSiemens) && selectedTool" :class="{'selected': disableList}" >
</div>
<!-- Osai/Fanuc Shank data -->
<div class="box-right" v-if="(!isSiemens) && selectedTool" :class="{'selected': disableList}">
<div class="tab-box-right" :class="{'avoid-clicks': disableList}">
<button class="tab" :class="{'active': enableParameters}" @click="selectTab('Parameters')">{{'tooling_parameters_tab' | localize("Parametri")}}</button>
<div class="tab-box-scroll scrollable">
@@ -165,80 +143,108 @@
</div>
</div>
<div class="box-right-body" v-if="enableParameters">
<button class="btn deleteElement" v-if="selectedTool.id" @click="deleteShank(selectedTool)"><i class="fa fa-trash"></i></button>
<div class="box-right-label-header" v-if="selectedTool.id>0">{{'tooling_shanks_editlabel' | localize("Modifica di Codolo %d",selectedTool.id)}}</div>
<div class="box-right-label-header" v-if="!selectedTool.id || selectedTool.id<=0">{{'tooling_shanks_label_new' | localize("Creazione Utensile")}}</div>
<div class="list-skill-shanks scrollable">
<div class="list-skill-shanks-category" v-for="c in categories" :key="c">
<div class="skill-shanks-category">{{'tooling_shanks_list_category_' + c | localize(c)}}</div>
<input-box v-for="s in shankConfiguration" :key="s.name"
v-if="s.name != '' && s.category == c"
v-model="selectedTool[s.name]"
:disabled-control="!enableModify"
:minValue="s.minValue"
:maxValue="s.maxValue"
:read-only="s.readOnly || !disableList"
:title="'tooling_equipment_param_' + s.name | localize(s.name)"
:type="s.type">
<option v-for="v in s.selectValues" :key="v" :value="v">{{v}}</option>
</input-box>
<button class="btn deleteElement" v-if="selectedTool.id" @click="deleteShank(selectedTool)" :disabled="checkIfCanDeleteShank()"><i class="fa fa-trash"></i></button>
<div class="box-right-label-header" v-if="selectedTool.id>0">{{'tooling_shanks_editlabel' | localize("Modifica di Codolo %d",selectedTool.id)}}</div>
<div class="box-right-label-header" v-if="!selectedTool.id || selectedTool.id<=0">{{'tooling_shanks_label_new' | localize("Creazione Utensile")}}</div>
<div class="list-skill-shanks scrollable">
<div class="list-skill-shanks-category" v-for="c in categories" :key="c">
<div class="skill-shanks-category">{{'tooling_shanks_list_category_' + c | localize(c)}}</div>
<input-box v-for="s in shankConfiguration"
:key="s.name"
v-if="s.name != '' && s.category == c"
v-model="selectedTool[s.name]"
:disabled-control="!enableModify"
:minValue="s.minValue"
:maxValue="s.maxValue"
:read-only="s.readOnly || !disableList"
:title="'tooling_equipment_param_' + s.name | localize(s.name)"
:type="s.type">
<option v-for="v in s.selectValues" :key="v" :value="v">{{v}}</option>
</input-box>
</div>
</div>
<div class="tooling-equipment-footer">
<div v-if="!enableModify && checkIfCanEditShank()" class="lock-icon"><i class="fa fa-lock"></i></div>
<button class="btn" v-if="!enableModify" :disabled="checkIfCanEditShank()" @click="modifyNc()">{{'tooling_equipment_button_modify' | localize("Modifica")}}</button>
<button class="btn" v-if="enableModify" @click="cancelNc()">{{'tooling_equipment_button_cancel' | localize("Annulla")}}</button>
<button class="btn blue-reverse" :disabled="!isValid" v-if="enableModify" @click="buttonSave(selectedTool)">{{'tooling_equipment_button_save' | localize("Salva")}}</button>
<!-- <button class="btn blue-reverse" v-if="enableModify && (!selectedTool.id || selectedTool.id<=0)" @click="addToolsToShank(selectedTool)">{{'tooling_equipment_button_add' | localize("Aggiungi")}}</button> -->
</div>
</div>
<div class="tooling-equipment-footer">
<button class="btn" v-if="!enableModify" @click="modifyNc()">{{'tooling_equipment_button_modify' | localize("Modifica")}}</button>
<button class="btn" v-if="enableModify" @click="cancelNc()">{{'tooling_equipment_button_cancel' | localize("Annulla")}}</button>
<button class="btn blue-reverse" :disabled="!isValid" v-if="enableModify" @click="buttonSave(selectedTool)">{{'tooling_equipment_button_save' | localize("Salva")}}</button>
<!-- <button class="btn blue-reverse" v-if="enableModify && (!selectedTool.id || selectedTool.id<=0)" @click="addToolsToShank(selectedTool)">{{'tooling_equipment_button_add' | localize("Aggiungi")}}</button> -->
</div>
</div>
<div class="box-right-body" v-if="enableAddToolToShank">
<div class="box-right-label-header">{{'tooling_childtoolsshank_select_tool' | localize("Scegliere l'utensile da aggiungere al codolo")}}</div>
<div class="list-skill-shanks scrollable">
<div class="list-skill-shanks-category">
<div class="skill-shanks-category">
<!-- <input-box type="select" :title="'tooling_equipment_param_position' | localize('Posizione')" v-model="posSelected">
<div class="box-right-label-header">{{'tooling_childtoolsshank_select_tool' | localize("Scegliere l'utensile da aggiungere al codolo")}}</div>
<div class="list-skill-shanks scrollable">
<div class="list-skill-shanks-category">
<div class="skill-shanks-category">
<!-- <input-box type="select" :title="'tooling_equipment_param_position' | localize('Posizione')" v-model="posSelected">
<option v-for="(s) in maxToolsPerMultitools" v-if="availablePosition(s)" :key="s" :value="s">{{s}}</option>
</input-box> -->
<input-box type="select" :title="'tooling_equipment_param_id' | localize('Id Utensile')" v-model="toolSelected">
<option v-for="(s, k) in ncAvailableTools" :key="k" :value="s">{{s.familyId}} - {{'tooling_tool_abbreviation' | localize('T%d',s.id)}}</option>
</input-box>
<input-box type="select" :title="'tooling_equipment_param_id' | localize('Id Utensile')" v-model="toolSelected">
<option v-for="(s, k) in ncAvailableTools" :key="k" :value="s">{{s.familyId}} - {{'tooling_tool_abbreviation' | localize('T%d',s.id)}}</option>
</input-box>
</div>
</div>
</div>
</div>
<div class="tooling-equipment-footer">
<button class="btn" v-if="!enableModify" @click="modify()">{{'tooling_equipment_button_modify' | localize("Modifica")}}</button>
<button class="btn" v-if="enableModify" @click="cancel()">{{'tooling_equipment_button_cancel' | localize("Annulla")}}</button>
<button class="btn blue-reverse" v-if="enableModify" :disabled="!toolSelected" @click="addToolsToShank(selectedTool)">{{'tooling_equipment_button_add' | localize("Aggiungi")}}</button>
</div>
<div class="tooling-equipment-footer">
<button class="btn" v-if="!enableModify" @click="modify()">{{'tooling_equipment_button_modify' | localize("Modifica")}}</button>
<button class="btn" v-if="enableModify" @click="cancel()">{{'tooling_equipment_button_cancel' | localize("Annulla")}}</button>
<button class="btn blue-reverse" v-if="enableModify" :disabled="!toolSelected" @click="addToolsToShank(selectedTool)">{{'tooling_equipment_button_add' | localize("Aggiungi")}}</button>
</div>
</div>
<div class="box-right-body" v-if="enableEquipment">
<button class="btn deleteElement" @click="removeToolsToShank(selectedTool)"><i class="fa fa-trash"></i></button>
<button class="btn deleteElement" @click="openEditTool(selectedEquipment)"><i class="fa fa-pencil"></i></button>
<div class="box-right-label-header">{{'tooling_shanks_edittoollabel' | localize("Modifica utensile %d del Codolo %d",selectedEquipment.id,selectedTool.id)}}</div>
<div class="list-skill-shanks scrollable">
<div class="list-skill-shanks-category">
<div v-for="ct in selectedTool.childsTools" :key="ct.id" v-if="selectedEquipment == ct" class="skill-shanks-category">
<button class="btn deleteElement" @click="removeToolsToShank(selectedTool)"><i class="fa fa-trash"></i></button>
<button class="btn deleteElement" @click="openEditTool(selectedEquipment)"><i class="fa fa-pencil"></i></button>
<div class="box-right-label-header">{{'tooling_shanks_edittoollabel' | localize("Modifica utensile %d del Codolo %d",selectedEquipment.id,selectedTool.id)}}</div>
<div class="list-skill-shanks scrollable">
<div class="list-skill-shanks-category">
<div v-for="ct in selectedTool.childsTools" :key="ct.id" v-if="selectedEquipment == ct" class="skill-shanks-category">
<input-box v-for="c in childToolsShank" :key="c.name"
v-if="c.name != ''"
v-model="ct[c.name]"
:read-only="c.readOnly || !disableList"
:title="'tooling_equipment_param_' + c.name | localize(c.name)"
:type="c.type">
<option v-for="(s, k) in c.selectValues" :key="k" :selected="ct.toolType" :value="k">{{k}} - {{'tooling_equipment_list_select_' + s | localize(s)}}</option>
</input-box>
<input-box v-for="c in childToolsShank"
:key="c.name"
v-if="c.name != ''"
v-model="ct[c.name]"
:read-only="c.readOnly || !disableList"
:title="'tooling_equipment_param_' + c.name | localize(c.name)"
:type="c.type">
<option v-for="(s, k) in c.selectValues" :key="k" :selected="ct.toolType" :value="k">{{k}} - {{'tooling_equipment_list_select_' + s | localize(s)}}</option>
</input-box>
</div>
</div>
</div>
</div>
<!--<div class="tooling-equipment-footer">
<!--<div class="tooling-equipment-footer">
<button class="btn" v-if="!enableModify" @click="modify()">{{'tooling_equipment_button_modify' | localize("Modifica")}}</button>
<button class="btn" v-if="enableModify" @click="cancel()">{{'tooling_equipment_button_cancel' | localize("Annulla")}}</button>
<button class="btn blue-reverse" v-if="enableModify" @click="buttonSave(selectedTool)">{{'tooling_equipment_button_save' | localize("Salva")}}</button>
</div>-->
</div>
</div>
</div>
</div>
</div>
<!--- OSAI-FANUC Insert new shank-->
<div class="box-right-body" v-if="enableShankCreation && !isSiemens">
<div class="box-right-label-header">{{'tooling_shanks_label_add' | localize("Creazione nuovo shank")}}</div>
<div class="list-skill-equipment scrollable">
<div class="list-skill-equipment-category">
<div class="skill-equipment-category">
<div class="new-tool-id-input-box">
<input-box type="int" :isInvalid="!canAddNewShank" :read-only="useAutoToolId" :title="'tooling_shank_param_id' | localize('Id codolo')" v-model="newShankId"></input-box>
<div class="depot-checkbox">
<input type="checkbox" v-model="useAutoToolId" :min-value="1" @change="useAutoToolIdF()" id="depotCheckbox"/>
<label for="depotCheckbox"></label>
</div>
<label class="depot-checkbox-label">{{'tooling_equipment_auto_checkbox' | localize('Auto')}}</label>
</div>
</div>
</div>
</div>
<div class="tooling-equipment-footer">
<button class="btn" @click="cancel()">{{'tooling_equipment_button_cancel' | localize("Annulla")}}</button>
<button class="btn blue-reverse" :disabled="!canAddNewShank" @click="save(newShankId)">{{'tooling_equipment_button_add' | localize("Aggiungi")}}</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script src="./tooling-shanks.ts" lang="ts"></script>
+2 -2
View File
@@ -159,8 +159,8 @@ export class ToolingService extends baseRestService {
return response;
}
async SetNcShank(model: any){
var response = await this.Post<any>(this.BASE_URL + "nc/shank", model);
async SetNcShank(shankId: any){
var response = await this.Post<any>(this.BASE_URL + "nc/shank/" + shankId, {});
toolingActions.updateNcShank(store, response);
return response;
}