Fix shanks
Osai: on startup check directory
This commit is contained in:
Binary file not shown.
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user