diff --git a/Step.Config/Config/customerContactConfigValidator.xsd b/Step.Config/Config/customerContactConfigValidator.xsd index 22f7bd4e..3d163800 100644 --- a/Step.Config/Config/customerContactConfigValidator.xsd +++ b/Step.Config/Config/customerContactConfigValidator.xsd @@ -1,12 +1,31 @@  - - - - - - - - + + + + + + + + - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Step.Config/Config/maintenancesConfig.xml b/Step.Config/Config/maintenancesConfig.xml index b08ac929..638b649e 100644 --- a/Step.Config/Config/maintenancesConfig.xml +++ b/Step.Config/Config/maintenancesConfig.xml @@ -1,26 +1,24 @@  - - CMS - cms@cms.it - - - - Call Center Assistance + + CMS spa cms.assistance@cms.it +39 0345 64 350 - - - Spare parts + https://www.scmgroup.com/en/cms/customer-care + + + true + SPARE PARTS cms.spares@cms.it +39 0345 64 832 - - + + + true Retrofit cms.retrofit@cms.it +39 0345 64 350 - - www.cms.it + + 1 @@ -39,7 +37,4 @@ 0 - - - \ No newline at end of file diff --git a/Step.Config/Config/maintenancesConfigValidator.xsd b/Step.Config/Config/maintenancesConfigValidator.xsd index fe896df0..87fc9072 100644 --- a/Step.Config/Config/maintenancesConfigValidator.xsd +++ b/Step.Config/Config/maintenancesConfigValidator.xsd @@ -3,11 +3,9 @@ - - - - - + + + @@ -73,9 +71,18 @@ - - - + + + + + + + + + + + + diff --git a/Step.Config/ServerConfig.cs b/Step.Config/ServerConfig.cs index b9081a0e..c79d8c62 100644 --- a/Step.Config/ServerConfig.cs +++ b/Step.Config/ServerConfig.cs @@ -15,10 +15,11 @@ namespace Step.Config public static MachineModel MachineConfig; public static List MaintenancesConfig; public static ContactModel ContactConfig; - public static ContactModel Contact1; - public static ContactModel Contact2; - public static ContactModel Contact3; - public static string WebSiteUrl; + public static ContactModel AuxContact1; + public static ContactModel AuxContact2; + public static string CmsWebsiteUrl; + public static string CmsCompanyName; + public static string ContactInfoError; public static List FunctionsAccessConfig; public static List AllFunctionalityDisabled; diff --git a/Step.Config/ServerConfigController.cs b/Step.Config/ServerConfigController.cs index b1e6dae2..46f024a1 100644 --- a/Step.Config/ServerConfigController.cs +++ b/Step.Config/ServerConfigController.cs @@ -165,7 +165,7 @@ namespace Step.Config ExceptionManager.Manage(ERROR_LEVEL.WARNING, e.Message, true); } else if (e.Severity == XmlSeverityType.Error) - { + { ExceptionManager.Manage(ERROR_LEVEL.FATAL, // "Error while reading file: " + e.Exception.SourceUri + "Error while reading XML file \"" + actualFileName + "\" \n\n" + e.Message, @@ -348,44 +348,6 @@ namespace Step.Config ReadAssistanceConfig(); - Contact2 = xmlConfigFile - .Descendants("contact1") - .Select(x => - new ContactModel() - { - Name = x.Element("name").Value, - Email = x.Element("email").Value, - PhoneNumber = x.Element("phoneNumber").Value - }) - .FirstOrDefault(); - - Contact1 = xmlConfigFile - .Descendants("contact2") - .Select(x => - new ContactModel() - { - Name = x.Element("name").Value, - Email = x.Element("email").Value, - PhoneNumber = x.Element("phoneNumber").Value - }) - .FirstOrDefault(); - - Contact3 = xmlConfigFile - .Descendants("contact3") - .Select(x => - new ContactModel() - { - Name = x.Element("name").Value, - Email = x.Element("email").Value, - PhoneNumber = x.Element("phoneNumber").Value - }) - .FirstOrDefault(); - - WebSiteUrl = xmlConfigFile - .Descendants("webSite") - .Select(x => x.Value) - .FirstOrDefault(); - var ci = new CultureInfo("en-US"); var formats = new[] { "M-d-yyyy HH:mm", "dd-MM-yyyy HH:mm", "MM-dd-yyyy HH:mm", "M/d/yyyy HH:mm", "dd/MM/yyyy HH:mm", "MM/dd/yyyy HH:mm" } .ToArray(); @@ -414,29 +376,95 @@ namespace Step.Config public static void ReadAssistanceConfig() { - string filePath = MAINTENANCES_CONFIG_PATH; - string validator = MAINTENANCES_CONFIG_SCHEMA_PATH; - string key = "assistanceContact"; + + //Read Standard CMS Configuration + XDocument xmlConfigFile = GetXmlHandlerWithValidator(MAINTENANCES_CONFIG_SCHEMA_PATH, MAINTENANCES_CONFIG_PATH, true); + ReadAssistanceConfigFromXml(xmlConfigFile); + + //Setup STD var + CmsWebsiteUrl = ContactConfig.WebSite; + CmsCompanyName = ContactConfig.Company; + } + + public static bool ReadAssistanceCustomConfig() + { + //Read Dealer Configuration if (File.Exists(CUSTOMER_CONTACTS)) { - validator = CUSTOMER_CONTACTS_CONFIG_SCHEMA_PATH; - filePath = CUSTOMER_CONTACTS; - key = "assistanceConfig"; + // Open file reader + XmlDocument xmlContactFile = new XmlDocument(); + xmlContactFile.Load(CUSTOMER_CONTACTS); + + // Create new instance + XmlSchemaSet readerSettings = new XmlSchemaSet(); + + // Add Schema from Assembly + Assembly myAssembly = Assembly.GetExecutingAssembly(); + using (Stream schemaStream = myAssembly.GetManifestResourceStream(CUSTOMER_CONTACTS_CONFIG_SCHEMA_PATH)) + { + using (XmlReader schemaReader = XmlReader.Create(schemaStream)) + { + readerSettings.Add(null, schemaReader); + } + } + + xmlContactFile.Schemas.Add(readerSettings); + + // Validate file + try + { + xmlContactFile.Validate(null); + } + catch (XmlSchemaValidationException) + { + ReadAssistanceConfig(); + return false; + } + ReadAssistanceConfigFromXml(XDocument.Parse(xmlContactFile.OuterXml)); } - - XDocument xmlConfigFile = GetXmlHandlerWithValidator(validator, filePath, true); + return true; + } + + public static void ReadAssistanceConfigFromXml(XDocument xmlConfigFile) + { ContactConfig = xmlConfigFile - .Descendants(key) + .Descendants("MainOffice") .Select(x => new ContactModel() { + Company = x.Element("company").Value, + Email = x.Element("email").Value, + PhoneNumber = x.Element("phoneNumber").Value, + WebSite = x.Element("moreInfoUrl").Value, + }) + .FirstOrDefault(); + + AuxContact1 = xmlConfigFile + .Descendants("AuxOffice1") + .Select(x => + new ContactModel() + { + Visible = Convert.ToBoolean(x.Element("visible").Value), Name = x.Element("name").Value, Email = x.Element("email").Value, PhoneNumber = x.Element("phoneNumber").Value }) .FirstOrDefault(); + + AuxContact2 = xmlConfigFile + .Descendants("AuxOffice2") + .Select(x => + new ContactModel() + { + Visible = Convert.ToBoolean(x.Element("visible").Value), + Name = x.Element("name").Value, + Email = x.Element("email").Value, + PhoneNumber = x.Element("phoneNumber").Value + }) + .FirstOrDefault(); } - + + private static void ReadNcSoftKeys() { XDocument xmlConfigFile = GetXmlHandlerWithValidator(NC_SOFTKEYS_CONFIG_SCHEMA_PATH, NC_SOFTKEYS_CONFIG_PATH); diff --git a/Step.Model/ConfigModels/MaintenanceConfigModel.cs b/Step.Model/ConfigModels/MaintenanceConfigModel.cs index da453b48..9e49f3ed 100644 --- a/Step.Model/ConfigModels/MaintenanceConfigModel.cs +++ b/Step.Model/ConfigModels/MaintenanceConfigModel.cs @@ -18,8 +18,11 @@ namespace Step.Model.ConfigModels public class ContactModel { + public Boolean Visible { get; set; } public string Name { get; set; } + public string Company { get; set; } public string Email { get; set; } public string PhoneNumber { get; set; } + public string WebSite { get; set; } } } \ No newline at end of file diff --git a/Step.Model/Constants.cs b/Step.Model/Constants.cs index 8da20e7f..ae951abe 100644 --- a/Step.Model/Constants.cs +++ b/Step.Model/Constants.cs @@ -172,7 +172,7 @@ namespace Step.Model public const string MAINTENANCES_CONFIG_SCHEMA_PATH = RESOURCE_DIRECTORY + "maintenancesConfigValidator.xsd"; public const string CUSTOMER_CONTACTS_CONFIG_SCHEMA_PATH = RESOURCE_DIRECTORY + "customerContactConfigValidator.xsd"; public const string MAINTENANCES_CONFIG_PATH = CONFIG_DIRECTORY + "maintenancesConfig.xml"; - public const string CUSTOMER_CONTACTS = CMS_FOLDER_PATH + "contact.xml"; + public const string CUSTOMER_CONTACTS = CMS_FOLDER_PATH + "ContactInfo.xml"; public const string USER_SOFTKEYS_CONFIG_SCHEMA_PATH = RESOURCE_DIRECTORY + "userSoftKeyConfigValidator.xsd"; @@ -276,6 +276,7 @@ namespace Step.Model public const string PASSWORD_IS_INVALID = "error_password_is_invalid"; public const string IMPORT_FILE_NOT_VALID = "error_import_file_not_valid"; public const string DUPLICATED_USERNAME = "error_duplicated_username"; + public const string CUSTOMER_FILE_INVALID = "contactinfo_error_customer_configfile"; } // File paths diff --git a/Step.Utils/languages/IT.xml b/Step.Utils/languages/IT.xml index 67adaafb..b0ca8d09 100644 --- a/Step.Utils/languages/IT.xml +++ b/Step.Utils/languages/IT.xml @@ -1,5 +1,5 @@ - + Italiano Effettuare manutenzione @@ -55,9 +55,9 @@ Versione Client Maestro-Active: Formato delle date Maestro-Active: Informazioni di contatto - Nome contatto: - Email: - Telefono: + Nome contatto: + Email: + Telefono: Rpm Utensile Carico @@ -671,4 +671,18 @@ Azzeramento assi in corso... Feed override: Diametro Reale: + La cartella temporanea di CMS-Active è stata modificata da altri software + Elimina tutti i file nella cartella + Backup dei file e pulizia della cartella + Cartella Vuota + Step: + Setup Percorso Auto Adattivo + Codolo: + Codolo: + Informazioni sull'assistenza clienti: + Per maggiori informazioni clicca sul simbolo qui sotto o scansiona il codice con il tuo telefono: + Ricarica dal file + Mostra dati CMS + Apri nel browser + Errore nel file "C:\CMS\ContactInfo.xml" diff --git a/Step.Utils/languages/de.xml b/Step.Utils/languages/de.xml index 6cc17b17..491a15d5 100644 --- a/Step.Utils/languages/de.xml +++ b/Step.Utils/languages/de.xml @@ -1,5 +1,5 @@ - + Deutsch Wartung ausführen @@ -55,9 +55,9 @@ Version Client Maestro-Active: Datenformat Maestro-Active: Kontaktinformation - Kontaktname: - Email: - Telefonnummer: + Kontaktname: + Email: + Telefonnummer: 1/min Werkzeug Last @@ -671,4 +671,15 @@ Achsennullung läuft Feed override: Wirklicher Durchmesser: + Leerer Ordner + Step: + Konfiguration Selbstadaptiver Weg + Schaft: + Schaft: + Kundenbetreuungs-Info: + Für weitere Informationen klicken Sie auf das Symbol unten oder scannen Sie den Code mit Ihrem Telefon: + Aus Datei neu laden + CMS-Daten anzeigen + Im Browser öffnen + Fehler in Datei "C:\CMS\ContactInfo.xml" diff --git a/Step.Utils/languages/el.xml b/Step.Utils/languages/el.xml index d429caee..8edaced9 100644 --- a/Step.Utils/languages/el.xml +++ b/Step.Utils/languages/el.xml @@ -1,5 +1,5 @@ - + Ελληνικά Πραγματοποιήστε συντήρηση @@ -55,9 +55,9 @@ Έκδοση Client Maestro-Active: Μορφή ημερομηνιών Maestro-Active: Στοιχεία επικοινωνίας - Όνομα επικοινωνίας: - Εmail: - Τηλέφωνο: + Όνομα επικοινωνίας: + Εmail: + Τηλέφωνο: Rpm Εργαλείο Φορτίο @@ -670,4 +670,15 @@ Άξονες μηδενισμού σε εξέλιξη ... Αντικατάσταση ροής: Πραγματική διάμετρος: + Αδειος φάκελος + Βήμα: + Ρύθμιση Αυτο-προσαρμοζόμενη διαδρομή + στελέχους: + στελέχους: + Στοιχεία Εξυπηρέτησης Πελατών: + Για περισσότερες πληροφορίες, κάντε κλικ στο παρακάτω σύμβολο ή σαρώστε τον κώδικα με το τηλέφωνό σας: + Επαναφόρτωση από το αρχείο + Εμφάνιση δεδομένων CMS + Ανοιγμα σε πρόγραμμα περιήγησης + Σφάλμα στο αρχείο "C:\CMS\ContactInfo.xml" diff --git a/Step.Utils/languages/en.xml b/Step.Utils/languages/en.xml index 0fc82d3a..f09cb105 100644 --- a/Step.Utils/languages/en.xml +++ b/Step.Utils/languages/en.xml @@ -1,5 +1,5 @@ - + English Maintenance request @@ -55,9 +55,9 @@ Maestro-Active Client Version: Maestro-Active Data Format: Contact Info - Contact Name: - Email: - Phone Number: + Contact Name: + Email: + Phone Number: Rpm Tool Load @@ -212,7 +212,7 @@ The space to load this tools is not enough Loading Tool Unloading Tool - Tranfer Tool + Transfer Tool Tool-Manager Busy An Operation in Tool-Manager is in progress... Magazine %d @@ -671,4 +671,18 @@ Axes zeroing in progress... Feed override: Real diameter: + The temporary folder of CMS-Active has been modified from an external software + Delete all files in folder + Backup of the files and clean the folder + Empty Folder + Step: + Setup Self Adaptive Path + Shank: + Shank: + Customer Care Info: + For more information click on the symbol below or scan it the code with your phone: + Reload from file + Show CMS data + Open In Browser + Error in file "C:\CMS\ContactInfo.xml" diff --git a/Step.Utils/languages/fr.xml b/Step.Utils/languages/fr.xml index bcdb8023..84fef31f 100644 --- a/Step.Utils/languages/fr.xml +++ b/Step.Utils/languages/fr.xml @@ -1,5 +1,5 @@ - + Français Procéder à la maintenance @@ -55,9 +55,9 @@ Version Client Maestro-Active : Format des dates Maestro-Active : Informations de contact - Nom du contact - Email: - Numéro de Téléphone: + Nom du contact + Email: + Numéro de Téléphone: Tpm Outil Charge @@ -671,4 +671,18 @@ Réinitialisation des axes en cours ... Feed override: Diamètre réel: + Le dossier temporaire de CMS-Active a été modifié depuis un logiciel externe. + Supprimer tous les fichiers du dossier + Sauvegarde des fichiers et nettoyer le dossier + Dossier vide + Step: + Configuration du Parcours auto-adaptatif + Queue: + Queue: + Informations sur le service clientèle: + Pour plus d'informations, cliquez sur le symbole ci-dessous ou scannez-le avec votre téléphone: + Recharger du fichier + Afficher les données du CMS + Ouvrir dans le navigateur + Erreur dans le fichier "C:\CMS\ContactInfo.xml" diff --git a/Step.Utils/languages/hr.xml b/Step.Utils/languages/hr.xml index 588fc748..f52ada2a 100644 --- a/Step.Utils/languages/hr.xml +++ b/Step.Utils/languages/hr.xml @@ -1,5 +1,5 @@ - + Hrvatski Izvršiti održavanje @@ -55,9 +55,9 @@ Verzija Client Maestro-Active: Format datuma Maestro-Active: Informacije o kontaktu - Ime kontakta: - E-mail: - Broj telefona: + Ime kontakta: + E-mail: + Broj telefona: Rpm Alat Opterećenje @@ -670,4 +670,15 @@ Osi svesti na ništicu... Feed nadjačati: Stvarni Promjer: + Prazna mapa + Korak: + Postaviti Autoadaptivni put + Drška + Drška + Podaci o korisničkoj službi: + Za više informacija kliknite na simbol ispod ili skenirajte kod sa svojim telefonom: + Učitaj ponovo iz datoteke + Prikaži CMS podatke + Otvori u pretraživaču + Pogreška u datoteci ""C:\CMS\ContactInfo.xml" diff --git a/Step.Utils/languages/nl.xml b/Step.Utils/languages/nl.xml index 6ccd552a..9876b24c 100644 --- a/Step.Utils/languages/nl.xml +++ b/Step.Utils/languages/nl.xml @@ -1,5 +1,5 @@ - + Nederlands Onderhoud uitvoeren @@ -55,9 +55,9 @@ Versie Client Maestro-Active: Formaat data Maestro-Active: Contactinformatie - Naam contact: - E-mail: - Telefoon: + Naam contact: + E-mail: + Telefoon: Rpm Gereedschap Lading @@ -543,7 +543,7 @@ Wijziging onderhoud Productiemanager Active - NB + NC Prod Favoriete softkeys Interp. @@ -671,4 +671,15 @@ Bezig met nulstellen van assen ... Feed negeren: Werkelijke diameter: + Lege folder + Step: + Zelfaanpassend pad instellen + Greep: + Greep: + Klantenservice info: + Klik voor meer informatie op het onderstaande symbool of scan de code met uw telefoon: + Herladen uit bestand + CMS-gegevens weergeven + Open in de browser + Fout in bestand "C:\CMS\ContactInfo.xml" diff --git a/Step.Utils/languages/pl.xml b/Step.Utils/languages/pl.xml index f6e948a6..c6908e07 100644 --- a/Step.Utils/languages/pl.xml +++ b/Step.Utils/languages/pl.xml @@ -1,5 +1,5 @@ - + polski Wykonać konserwację @@ -55,9 +55,9 @@ Wersja Master Client-Active: Format dat Master-Active: Informacje kontaktowe - Nazwisko osoby kontaktowej: - E-mail: - Telefon: + Nazwisko osoby kontaktowej: + E-mail: + Telefon: Rpm Narzędzie Załadunek @@ -671,4 +671,15 @@ Trwa zerowanie osi… Karmić nadpisanie Średnica rzeczywista: + Pusty folder + Krok: + Uruchomienie Procedura autoadaptacyjna + uchwytu: + uchwytu: + Informacje o obsłudze klienta: + Aby uzyskać więcej informacji, kliknij symbol poniżej lub zeskanuj kod za pomocą telefonu: + Załaduj ponownie z pliku + Pokaż dane CMS + Otwórz w przeglądarce + Błąd w pliku „C:\CMS\ContactInfo.xml” diff --git a/Step.Utils/languages/ro.xml b/Step.Utils/languages/ro.xml index a53f69a8..b5696bd2 100644 --- a/Step.Utils/languages/ro.xml +++ b/Step.Utils/languages/ro.xml @@ -1,5 +1,5 @@ - + Română Efectuați întreținerea @@ -55,9 +55,9 @@ Versiunea Client Maestro-Active: Formatul datelor Maestro-Active: Informatii de contact - Nume de contact: - E-mail: - Numar de telefon: + Nume de contact: + E-mail: + Numar de telefon: Rpm Unealtă Încărcare @@ -671,4 +671,15 @@ Axe zero la desfășurare... Înlocuirea hranei: Diametrul reală: + Folder gol + Etapa: + Configurare calea autoadaptivă + Mâner + Mâner + Informații despre îngrijirea clienților: + Pentru mai multe informații, faceți clic pe simbolul de mai jos sau scanați-l codul cu telefonul: + Reîncărcați din fișier + Afișați date CMS + Deschis în browser + Eroare în fișierul "C:\CMS\ContactInfo.xml" diff --git a/Step.Utils/languages/ru.xml b/Step.Utils/languages/ru.xml index 1445753d..f167e593 100644 --- a/Step.Utils/languages/ru.xml +++ b/Step.Utils/languages/ru.xml @@ -1,5 +1,5 @@ - + Русский Выполнить техобслуживание @@ -55,9 +55,9 @@ Версия заказчика Maestro-Active: Формат дат Maestro-Active: Контактная информация - Имя контактного лица: - Email: - Телефон: + Имя контактного лица: + Email: + Телефон: Об.мин. Инструмент Нагрузка @@ -671,4 +671,15 @@ Производится обнуление осей... Переопределение подачи: Фактический диаметр: + Пустая папка + Шаг: + Настройка Самоадаптирующаяся траектория + Xвостовика: + Xвостовика: + Информация по обслуживанию клиентов: + Для получения дополнительной информации нажмите на символ ниже или отсканируйте код с помощью телефона: + Перезагрузить из файла + Показать данные CMS + Открыть в браузере + Ошибка в файле "C:\CMS\ContactInfo.xml" diff --git a/Step.Utils/languages/sv.xml b/Step.Utils/languages/sv.xml new file mode 100644 index 00000000..6b17a0ed --- /dev/null +++ b/Step.Utils/languages/sv.xml @@ -0,0 +1,688 @@ + + + + svenska + Utför underhåll + Tidsfrist: + Det finns en procedur som ska utföras + Det finns %d aktiva larm + Det finns %d aktiva varningar + Process + Användarinställningar + Logga ut + Språk + Annullera + Spara + Användarinloggning + Användarnamn + Lösenord + Logga in + Felaktigt användarnamn + Felaktigt lösenord + Se larmhistorik + Uppdatera alla + Se + Larm + Varning + Status + Återställningsförfarande + Larmupplösning + Starta + Se Bruksanvisningen + Be om hjälp + Uppdatera + Tillbaka till listan + Aktiv + Avlägsnad + Lägg till en bilaga + Maskininformation + Serienummer: + Installationsdatum: + Modell Cn: + Nr. Serienummer Cn: + Version av fast programvara Cn: + PLC-version: + Valt språk Cn: + Antal Cn-processer: + Tidstämpel Cn: + Måttenhet Cn: + CMS-Active serverversion: + Core CMS-version aktiv: + Klientversion CMS-Active: + Format för CMS-Active-datum: + Maestro-Active serverversion: + Core Maestro-Active version: + Klientversion Maestro-Active: + Format för Maestro-Active-datum: + Kontaktinformation + Kontaktnamn: + E-post: + Telefon: + Varv/min. + Verktyg + Laddad + MPa + Slipeffekt + v/min. + Tom + bar + Hastighet + Axel: + Ökning: + Generiska softkeys + Spärrar/tomma zoner + Aggregat/kylenheter + Arbetsläge + Lansering av procedurer/användarprogram + Verktyg och skydd + Lastad/avlastad + Är du säker? + Bekräfta + Annullera + valda objekt + Avsluta val + Dölj fönstret + Meddelande från processen %d + Värde: + Externt verktyg och programvara + Drift inte möjlig + Avsluta pågående operationer innan du använder andra applikationer + Är du säker på att du vill stänga Active? + Åtgärd inte möjlig + Avsluta pågående operationer innan du stänger Active + Nc-data + Nc-processer + Larm + Axlar + Byte-minne + Program + Magasin + Familjer/skaft + Verktyg + Maskin + Parametrar + Program + Prog. Chef + Diagnostik + Driftsättning + Pos + Prog. + Ofst + Sys + Msg + Mgi + Verktygsansvarig + Magasin + Spindel + Verktyg + Skaft + Multiverktyg + Handkonfiguration + Familjer + Verktygsgrupper + Verktygshantering + Magasinutrustning: + Steg autoadaptiv bana + Exportera verktyg + Importera verktyg + Verktyg och konfigurationer: + Välj ett verktyg: + Skapa ett nytt verktyg + Ändra + Annullera + Spara + Lägg till + Offset + Vass + Nytt offset + Nytt skärblad + Parametrar + Verktygsmodifiering nr. %d + Skapa ett nytt verktyg + Offsetmodifiering nr. %d + Ändra skärblad nr. %d + Skapa nytt skärblad + Associering av ny Offset + Hantering av skaft + Välj ett skaft: + Skapa ett nytt skaft + Skaft %d + Multiverktygshantering + Välj ett multiverktyg: + Skapa ett nytt multiverktyg + Multiverktyg %d + Verktyg %d + Nytt verktyg + Skaftbyte nr. %d + Multiverktygsmodifiering nr. %d + Välj det verktyg som ska läggas till på skaftet + Välj det verktyg som ska läggas till i multiverktyget + Skapa ett nytt skaft + Skapa nytt multiverktyg + Verktygsmodifiering %d av skaft %d + Verktygsmodifiering %d av multiverktyget %d + Hantering av magasinets händer + Välj en hand: + Pos + Magasin + Ändra position nr. %d i magasinet %s + Familjhantering + Verktygsgruppshantering + Välj en familj: + Välj en grupp: + Ändra familj %s + Skapa en ny familj + Ändra grupp %s + Skapa en ny grupp + Verktyg %d + Duplo %d + Verktygsmodifierng %d av familj %s + Verktygsmodifiering %d av grupp %s + Sök ett verktyg efter ID + Sök ett verktyg efter namn + Leta efter ett skaft för ID + Sök ett multiverktyg efter namn + Sök efter en hand enligt ID + Sök efter en familj efter namn + Sök en verktygsgrupp efter namn + MA%d + S%d + T%d + ST%d + M%d + F%d + P%d + Avsluta ändringar + Ändra + Visa verktygsstatus + Välj ett verktyg och dra det till motsvarande position + Sök ett verktyg efter namn + Plats tillgänglig + Ladda verktyg + Välj det verktyg som ska laddas + Verktyg + Annullera + Laddad + Ändra verktyg + Slutför magasinladdningen för att ändra verktyget + Position + ID offset + Offset %d + Skapa en ny familj + Utrymme för litet för att ladda det här verktyget + Laddning av verktyg + Lasta av verktyg + Verktygsöverföring + Upptagen verktygshanterare + En åtgärd blockerar verktygshanteraren... + Magasin %d + Pos. %d + Allmänna: + Grupp - Verktyg: + Familj: + Verktygets status: + Kylvätska: + Serie inverter: + Magasin: + Spindel: + Livslängd: + Geometri: + Allmänna: + CMS-parametrar: + Skaftets status: + Multiverktygets status: + Magasin: + Allmänna: + Allmänna: + Serie inverter: + Magasin: + Verktygets status: + Offset: + Rfid: + Typ av önskad position: + Position: + Dynamisk kompensation: + TCP-tabell: + Kylvätska: + Gränser: + Autoadaptiv bana: + Livslängd: + Återskruvning: + Gränser: + Återskruvning: + Dynamisk kompensation: + TCP-tabell: + Autoadaptiv bana: + Användar-ID + Verktygstyp + Livslängdstyp + Namn + Namn + ID son + Multiverktyg ID + Verktyg Aktiverad + Verktyg Aktiv + Verktyg Blockerad + Verktyg I fast pos. + Verktyg Uppmätt + Verktyg i CU + Verktyg som används + Verktyg i förlarm + Huvudkylning + Kylning 1 + Kylning 2 + Kylning 3 + Kylning 4 + Kylning 5 + Kylning 6 + Kylning 7 + Typ av hand + Mått vänster + Mått höger + Typ av rotation + Maximal hastighet + Maximal acceleration + ID mag. + Position + Typ + Mekanisk typ + Inaktiverad + Position + ID skaft + ID familj + Offset längd + Resterande livslängd + Verktyg inaktiverat + Trasigt verktyg + Verktyg Uppmätt + Rotation medurs + Rotation moturs + ID offset 1 + ID offset 2 + ID offset 3 + ID tabell - associerad TCP + Serie inverter + Typ av rotation + Maximal last som är möjlig + Last - min. autoadaptiv bana + Last - max. autoadaptiv bana + Dynamisk kompensation + Last - min. dynamisk kompensation + Last - max. dynamisk kompensation + Nominell livslängd + Δ Återskruvning verktyg + Rfid ID verktyg + ID mMagasin + Position + Auto + Namn + ID familj + Verktygstyp + Verktygstyp CMS + Mått vänster + Mått höger + Serie inverter + Typ av rotation + ID tabell - associerad TCP + Maximal hastighet + Max. last + Max. last + Min. last + Max. last + Verktygsslitage koefficient + Min. last + Max. last + Livslängdstyp + Nominell livslängd + Δ Återskruvning verktyg + Skärblad ID + ID offset + Måttenhet + Resterande livslängd + Nominell livslängd + Förlarmets gräns + Typ av skärblad + Längd + Längd + Radie + Slitagelängd + Slitagelängd + Slitageradie + Slitagediameter + Antal kuggar + Radie vinkelanslutning + Verktygsgeometrins längd 1 + Verktygsgeometrins längd 2 + Verktygsgeometrins längd 3 + Δ Verktygslängd 1 + Δ Verktygslängd 2 + Δ Verktygslängd 3 + Längd adapter 1 + Längd adapter 2 + Längd adapter 3 + V + Vektor 1 + Vektor 2 + Vektor 3 + Yttre radie + Verktygsvinkel + Bredd + Konvinkel + Spetsvinkel + Axelavstånd + Diameter + Öppningens bredd + Överskott + Slitagelängd 1 + Slitagelängd 2 + Slitagelängd 3 + Slitage på öppningens bredd + För mycket slitage + Korrigeringsvinkel + Armens längd + Sfärens radie + Reell radie + Reell längd: + Inget val + Generisk + På Tid + A Räknare + A Avstånd + Enligt slitage + Rot. Timbaserad + Rot. Moturs + Alla rotationsriktningar + Verktyg för fräsning + Fräs cyl.huvud sfär. + Fräs kon.huvud sfär. + Skaftfräs + Fräs skaft, hörn avrund. + Fräs vinkelhuvud + Fräs vink. hörn avrund. + Utjämningsfräs + Gängningsfräs + Skivfräs + Såg + Fräs konstomme + Fräs konstomme, avr. hörn + Konisk fräs för form + Fräs borrn./gängn. + Spiralformad spets + Dörr lev. från full + Bareno + Centreringsenhet + Konisk försänkare + Platt försänkare + Hanenhet + Hangängning slut + Hangängning WW + Fräs + Stenbrottsåg + Sond 3D-mått + Hörnsond + Monosond + L-sond + Stjärnsond + Kalibreringsverktyg + Anslag + Hjälpverktyg + Lägg till en ny familj + Tillgängliga familjer: + Hand i magasin + Spindel + Tång + Lastare + Överföringsposition + Laddningsstation + Laddningsplats + Vinkelöverföring + Skiva + Kniv 50 %% + Kniv 70 %% + Kniv 80 %% + Blad 1 + Blad 2 + Blad 3 + Blad 4 + Blad 5 + Blad 6 + Blad 7 + Blad ⌀300 + Blad ⌀400 + Blad ⌀500 + Radiosond 1 - Mottagare 1 + Radiosond 2 - Mottagare 1 + Radiosond 3 - Mottagare 1 + Radiosond 4 - Mottagare 1 + Radiosond 1 - Mottagare 2 + Radiosond 2 - Mottagare 2 + Radiosond 3 - Mottagare 2 + Radiosond 4 - Mottagare 2 + Amplitud ultraljudsskiva 15 %% + Amplitud ultraljudsskiva 20 %% + Amplitud ultraljudsskiva 30 %% + Amplitud ultraljudsdisk 40 %% + Amplitud ultraljudsskiva 50 %% + Amplitud ultraljudsskiva 60 %% + Amplitud ultraljudsskiva 70 %% + Amplitud ultraljudsdisk 80 %% + Amplitud ultraljudsskiva 90 %% + Amplitud ultraljudsskiva 100 %% + Amplitud ultraljudsblad 10 %% + Amplitud ultraljudsblad 20 %% + Amplitud ultraljudsblad 30 %% + Amplitud ultraljudsblad 40 %% + Amplitud ultraljudsblad 50 %% + Amplitud ultraljudsblad 60 %% + Amplitud ultraljudsblad 70 %% + Amplitud ultraljudsblad 80 %% + Amplitud ultraljudsblad 90 %% + Amplitud ultraljudsblad 100 %% + Begäran om Bekräftelse + Ok + Annullera + Är du säker på att du vill ta bort verktyget? + Är du säker på att du vill avbryta det valda underhållet + Är du säker på att du vill ta bort anteckningen? + Är du säker på att du vill ta bort den här bilagan? + Är du säker på att du vill ta bort skärverktyget? + Är du säker på att du vill ta bort skaftet? + Är du säker på att du vill ta bort multiverktyget? + Är du säker på att du vill lossa verktyget från skaftet? + Är du säker på att du vill ta bort verktyget från multiverktyget? + Är du säker på att du vill ta bort alla larm? + Är du säker på att du har utfört detta underhåll? + Är du säker på att du vill ta bort familjen? + Underhållsansvarig + Spara + Visa alla filer + Visa bara de senaste filerna + Lägg till en fil + Visa alla anteckningar + Visa endast de sista anteckningarna + Markera som utförd + Sök efter underhåll efter namn + Namn på underhållet... + Status + Skapa ett underhållsingrepp + Välj underhåll... + Förfallen + Stängd + Ej förfallen + Förfaller snart + Räknare + Tidsfrist + Status + Titel + Tillägg den %s klockan %s + Radera + Spara + Inget underhållsingrepp utförs + Senaste åtgärden utfördes för några minuter sedan, från: %s + Senaste ingreppet genomfördes för %d timmar sedan, från: %s + Senaste ingreppet genomfördes för %d dagar sedan, från: %s + Senaste ingreppet genomfördes den: %s, från: %s + Underhåll skapat den %s klockan %s + Bilagor + Anmärkningar + Skapa underhållsingrepp + Titel + Annullera + Datum + Beskrivning + Timme + Typ + Upprepa varje + Dagar + Timmar + Minuter + Månader + Fast datum + Åskväder + Underhållspunkter + Ändra underhåll + Produktionsansvarig + Aktiv + NC + Prod + Favorit softkeys + Interp. + Absol. + To-Go + Prog. + Snabb: + Arbete: + Reell längd: + Reell radie: + Reell diameter: + Aktivt ursprung: + Aktiv korrigering: + Aktiv skärkant: + ISO-linjer: + Meddelande: + Välj ett program + Välj Auto-läge för att köra ett program + Val pågår + Gå till valet + Program-Lastare + Välj ett program + Laddad och aktiv + Aktiv + Sök ett program efter namn + Datum för skapande: + Datum för sen. ändr.: + Förhandsgranskning inte tillgänglig + Ladda upp alla filer i den valda mappen + Laddning + Filen har ändrats + NC + PLC + Larmhistorikhanterare + Filtrera larm efter titel + Titel... + Källa + Datumintervall + Användare + Källa + Titel + Datum + Användare + Välj ett larm... + Ingen användare + Ändra användare + Namn + Efternamn + Lösenord + Användarnamn + Lägg till + Ändra + Annullera + Lösenorden måste vara olika + Aktuellt lösenord + Nytt lösenord + Ändra lösenord: %s + Ändra roll %s + Är du säker på att du vill ta bort användaren? + Lägg till en ny användare + Användarhanterare + Filtrera användare efter användarnamn + Användarnamn... + Avatar + Användarnamn + Namn + Efternamn + Språk + Roll + Produktionschef + Verktygshanterare + Maskinunderhållschef + Larmhistorik + Rapport och maskinstatus + Externa verktyg och programvaror + Scada-sidor + Stänger/öppnar området under motorhuven + Jobbredigerare + Användarhanterare + Stäng CMS-Aktiv + Minimera CMS-Aktiv + Visa maskinhjälp + Visa maskininformation + Visa användarinformation + Öppnar/stänger listan över underhållsåtgärder som löpt ut + Stänger området under motorhuven + Stänger området under motorhuven + CN i felläge. Öppnar/stänger listan över larm + CN väntar på kommandon + CN utför nu kommandon + Processinformation + Maskinenheter inte OK + Maskin igång + Maskinen är inte redo att arbeta + Maskin redo att arbeta + Nedtryckta nödstoppsknappar + Nyckel inte isatt + Axlar som inte är strömsatta + Säkerhetsskydd inte OK + Aktivt inställningsläge + Tryckluft inte OK + Nödvändig axelåterställning + Slipmedel som används + Aktivt huvud + Aktuell last + Aktuellt tryck + Huvudets namn + Procentandel av åsidosättande + Minska åsidosättningen + Öka åsidosättningen + Aktuell hastighet + ID monterat verktyg + Tom på huvudet + Cn behandlar huvudets ägare + Välj processen %d + Delprogram + Makro CMS + Text + Paus + Fördröjning + Ursprung + Programslut + Är du säker på att du vill lasta av verktyget? + Nollställning axlar + Axlarnas nollställning pågår... + Åsidosättande matning: + Reell diameter: + Den tillfälliga mappen för CMS-Active har ändrats av annan programvara + Ta bort alla filer i mappen + Filbackup och mappstädning + Tom mapp + Steg: + Inställning av automatiskt adaptiv bana + Skaft: + Skaft: + Kundvårdsinformation: + För mer information klicka på symbolen nedan eller skanna den koden med din telefon: + Ladda om från filen + Visa CMS-data + Öppna i webbläsaren + Fel i filen "C:\CMS\ContactInfo.xml" + diff --git a/Step/Controllers/WebApi/ConfigurationController.cs b/Step/Controllers/WebApi/ConfigurationController.cs index 141ffd33..92ae3b8c 100644 --- a/Step/Controllers/WebApi/ConfigurationController.cs +++ b/Step/Controllers/WebApi/ConfigurationController.cs @@ -141,14 +141,21 @@ namespace Step.Controllers.WebApi [Route("contact"), HttpGet] public IHttpActionResult GetContact() - { - return Ok(new { - ContactConfig, - Contact1, - Contact3, - Contact2, - WebSiteUrl - }); + { + if (!Config.ServerConfigController.ReadAssistanceCustomConfig()) + ContactInfoError = Model.Constants.API_ERROR_KEYS.CUSTOMER_FILE_INVALID; + else + ContactInfoError = ""; + + return Ok(new + { + ContactConfig, + AuxContact1, + AuxContact2, + CmsWebsiteUrl, + CmsCompanyName, + ContactInfoError + }); } } } \ No newline at end of file diff --git a/Step/wwwroot/assets/styles/base/modals.less b/Step/wwwroot/assets/styles/base/modals.less index 4dc389f7..c2aa9cbb 100644 --- a/Step/wwwroot/assets/styles/base/modals.less +++ b/Step/wwwroot/assets/styles/base/modals.less @@ -46,7 +46,7 @@ @modal-machine-width: 600px; @modal-machine-top: @modal-machine-height / 2; @modal-machine-left: @modal-machine-width / 2; -@modal-contact-height: 730px; +@modal-contact-height: 750px; @modal-contact-width: 600px; @modal-machine-top: @modal-contact-height / 2; @modal-machine-left: @modal-contact-width / 2; @@ -602,7 +602,55 @@ height: @modal-contact-height; top: calc(~"50%" - @modal-contact-height / 2); left: calc(~"50%" - @modal-contact-width / 2); + .body{ + position: relative; + overflow: auto; + } + .loading{ + display: flex; + align-items: center; + position: absolute; + top: 0px; + left: 0px; + right: 0px; + bottom: 0px; + height: 100%; + line-height: 100%; + background-color: #ffffff; + font-size: 5em; + color: #4b4b4b; + justify-content: center; + z-index: 100; + } + .error{ + display: flex; + flex-flow: column; + align-items: center; + position: absolute; + top: 0px; + left: 0px; + right: 0px; + bottom: 0px; + height: 100%; + line-height: 100%; + background-color: #ffffff; + color: #4b4b4b; + justify-content: center; + z-index: 99; + .icon{ + font-size: 5em; + margin-bottom: 15px; + } + .msg{ + font-weight: bold; + margin-bottom: 25px; + } + .btn{ + width: 200px; + margin-bottom: 15px; + } + } .persona{ margin-bottom: 18px; margin-top: 10px; @@ -625,11 +673,13 @@ margin-bottom: 40px; } .scanLabel{ - text-align: center; font-size: 0.8em; margin-bottom: 17px; color: #002680; font-weight: bold; + width: 90%; + margin-left: auto; + margin-right: auto; } .buttonContainer{ margin-top: 30px; @@ -639,6 +689,7 @@ flex-direction: row; justify-content: space-around; color: #4b4b4b; + margin-bottom: 10px; .firstColumn{ width: auto; @@ -646,6 +697,7 @@ flex-flow: column; align-items: center; justify-content: center; + position: relative; } .secondColumn{ width: auto; @@ -662,6 +714,18 @@ margin-top: 20px; height: 360px; } + .hoverqr{ + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(217, 217, 217, 0.8); + display: flex; + justify-content: center; + align-items: center; + } + .qrcode{ box-shadow: 0 0px 2px 0 rgba(0, 0, 0, 0.4); border-radius: 2px; @@ -698,6 +762,7 @@ height: auto; margin: auto; margin-bottom: auto; + -webkit-user-drag: none; } } @@ -737,12 +802,7 @@ width: 100%; } .btn { - width: 300px; - max-width: 300px; - max-height: 300px; margin: 0 auto; - display: block; - margin-bottom: 15px; } } diff --git a/Step/wwwroot/assets/styles/style.css b/Step/wwwroot/assets/styles/style.css index 31fbfe4e..ad0a4eb0 100644 --- a/Step/wwwroot/assets/styles/style.css +++ b/Step/wwwroot/assets/styles/style.css @@ -516,10 +516,58 @@ } .modal.contact-info { width: 600px; - height: 730px; - top: calc(50% - 730px / 2); + height: 750px; + top: calc(50% - 750px / 2); left: calc(50% - 600px / 2); } +.modal.contact-info .body { + position: relative; + overflow: auto; +} +.modal.contact-info .loading { + display: flex; + align-items: center; + position: absolute; + top: 0px; + left: 0px; + right: 0px; + bottom: 0px; + height: 100%; + line-height: 100%; + background-color: #ffffff; + font-size: 5em; + color: #4b4b4b; + justify-content: center; + z-index: 100; +} +.modal.contact-info .error { + display: flex; + flex-flow: column; + align-items: center; + position: absolute; + top: 0px; + left: 0px; + right: 0px; + bottom: 0px; + height: 100%; + line-height: 100%; + background-color: #ffffff; + color: #4b4b4b; + justify-content: center; + z-index: 99; +} +.modal.contact-info .error .icon { + font-size: 5em; + margin-bottom: 15px; +} +.modal.contact-info .error .msg { + font-weight: bold; + margin-bottom: 25px; +} +.modal.contact-info .error .btn { + width: 200px; + margin-bottom: 15px; +} .modal.contact-info .persona { margin-bottom: 18px; margin-top: 10px; @@ -542,11 +590,13 @@ margin-bottom: 40px; } .modal.contact-info .scanLabel { - text-align: center; font-size: 0.8em; margin-bottom: 17px; color: #002680; font-weight: bold; + width: 90%; + margin-left: auto; + margin-right: auto; } .modal.contact-info .buttonContainer { margin-top: 30px; @@ -556,6 +606,7 @@ flex-direction: row; justify-content: space-around; color: #4b4b4b; + margin-bottom: 10px; } .modal.contact-info .contactSuperContainer .firstColumn { width: auto; @@ -563,6 +614,7 @@ flex-flow: column; align-items: center; justify-content: center; + position: relative; } .modal.contact-info .contactSuperContainer .secondColumn { width: auto; @@ -578,6 +630,17 @@ margin-top: 20px; height: 360px; } +.modal.contact-info .hoverqr { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(217, 217, 217, 0.8); + display: flex; + justify-content: center; + align-items: center; +} .modal.contact-info .qrcode { box-shadow: 0 0px 2px 0 rgba(0, 0, 0, 0.4); border-radius: 2px; @@ -613,6 +676,7 @@ height: auto; margin: auto; margin-bottom: auto; + -webkit-user-drag: none; } .modal.contact-info .details { text-align: center; @@ -649,12 +713,7 @@ width: 100%; } .modal.contact-info .btn { - width: 300px; - max-width: 300px; - max-height: 300px; margin: 0 auto; - display: block; - margin-bottom: 15px; } .modal.self-adaptive { width: 750px; diff --git a/Step/wwwroot/src/app_modules/machine/components/contact-info-dialog.ts b/Step/wwwroot/src/app_modules/machine/components/contact-info-dialog.ts index 7398f6f3..3ef9c43f 100644 --- a/Step/wwwroot/src/app_modules/machine/components/contact-info-dialog.ts +++ b/Step/wwwroot/src/app_modules/machine/components/contact-info-dialog.ts @@ -9,65 +9,95 @@ declare var cmsClient: any; @Component({ components: { modal: Modal } }) export default class ContactInfoDialog extends Vue { - public contactInfo: ContactModel = { - name:"", - phoneNumber: "", - email: "" - }; - public contacts: ContactModel[] = [] - public webSiteUrl: string = "" - image = ''; - image2 = ''; + contactInfo: ContactModel = {visible: false,name: null,company: null,email: null,phoneNumber: null,webSite: null}; + auxContact1: ContactModel = {visible: false,name: null,company: null,email: null,phoneNumber: null,webSite: null}; + auxContact2: ContactModel = {visible: false,name: null,company: null,email: null,phoneNumber: null,webSite: null}; + cmsCompanyName: string = "" + cmsWebsiteUrl: string = "" + vendorWebsiteUrl: string = "" - async beforeMount() { - var contact = await awaiter(new machineService().getContactConfiguration()); - this.contactInfo = contact.contactConfig - if(contact.contact1 && contact.contact1.name) - this.contacts.push(contact.contact1); - if(contact.contact2 && contact.contact2.name) - this.contacts.push(contact.contact2); - if(contact.contact3 && contact.contact3.name) - this.contacts.push(contact.contact3); + onloading: boolean = false; + onError: boolean = false; + error: string = "" - this.webSiteUrl = contact.webSiteUrl; + imageQRcms = ''; + imageQRvendor = ''; + hoverQRcms = false; + hoverQRvendor = false; + + opts = { + errorCorrectionLevel: 'H', + type: 'image/png', + quality: 1, + margin: 1, + width: 100, + color: { + dark:"#000000ff", + light:"#FFFFFF00" + } + } + + mounted(){ + + this.loadInfo(); messageService.subscribeToChannel("esc_pressed", args => { this.close(); - }); + }); } + async loadInfo(){ - mounted(){ - var opts = { - errorCorrectionLevel: 'H', - type: 'image/png', - quality: 1, - margin: 1, - width: 100, - color: { - dark:"#000000ff", - light:"#FFFFFF00" + //Set LOADING... + this.onloading = true; + this.onError = false; + + //Get Info from API + try { + var contactResult = await awaiter(new machineService().getContactConfiguration()); + if(contactResult.contactInfoError && contactResult.contactInfoError!=''){ + this.onloading = false; + this.onError = true; + this.error = contactResult.contactInfoError; } + } catch (e) { + this.onloading = false; + this.onError = true; + this.error = e.data.message; + return; } - QRCode.toDataURL('https://www.cms-steintechnik.de/',opts) - .then(url => { - this.image = url; - }) - .catch(err => { - console.error(err) - }) - QRCode.toDataURL('https://www.scmgroup.com/it/cms/customer-care',opts) - .then(url => { - this.image2 = url; - }) - .catch(err => { - console.error(err) - }) - - + //Setup Info + this.contactInfo = contactResult.contactConfig; + this.auxContact1 = contactResult.auxContact1; + this.auxContact2 = contactResult.auxContact2; + this.cmsCompanyName = contactResult.cmsCompanyName; + //Setup Weburl + this.cmsWebsiteUrl = contactResult.cmsWebsiteUrl; + this.vendorWebsiteUrl = contactResult.contactConfig.webSite; + if(this.cmsWebsiteUrl == this.vendorWebsiteUrl) + this.cmsWebsiteUrl = null; + + //Setup QRCode + try { + if(this.cmsWebsiteUrl) + this.imageQRcms = await QRCode.toDataURL(this.cmsWebsiteUrl,this.opts); + } catch (e) { + alert("Error during CMS QR-Code generation"); + } + + //Setup QRCode + try { + if(this.vendorWebsiteUrl) + this.imageQRvendor = await QRCode.toDataURL(this.vendorWebsiteUrl,this.opts); + } catch (e) { + alert("Error during Dealer QR-Code generation"); + } + + //Set LOADING... + this.onloading = false; } beforeDestroy() { @@ -79,8 +109,41 @@ export default class ContactInfoDialog extends Vue { ModalHelper.HideModal(); } - openContactPage() { - cmsClient.openExternalBrowser(this.webSiteUrl) + openCmsContactPage() { + if(this.cmsWebsiteUrl) + cmsClient.openExternalBrowser(this.cmsWebsiteUrl) } + + openVendorContactPage() { + if(this.vendorWebsiteUrl) + cmsClient.openExternalBrowser(this.vendorWebsiteUrl) + } + + hoverQrCmsFunc(status){ + this.hoverQRcms = status; + } + + hoverQrVendorFunc(status){ + this.hoverQRvendor = status; + } + + fieldVisible(param){ + return (param && param!='') + } + + fieldMandatory(param, replace){ + if(!param) + return replace + return param + } + + async reloadData(){ + this.loadInfo(); + } + + async HideError(){ + this.onError = false; + } + } diff --git a/Step/wwwroot/src/app_modules/machine/components/contact-info-dialog.vue b/Step/wwwroot/src/app_modules/machine/components/contact-info-dialog.vue index 208d5683..17cba387 100644 --- a/Step/wwwroot/src/app_modules/machine/components/contact-info-dialog.vue +++ b/Step/wwwroot/src/app_modules/machine/components/contact-info-dialog.vue @@ -1,41 +1,65 @@