This commit is contained in:
Paolo Possanzini
2018-02-16 17:27:56 +01:00
parent 1bc91c7879
commit 85b2ef9e43
17 changed files with 654 additions and 307 deletions
+2 -2
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/>
</startup>
</configuration>
</configuration>
+1 -1
View File
@@ -8,7 +8,7 @@
<OutputType>WinExe</OutputType>
<RootNamespace>CMS_Client</RootNamespace>
<AssemblyName>CMS_Client</AssemblyName>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<NuGetPackageImportStamp>
+17 -17
View File
@@ -1,10 +1,10 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Il codice è stato generato da uno strumento.
// Versione runtime:4.0.30319.42000
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Le modifiche apportate a questo file possono provocare un comportamento non corretto e andranno perse se
// il codice viene rigenerato.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
@@ -13,13 +13,13 @@ namespace CMS_Client.Properties {
/// <summary>
/// Classe di risorse fortemente tipizzata per la ricerca di stringhe localizzate e così via.
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// Questa classe è stata generata automaticamente dalla classe StronglyTypedResourceBuilder.
// tramite uno strumento quale ResGen o Visual Studio.
// Per aggiungere o rimuovere un membro, modificare il file con estensione ResX ed eseguire nuovamente ResGen
// con l'opzione /str oppure ricompilare il progetto VS.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
@@ -33,7 +33,7 @@ namespace CMS_Client.Properties {
}
/// <summary>
/// Restituisce l'istanza di ResourceManager nella cache utilizzata da questa classe.
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
@@ -47,8 +47,8 @@ namespace CMS_Client.Properties {
}
/// <summary>
/// Esegue l'override della proprietà CurrentUICulture del thread corrente per tutte le
/// ricerche di risorse eseguite utilizzando questa classe di risorse fortemente tipizzata.
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
@@ -61,7 +61,7 @@ namespace CMS_Client.Properties {
}
/// <summary>
/// Cerca una risorsa localizzata di tipo System.Drawing.Icon simile a (Icona).
/// Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
/// </summary>
internal static System.Drawing.Icon Client_Icon {
get {
@@ -71,7 +71,7 @@ namespace CMS_Client.Properties {
}
/// <summary>
/// Cerca una risorsa localizzata di tipo System.Drawing.Icon simile a (Icona).
/// Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
/// </summary>
internal static System.Drawing.Icon CMS_Icon {
get {
@@ -81,7 +81,7 @@ namespace CMS_Client.Properties {
}
/// <summary>
/// Cerca una risorsa localizzata di tipo System.Drawing.Bitmap.
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap CMS_LOGO {
get {
@@ -91,7 +91,7 @@ namespace CMS_Client.Properties {
}
/// <summary>
/// Cerca una risorsa localizzata di tipo System.Drawing.Icon simile a (Icona).
/// Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
/// </summary>
internal static System.Drawing.Icon SinumerikHmi {
get {
+5 -5
View File
@@ -1,10 +1,10 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Il codice è stato generato da uno strumento.
// Versione runtime:4.0.30319.42000
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Le modifiche apportate a questo file possono provocare un comportamento non corretto e andranno perse se
// il codice viene rigenerato.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
@@ -12,7 +12,7 @@ namespace CMS_Client.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.3.0.0")]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.1.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
@@ -7,12 +7,23 @@
@color-apple-green:#7ed321;
@color-black-40: rgba(0,0,0,0.4);
@color-black-50: rgba(0,0,0,0.5);
@color-background-white: #fff;
@color-white2: #f1f1f1;
@color-whitetwo: #f8f8f8;
@color-white3: #dfdfdf;
@color-silver: #bbbcbc;
@color-nice-blue: #1756ad;
@color-backdrop: rgba(217, 217, 217, 0.5);
@color-darkish-blue: #002680;
@color-darkish-blue-two: #004990;
@color-clear-blue: #1791ff;
@color-white: #fff;
@color-input-light: #4b4b4b;
+104
View File
@@ -0,0 +1,104 @@
// out: false, sourceMap: false, main: ../style.less
@import "colors.less";
.keypad {
width: 320px;
height: 416px;
border-radius: 2px;
background-color: @color-silver;
box-shadow: 2px 10px 15px 0 @color-black-40;
position: relative;
header {
height: 64px;
width: 100%;
background-color: #fff;
box-shadow: 0 1px 2px 0 @color-black-40;
display: flex;
align-items: center;
justify-content: space-between;
&>i {
width: 20px;
font-size: 32px;
margin: 0 5px;
color: @color-blue;
text-align: center;
}
span {
text-align: left;
flex-grow: 2;
text-transform: capitalize;
color: @color-greyish-brown;
font-weight: 600;
}
button {
background: none;
border: none;
margin-right: 8px;
i {
font-size: 32px;
color: @color-blue;
text-align: center;
}
}
}
.body {
display: flex;
flex-flow: column;
align-items: center;
height: calc(~"100% - 64px");
.display {
display: flex;
align-items: center;
justify-content: center;
margin-top: 23px;
margin-bottom: 25px;
height: 48px;
button {
width: 48px;
height: 48px;
margin: 0 !important;
border: none;
padding: 0 !important;
font-size: 18px !important;
font-weight: normal !important;
line-height: 48px;
}
input {
width: calc(~"144px - 40px");
height: 48px;
border-radius: 2px;
background-color: @color-whitetwo;
box-shadow: inset 0 1px 3px 0 @color-black-50;
border: solid 1px @color-white3;
padding: 0 20px;
text-align: right;
font-size: 18px;
color: @color-greyish-brown;
}
}
.buttons {
height: calc(~"100% - 96px");
width: 256px;
border-spacing: 8px;
margin: -8px;
td {
width: 25%;
}
button {
padding: 0;
width: 100%;
height: 100%;
border: none;
margin: 0 !important;
font-size: 18px !important;
font-weight: normal !important;
&.blue {
background-image: linear-gradient(to bottom, @color-nice-blue, @color-darkish-blue);
color: #ffffff;
}
&.rotate-90 i {
transform: rotate(90deg);
}
}
}
}
}
@@ -11,6 +11,8 @@
@import "process-info.less";
@import "alarms.less";
@import "nc.less";
@import "keypad.less";
@background-color: rgb(216, 216, 216);
@handle-width: 48px;
@handle-height: 32px;
+102
View File
@@ -1258,6 +1258,108 @@ footer .container button:not([disabled]).big:before {
height: 64px;
background-color: #4e585e;
}
.keypad {
width: 320px;
height: 416px;
border-radius: 2px;
background-color: #bbbcbc;
box-shadow: 2px 10px 15px 0 rgba(0, 0, 0, 0.4);
position: relative;
}
.keypad header {
height: 64px;
width: 100%;
background-color: #fff;
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.4);
display: flex;
align-items: center;
justify-content: space-between;
}
.keypad header > i {
width: 20px;
font-size: 32px;
margin: 0 5px;
color: #002680;
text-align: center;
}
.keypad header span {
text-align: left;
flex-grow: 2;
text-transform: capitalize;
color: #4b4b4b;
font-weight: 600;
}
.keypad header button {
background: none;
border: none;
margin-right: 8px;
}
.keypad header button i {
font-size: 32px;
color: #002680;
text-align: center;
}
.keypad .body {
display: flex;
flex-flow: column;
align-items: center;
height: calc(100% - 64px);
}
.keypad .body .display {
display: flex;
align-items: center;
justify-content: center;
margin-top: 23px;
margin-bottom: 25px;
height: 48px;
}
.keypad .body .display button {
width: 48px;
height: 48px;
margin: 0 !important;
border: none;
padding: 0 !important;
font-size: 18px !important;
font-weight: normal !important;
line-height: 48px;
}
.keypad .body .display input {
width: calc(144px - 40px);
height: 48px;
border-radius: 2px;
background-color: #f8f8f8;
box-shadow: inset 0 1px 3px 0 rgba(0, 0, 0, 0.5);
border: solid 1px #dfdfdf;
padding: 0 20px;
text-align: right;
font-size: 18px;
color: #4b4b4b;
}
.keypad .body .buttons {
height: calc(100% - 96px);
width: 256px;
border-spacing: 8px;
margin: -8px;
}
.keypad .body .buttons td {
width: 25%;
}
.keypad .body .buttons button {
padding: 0;
width: 100%;
height: 100%;
border: none;
margin: 0 !important;
font-size: 18px !important;
font-weight: normal !important;
}
.keypad .body .buttons button.blue {
background-image: linear-gradient(to bottom, #1756ad, #002680);
color: #ffffff;
}
.keypad .body .buttons button.rotate-90 i {
transform: rotate(90deg);
}
.persona {
height: 88px;
width: 88px;
+31 -31
View File
File diff suppressed because one or more lines are too long
+20 -14
View File
File diff suppressed because one or more lines are too long
+15 -7
View File
File diff suppressed because one or more lines are too long
+12 -12
View File
File diff suppressed because one or more lines are too long
+11 -11
View File
File diff suppressed because one or more lines are too long
+223 -202
View File
File diff suppressed because one or more lines are too long
+16 -4
View File
@@ -1,10 +1,22 @@
<template>
<div>
<div class="test-empty">
<keypad></keypad>
</div>
</template>
<script>
export default {
import { Keypad } from "src/modules/base-components";
}
export default {
components: { keypad: Keypad }
};
</script>
<style>
.test-empty{
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
}
</style>
@@ -6,5 +6,6 @@ import ModalContainer from "./modal-container.vue";
import { ModalHelper } from "./ModalHelper";
import ProcessInfo from "./process-info.vue";
import Accordion from "./accordion.vue";
import Keypad from "./keypad.vue";
export { Loader, Modal, AppRibbon, UserInfo, ModalContainer, ModalHelper, ProcessInfo, Accordion };
export { Loader, Modal, AppRibbon, UserInfo, ModalContainer, ModalHelper, ProcessInfo, Accordion, Keypad };
@@ -0,0 +1,80 @@
<template>
<div class="keypad">
<header>
<i class="fa fa-ellipsis-v"></i>
<span>{{title}}</span>
<button @click="close()">
<i class="fa fa-times-circle"></i>
</button>
</header>
<div class="body">
<div class="display">
<button class="btn btn-success" @click="minus()"><i class="fa fa-minus"></i></button>
<input type="text" v-model="display">
<button class="btn btn-success" @click="plus()"><i class="fa fa-plus"></i></button>
</div>
<table class="buttons" >
<tr >
<td><button class="btn" @click="number(7)">7</button></td>
<td><button class="btn" @click="number(8)">8</button></td>
<td><button class="btn" @click="number(9)">9</button></td>
</tr>
<tr>
<td><button class="btn" @click="number(4)">4</button></td>
<td><button class="btn" @click="number(5)">5</button></td>
<td><button class="btn" @click="number(6)">6</button></td>
<td><button class="btn" @click="del()">Del</button></td>
</tr>
<tr>
<td><button class="btn" @click="number(1)">1</button></td>
<td><button class="btn" @click="number(2)">2</button></td>
<td><button class="btn" @click="number(3)">3</button></td>
<td rowspan="2"><button class="btn btn-success rotate-90" ><i class="fa fa-level-down"></i></button></td>
</tr>
<tr>
<td colspan="2"><button class="btn" @click="number(0)">0</button></td>
<td><button class="btn" @click="decimal()">.</button></td>
</tr>
</table>
</div>
</div>
</template>
<script>
export default {
props: {
title: { default: "ripetizioni" }
},
data: function() {
return {
display: 0,
decimals: 0
};
},
methods: {
minus() {
debugger;
this.display -= 1 / Math.pow(10, this.decimals);
this.display = Math.max(0, this.display);
},
plus() {
this.display += 1 / Math.pow(10, this.decimals);
},
number(value) {
if (this.decimals == 0) this.display = this.display * 10 + value;
else {
this.display = this.display + value / Math.pow(10, this.decimals);
this.decimals++;
}
},
del() {
this.display = 0;
this.decimals = 0;
},
decimal() {
this.decimals++;
}
}
};
</script>