Fix UI Modals
This commit is contained in:
@@ -55,6 +55,9 @@
|
||||
padding-right: 0;
|
||||
width: 100%;
|
||||
padding: 10px 5px;
|
||||
&:focus {
|
||||
outline: 5px #1791ff auto;
|
||||
}
|
||||
}
|
||||
|
||||
select {
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
@modal-confirm-delete-width: 500px;
|
||||
@modal-confirm-delete-height: 300px;
|
||||
@modal-header-height: 64px;
|
||||
@modal-header-height-half: 33px;
|
||||
@modal-login-height: 560px;
|
||||
@modal-login-width: 600px;
|
||||
@modal-load-depot-height: 462px;
|
||||
@@ -373,7 +374,7 @@
|
||||
}
|
||||
|
||||
.body {
|
||||
height: calc(~"100%"- ((@modal-header-height/2)+1));
|
||||
height: calc(~"100% - " @modal-header-height-half);
|
||||
display: flex;
|
||||
width: 100%;
|
||||
|
||||
@@ -597,6 +598,7 @@
|
||||
}
|
||||
|
||||
label {
|
||||
margin-top: 10px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
}
|
||||
@@ -633,6 +635,10 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
.message-container{
|
||||
width: 93%;
|
||||
margin-top: 15px;
|
||||
}
|
||||
}
|
||||
|
||||
.@{modal}.machine-info {
|
||||
|
||||
@@ -3,34 +3,21 @@
|
||||
width: 600px;
|
||||
height: 400px;
|
||||
top: calc(~'50% - 250px');
|
||||
|
||||
section{
|
||||
display: block !important;
|
||||
.body{
|
||||
display: flex;
|
||||
flex-flow: row;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
label{
|
||||
margin-top: 22px;
|
||||
font-size: 14px;
|
||||
color: #878787;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
.form-group{
|
||||
margin-top: 20px;
|
||||
width: 95%;
|
||||
|
||||
article {
|
||||
|
||||
input {
|
||||
padding: 5px;
|
||||
font-size: 18px;
|
||||
font-weight: 500;
|
||||
color: #6d6d6d;
|
||||
height: 48px;
|
||||
border-radius: 2px;
|
||||
box-shadow: inset 0 1px 3px 0 rgba(0, 0, 0, 0.5);
|
||||
border: none;
|
||||
display: flex;
|
||||
flex-flow: row nowrap;
|
||||
padding: 0 20px;
|
||||
align-items: center;
|
||||
justify-content: stretch;
|
||||
|
||||
label {
|
||||
margin-top: 10px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -13,13 +13,23 @@
|
||||
height: 100vh;
|
||||
|
||||
.notes_textarea{
|
||||
border-radius: 2px;
|
||||
height: 97px;
|
||||
box-shadow: inset 0 1px 3px 0 rgba(0, 0, 0, 0.5);
|
||||
border: solid 1px #bbbcbc;
|
||||
padding: 10px;
|
||||
box-sizing: border-box;
|
||||
resize: none;
|
||||
display: block;
|
||||
border-radius: 2px;
|
||||
border: solid 1px #dfdfdf;
|
||||
height: 120px;
|
||||
font-family: 'Work Sans', sans-serif;
|
||||
color: #4b4b4b;
|
||||
font-size: 16px;
|
||||
background-color: #f8f8f8;
|
||||
margin: 0 0px;
|
||||
padding-right: 0;
|
||||
width: 100%;
|
||||
padding: 10px 5px;
|
||||
&:focus {
|
||||
outline: 5px #1791ff auto;
|
||||
}
|
||||
}
|
||||
|
||||
.select_folder{
|
||||
|
||||
@@ -11,13 +11,23 @@
|
||||
height: 100vh;
|
||||
}
|
||||
.setup .notes_textarea {
|
||||
border-radius: 2px;
|
||||
height: 97px;
|
||||
box-shadow: inset 0 1px 3px 0 rgba(0, 0, 0, 0.5);
|
||||
border: solid 1px #bbbcbc;
|
||||
padding: 10px;
|
||||
box-sizing: border-box;
|
||||
resize: none;
|
||||
display: block;
|
||||
border-radius: 2px;
|
||||
border: solid 1px #dfdfdf;
|
||||
height: 120px;
|
||||
font-family: 'Work Sans', sans-serif;
|
||||
color: #4b4b4b;
|
||||
font-size: 16px;
|
||||
background-color: #f8f8f8;
|
||||
margin: 0 0px;
|
||||
padding-right: 0;
|
||||
width: 100%;
|
||||
padding: 10px 5px;
|
||||
}
|
||||
.setup .notes_textarea:focus {
|
||||
outline: 5px #1791ff auto;
|
||||
}
|
||||
.setup .select_folder {
|
||||
height: 48px;
|
||||
@@ -732,7 +742,7 @@ article .box .body {
|
||||
padding: 0px 23px;
|
||||
}
|
||||
.modal.cmsconnect-info .body {
|
||||
height: calc(100%-((64px/2)+1));
|
||||
height: calc(100% - 33px);
|
||||
display: flex;
|
||||
width: 100%;
|
||||
}
|
||||
@@ -923,6 +933,7 @@ article .box .body {
|
||||
align-items: center;
|
||||
}
|
||||
.modal.cmsconnect-info .body .container .network .form-group-row .form-group label {
|
||||
margin-top: 10px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
.modal.cmsconnect-info .body .container .network .form-group-row .break {
|
||||
@@ -949,6 +960,10 @@ article .box .body {
|
||||
align-items: center;
|
||||
color: #7ed321;
|
||||
}
|
||||
.modal.cmsconnect-info .message-container {
|
||||
width: 93%;
|
||||
margin-top: 15px;
|
||||
}
|
||||
.modal.machine-info {
|
||||
width: 600px;
|
||||
height: 730px;
|
||||
@@ -5593,6 +5608,9 @@ article .box .body {
|
||||
width: 100%;
|
||||
padding: 10px 5px;
|
||||
}
|
||||
.form-group textarea:focus {
|
||||
outline: 5px #1791ff auto;
|
||||
}
|
||||
.form-group select {
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
@@ -24022,29 +24040,18 @@ footer .container button.big:before {
|
||||
height: 400px;
|
||||
top: calc(50% - 250px);
|
||||
}
|
||||
.modal.save-as section {
|
||||
display: block !important;
|
||||
}
|
||||
.modal.save-as label {
|
||||
margin-top: 22px;
|
||||
font-size: 14px;
|
||||
color: #878787;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
.modal.save-as article input {
|
||||
padding: 5px;
|
||||
font-size: 18px;
|
||||
font-weight: 500;
|
||||
color: #6d6d6d;
|
||||
height: 48px;
|
||||
border-radius: 2px;
|
||||
box-shadow: inset 0 1px 3px 0 rgba(0, 0, 0, 0.5);
|
||||
border: none;
|
||||
.modal.save-as .body {
|
||||
display: flex;
|
||||
flex-flow: row nowrap;
|
||||
padding: 0 20px;
|
||||
align-items: center;
|
||||
justify-content: stretch;
|
||||
flex-flow: row;
|
||||
justify-content: center;
|
||||
}
|
||||
.modal.save-as .form-group {
|
||||
margin-top: 20px;
|
||||
width: 95%;
|
||||
}
|
||||
.modal.save-as .form-group label {
|
||||
margin-top: 10px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
a,
|
||||
a:visited,
|
||||
|
||||
+86
@@ -0,0 +1,86 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="box_content" v-if="!isEnrolled">
|
||||
<div class="qrcode-container">
|
||||
<span>{{'connect_qrcode_activation_title' | localize("Scan the QRCode")}}</span>
|
||||
<div class="image">
|
||||
<img v-if="qrCode" :src="QRCodeImageSrc" height="250" width="250"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="code-container">
|
||||
<span>{{'connect_link_activation_title' | localize("Or click on the")}}
|
||||
<a class="link" @click="openCmsConnectPage">link</a>
|
||||
{{'connect_link_activation_title' | localize("and type the code:")}}
|
||||
</span>
|
||||
<input class="code" type="text" id="code" @click="copyToClipboard" :value="userCode" readonly/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box_content" v-if="isEnrolled">
|
||||
<img class="success" src="assets/icons/thenounproject/noun_check.svg">
|
||||
<span>{{'connect_qrcode_activation_success' | localize("The machine is already active")}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import QRCode from "qrcode";
|
||||
|
||||
export default {
|
||||
props: {
|
||||
qrCode: {default: ""},
|
||||
userCode: {default: ""},
|
||||
hasAuth: { default: false},
|
||||
isEnrolled: { default: false},
|
||||
},
|
||||
components: {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
QRCodeImageSrc: "",
|
||||
errorMessage: "",
|
||||
QRCodeOptions: {
|
||||
errorCorrectionLevel: 'H',
|
||||
type: 'image/png',
|
||||
quality: 1,
|
||||
margin: 1,
|
||||
width: 300,
|
||||
color: {
|
||||
dark:"#000000ff",
|
||||
light:"#FFFFFF00"
|
||||
}
|
||||
}
|
||||
};
|
||||
},
|
||||
mounted: async function() {
|
||||
// Call api to get initial val
|
||||
await this.updateQRCodeSrc(this.qrCode)
|
||||
},
|
||||
methods: {
|
||||
async updateQRCodeSrc(link) {
|
||||
if(link)
|
||||
this.QRCodeImageSrc = await QRCode.toDataURL(link, this.QRCodeOption)
|
||||
else
|
||||
this.QRCodeImageSrc = ""
|
||||
},
|
||||
openCmsConnectPage() {
|
||||
if(this.qrCode)
|
||||
cmsClient.openExternalBrowser(this.qrCode)
|
||||
},
|
||||
copyToClipboard(txt){
|
||||
/* Get the text field */
|
||||
var copyText = document.getElementById('code')
|
||||
|
||||
/* Select the text field */
|
||||
copyText.select();
|
||||
|
||||
/* Copy the text inside the text field */
|
||||
document.execCommand("copy");
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
qrCode: async function (n, o) {
|
||||
await this.updateQRCodeSrc(n)
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
@@ -6,14 +6,14 @@ import moment from "moment";
|
||||
import Component from "vue-class-component";
|
||||
import { CmsConnectService } from "src/services";
|
||||
import { Watch } from "vue-property-decorator";
|
||||
//import activationTab from "./cmsconnect-info-activation.vue"
|
||||
//import messagesTab from "./cmsconnect-info-messages.vue"
|
||||
import activationTab from "./cmsconnect-info-activation.vue"
|
||||
import messagesTab from "./cmsconnect-info-messages.vue"
|
||||
|
||||
@Component({
|
||||
components: {
|
||||
modal: Modal,
|
||||
//activationTab: activationTab,
|
||||
//messagesTab: messagesTab
|
||||
activationTab: activationTab,
|
||||
messagesTab: messagesTab
|
||||
}
|
||||
})
|
||||
export default class CmsconnectInfoDialog extends Vue {
|
||||
|
||||
@@ -204,19 +204,17 @@
|
||||
</div>
|
||||
|
||||
<!-- ACTIVATION TAB -->
|
||||
<!--
|
||||
<activationTab v-if="selectedTab=='activation'"
|
||||
:qrCode="cmsConnectActivationData().qrCode"
|
||||
:userCode="cmsConnectActivationData().userCode"
|
||||
:hasAuth="cmsConnectActivationData().hasAuth"
|
||||
:isEnrolled="cmsConnectActivationData().isEnrolled">
|
||||
</activationTab>-->
|
||||
</activationTab>
|
||||
|
||||
<!-- ACTIVATION TAB -->
|
||||
<!--
|
||||
<messagesTab v-if="selectedTab=='messages'"
|
||||
@click="sendMessage">
|
||||
</messagesTab>-->
|
||||
</messagesTab>
|
||||
</div>
|
||||
</div>
|
||||
</modal>
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
<template>
|
||||
<div class="message-container">
|
||||
<!-- <div class="title">
|
||||
<span>{{'connect_messagex_title' | localize("Insert Message")}}</span>
|
||||
</div> -->
|
||||
<div class="form-group">
|
||||
<label class="subtitle">{{'messages_lbl_create_message' | localize("Message:")}}</label>
|
||||
<textarea v-model="message"></textarea>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="subtitle" >{{'cmsconnect_info_messages_duration' | localize('Duration:')}}</label>
|
||||
<input type="number" v-model="estimateTime" autocomplete="false">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>{{'cmsconnect_info_messages_department' | localize("Department:")}}</label>
|
||||
<select class="form-control" v-model="department" name="department">
|
||||
<option :value="'MAINTENANCE'" :key="'MAINTENANCE'">{{'cmsconnect_info_messages_department_maintenance' | localize("Maintenance")}}</option>
|
||||
<option :value="'PRODUCTION'" :key="'PRODUCTION'">{{'cmsconnect_info_messages_department_production' | localize("Production")}}</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="btn-container">
|
||||
<button class="btn btn-success" @click="sendMessage()" :disabled="!(message && estimateTime > 0 && department)">
|
||||
{{'cmsconnect_info_btn_send_message' | localize('Send Message')}}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
export default {
|
||||
props: {
|
||||
},
|
||||
components: {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
message: "",
|
||||
estimateTime: 0,
|
||||
department: ""
|
||||
};
|
||||
},
|
||||
mounted: function() {
|
||||
},
|
||||
methods: {
|
||||
sendMessage(){
|
||||
console.log(this.department);
|
||||
this.$emit("click", this.message, this.estimateTime, this.department);
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
}
|
||||
};
|
||||
</script>
|
||||
@@ -6,17 +6,15 @@
|
||||
<i class="fa fa-remove"></i>
|
||||
</button>
|
||||
</div>
|
||||
<section>
|
||||
<article>
|
||||
<label class="description_lbl">{{'modal_recipe_note' | localize('Note della ricetta')}}</label>
|
||||
<textarea
|
||||
<div class="form-group">
|
||||
<label>{{'modal_recipe_note' | localize('Note della ricetta')}}</label>
|
||||
<textarea
|
||||
rows="3"
|
||||
v-model="Note"
|
||||
class="notes_textarea"
|
||||
:placeholder="'modal_recipe_note' | localize('Note della ricetta')"
|
||||
/>
|
||||
</article>
|
||||
</section>
|
||||
</div>
|
||||
<footer>
|
||||
<button class="btn" @click="close()">{{'cancel' | localize("Annulla")}}</button>
|
||||
<button class="btn btn-success" @click="save()">{{'confirm' | localize("Conferma")}}</button>
|
||||
|
||||
@@ -5,19 +5,15 @@
|
||||
<button class="modal-close" @click="close()">
|
||||
<i class="fa fa-remove"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>{{'folder_name' | localize('Nuova Cartella')}}</label>
|
||||
<select v-model="folder" :placeholder="'folder_name' | localize('Nuova Cartella')" >
|
||||
<option v-for="folder in folderlist">{{folder}}</option>
|
||||
</select>
|
||||
<label>{{'recipe_name' | localize('Nome della nuova ricetta')}}</label>
|
||||
<input v-model="name" :placeholder="'recipe_name' | localize('Nome della ricetta')" @keyup.enter="save()" />
|
||||
</div>
|
||||
<section>
|
||||
<article>
|
||||
<label>{{'folder_name' | localize('Nuova Cartella')}}</label>
|
||||
<select v-model="folder" class="select_folder" :placeholder="'folder_name' | localize('Nuova Cartella')" >
|
||||
<option v-for="folder in folderlist">{{folder}}</option>
|
||||
</select>
|
||||
</article>
|
||||
<article>
|
||||
<label>{{'recipe_name' | localize('Nome della nuova ricetta')}}</label>
|
||||
<input v-model="name" :placeholder="'recipe_name' | localize('Nome della ricetta')" @keyup.enter="save()" />
|
||||
</article>
|
||||
</section>
|
||||
<footer>
|
||||
<button class="btn" @click="close()">{{'cancel' | localize("Annulla")}}</button>
|
||||
<button class="btn btn-success" @click="save()" :disabled="!canDo">{{'confirm' | localize("Conferma")}}</button>
|
||||
|
||||
@@ -5,13 +5,11 @@
|
||||
<button class="modal-close" @click="close()">
|
||||
<i class="fa fa-remove"></i>
|
||||
</button>
|
||||
</div>
|
||||
<section>
|
||||
<article>
|
||||
<label>{{'recipe_name' | localize('Nome della ricetta')}}</label>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>{{'recipe_name' | localize('Nome della ricetta')}}</label>
|
||||
<input v-model="RecipeName" :placeholder="'recipe_name' | localize('Nome della ricetta')" @keyup.enter="save()" />
|
||||
</article>
|
||||
</section>
|
||||
</div>
|
||||
<footer>
|
||||
<button class="btn" @click="close()">{{'cancel' | localize("Annulla")}}</button>
|
||||
<button class="btn btn-success" @click="save()" :disabled="!canSave">{{'confirm' | localize("Conferma")}}</button>
|
||||
|
||||
@@ -5,13 +5,11 @@
|
||||
<button class="modal-close" @click="close()">
|
||||
<i class="fa fa-remove"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>{{'modal_folder_create_name' | localize("Nome della cartella:")}}</label>
|
||||
<input v-model="FinalName" @keyup.enter="save()" />
|
||||
</div>
|
||||
<section>
|
||||
<article>
|
||||
<label>{{'modal_folder_create_name' | localize("Nome della cartella:")}}</label>
|
||||
<input v-model="FinalName" @keyup.enter="save()" />
|
||||
</article>
|
||||
</section>
|
||||
<footer>
|
||||
<button class="btn" @click="close()">{{'cancel' | localize("Annulla")}}</button>
|
||||
<button class="btn btn-success" @click="save()" :disabled="!canSave">{{'confirm' | localize("Conferma")}}</button>
|
||||
|
||||
Reference in New Issue
Block a user