This commit is contained in:
2019-05-02 22:02:41 +00:00
parent 9d40b832d7
commit b380174709
7 changed files with 238 additions and 194 deletions

View File

@@ -2,7 +2,11 @@
<v-app> <v-app>
<v-navigation-drawer v-if="isAuthenticated" fixed v-model="drawer" app> <v-navigation-drawer v-if="isAuthenticated" fixed v-model="drawer" app>
<v-list dense> <v-list dense>
<v-list-tile v-for="item in navItems" :key="item.route" :to="item.route"> <v-list-tile
v-for="item in navItems"
:key="item.route"
:to="item.route"
>
<v-list-tile-action> <v-list-tile-action>
<v-icon>{{ "fa-" + item.icon }}</v-icon> <v-icon>{{ "fa-" + item.icon }}</v-icon>
</v-list-tile-action> </v-list-tile-action>
@@ -21,7 +25,8 @@
> >
<v-toolbar-side-icon @click.stop="drawer = !drawer"></v-toolbar-side-icon> <v-toolbar-side-icon @click.stop="drawer = !drawer"></v-toolbar-side-icon>
<v-toolbar-title style="width: 300px" class="ml-0 pl-3"> <v-toolbar-title style="width: 300px" class="ml-0 pl-3">
<v-icon>{{ appBar.icon }}</v-icon>&nbsp; <v-icon>{{ appBar.icon }}</v-icon
>&nbsp;
<span>{{ appBar.title }}</span> <span>{{ appBar.title }}</span>
</v-toolbar-title> </v-toolbar-title>
<v-spacer></v-spacer> <v-spacer></v-spacer>
@@ -36,9 +41,7 @@
@click="$gzevent.$emit('menu-click', item)" @click="$gzevent.$emit('menu-click', item)"
> >
<v-icon :color="item.color ? item.color : ''"> <v-icon :color="item.color ? item.color : ''">
{{ {{ "fa-" + item.icon }}
"fa-" + item.icon
}}
</v-icon> </v-icon>
</v-btn> </v-btn>
</template> </template>
@@ -52,11 +55,13 @@
<v-list> <v-list>
<template v-for="(item, index) in appBar.menuItems"> <template v-for="(item, index) in appBar.menuItems">
<v-subheader v-if="item.header" :key="index"> <v-subheader v-if="item.header" :key="index">
{{ {{ item.header }}
item.header
}}
</v-subheader> </v-subheader>
<v-divider v-else-if="item.divider" :key="index" :inset="item.inset"></v-divider> <v-divider
v-else-if="item.divider"
:key="index"
:inset="item.inset"
></v-divider>
<v-list-tile <v-list-tile
v-else v-else
:key="item.key" :key="item.key"
@@ -68,7 +73,8 @@
<v-icon <v-icon
v-if="item.icon" v-if="item.icon"
:color="item.color ? item.color : ''" :color="item.color ? item.color : ''"
>{{ "fa-" + item.icon }}</v-icon> >{{ "fa-" + item.icon }}</v-icon
>
</v-list-tile-action> </v-list-tile-action>
<v-list-tile-content> <v-list-tile-content>
<v-list-tile-title> <v-list-tile-title>
@@ -93,7 +99,9 @@
<v-flex primary py-2 text-xs-center white--text xs12> <v-flex primary py-2 text-xs-center white--text xs12>
<div> <div>
<a href="https://ayanova.com" target="_blank"> <a href="https://ayanova.com" target="_blank">
<span class="white--text caption">AyaNova ({{ version }}) {{ copyright }}</span> <span class="white--text caption"
>AyaNova ({{ version }}) {{ copyright }}</span
>
</a> </a>
</div> </div>
</v-flex> </v-flex>

View File

@@ -1,12 +1,26 @@
<template> <template>
<v-layout column wrap class="my-5" align-center v-if="this.formState.ready">
<v-flex xs12 mt-1 mb-2>
<v-alert
ref="errorbox"
v-show="formState.errorBoxMessage"
color="error"
icon="fa-exclamation-circle "
value="true"
transition="scale-transition"
class="multi-line"
outline
>{{ formState.errorBoxMessage }}</v-alert
>
</v-flex>
<v-flex xs12 md12> <v-flex xs12 md12>
<div v-if="this.formReady"> <div v-if="this.formState.ready">
<v-toolbar flat> <v-toolbar flat>
<v-toolbar-title> <v-toolbar-title>
<v-icon large color="primary">fa-splotch</v-icon> <v-icon large color="primary">fa-splotch</v-icon>
<span class="hidden-sm-and-down">{{ <span class="hidden-sm-and-down">
this.$gzlocale.get("WidgetList") {{ this.$gzlocale.get("WidgetList") }}
}}</span> </span>
</v-toolbar-title> </v-toolbar-title>
<v-spacer></v-spacer> <v-spacer></v-spacer>
<v-btn icon @click="newItem()"> <v-btn icon @click="newItem()">
@@ -37,7 +51,9 @@
<template slot="items" slot-scope="props"> <template slot="items" slot-scope="props">
<td class="text-xs-left">{{ props.item.name | capitalize }}</td> <td class="text-xs-left">{{ props.item.name | capitalize }}</td>
<td class="text-xs-left">{{ props.item.serial }}</td> <td class="text-xs-left">{{ props.item.serial }}</td>
<td class="text-xs-left">{{ props.item.dollarAmount | currency }}</td> <td class="text-xs-left">
{{ props.item.dollarAmount | currency }}
</td>
<td class="text-xs-left">{{ props.item.active | boolastext }}</td> <td class="text-xs-left">{{ props.item.active | boolastext }}</td>
<td class="text-xs-left">{{ props.item.roles }}</td> <td class="text-xs-left">{{ props.item.roles }}</td>
<td class="text-xs-left">{{ props.item.startDate | shortdate }}</td> <td class="text-xs-left">{{ props.item.startDate | shortdate }}</td>
@@ -51,6 +67,7 @@
</v-data-table> </v-data-table>
</div> </div>
</v-flex> </v-flex>
</v-layout>
</template> </template>
<script> <script>
@@ -77,15 +94,21 @@ export default {
header.text = that.$gzlocale.get(header.text); header.text = that.$gzlocale.get(header.text);
}); });
}) })
.then(() => (this.formReady = true)) .then(() => (this.formState.ready = true))
.catch(err => { .catch(err => {
this.formReady = true; //show the form anyway so we know what's what this.formState.ready = true; //show the form anyway so we know what's what
this.$gzHandleFormError(err); this.$gzHandleFormError(err);
}); });
}, },
data() { data() {
return { return {
formReady: false, formState: {
ready: false,
loading: true,
errorBoxMessage: null,
appError: null,
serverError: {}
},
dialogdata: { dialogdata: {
showeditdialog: false, showeditdialog: false,
recordId: 0 recordId: 0

View File

@@ -1,5 +1,18 @@
<template> <template>
<v-layout row v-if="this.formState.ready"> <v-layout row v-if="this.formState.ready">
<v-flex xs12 mt-1 mb-2>
<v-alert
ref="errorbox"
v-show="formState.errorBoxMessage"
color="error"
icon="fa-exclamation-circle "
value="true"
transition="scale-transition"
class="multi-line"
outline
>{{ formState.errorBoxMessage }}</v-alert
>
</v-flex>
<v-flex> <v-flex>
<v-card> <v-card>
<!-- <v-toolbar> <!-- <v-toolbar>
@@ -17,14 +30,10 @@
<v-list-tile avatar> <v-list-tile avatar>
<v-list-tile-content> <v-list-tile-content>
<v-list-tile-title> <v-list-tile-title>
{{ {{ this.$gzlocale.get("Version") }}
this.$gzlocale.get("Version")
}}
</v-list-tile-title> </v-list-tile-title>
<v-list-tile-sub-title> <v-list-tile-sub-title>
{{ {{ clientInfo.version }}
clientInfo.version
}}
</v-list-tile-sub-title> </v-list-tile-sub-title>
</v-list-tile-content> </v-list-tile-content>
</v-list-tile> </v-list-tile>
@@ -35,70 +44,50 @@
<v-list-tile avatar> <v-list-tile avatar>
<v-list-tile-content> <v-list-tile-content>
<v-list-tile-title> <v-list-tile-title>
{{ {{ this.$gzlocale.get("ServerAddress") }}
this.$gzlocale.get("ServerAddress")
}}
</v-list-tile-title> </v-list-tile-title>
<v-list-tile-sub-title> <v-list-tile-sub-title>
{{ {{ this.$store.state.apiUrl }}
this.$store.state.apiUrl
}}
</v-list-tile-sub-title> </v-list-tile-sub-title>
</v-list-tile-content> </v-list-tile-content>
</v-list-tile> </v-list-tile>
<v-list-tile avatar> <v-list-tile avatar>
<v-list-tile-content> <v-list-tile-content>
<v-list-tile-title> <v-list-tile-title>
{{ {{ this.$gzlocale.get("Version") }}
this.$gzlocale.get("Version")
}}
</v-list-tile-title> </v-list-tile-title>
<v-list-tile-sub-title> <v-list-tile-sub-title>
{{ {{ serverInfo.serverVersion }}
serverInfo.serverVersion
}}
</v-list-tile-sub-title> </v-list-tile-sub-title>
</v-list-tile-content> </v-list-tile-content>
</v-list-tile> </v-list-tile>
<v-list-tile avatar> <v-list-tile avatar>
<v-list-tile-content> <v-list-tile-content>
<v-list-tile-title> <v-list-tile-title>
{{ {{ this.$gzlocale.get("SchemaVersion") }}
this.$gzlocale.get("SchemaVersion")
}}
</v-list-tile-title> </v-list-tile-title>
<v-list-tile-sub-title> <v-list-tile-sub-title>
{{ {{ serverInfo.dbSchemaVersion }}
serverInfo.dbSchemaVersion
}}
</v-list-tile-sub-title> </v-list-tile-sub-title>
</v-list-tile-content> </v-list-tile-content>
</v-list-tile> </v-list-tile>
<v-list-tile avatar> <v-list-tile avatar>
<v-list-tile-content> <v-list-tile-content>
<v-list-tile-title> <v-list-tile-title>
{{ {{ this.$gzlocale.get("ServerTime") }}
this.$gzlocale.get("ServerTime")
}}
</v-list-tile-title> </v-list-tile-title>
<v-list-tile-sub-title> <v-list-tile-sub-title>
{{ {{ serverInfo.serverLocalTime }}
serverInfo.serverLocalTime
}}
</v-list-tile-sub-title> </v-list-tile-sub-title>
</v-list-tile-content> </v-list-tile-content>
</v-list-tile> </v-list-tile>
<v-list-tile avatar> <v-list-tile avatar>
<v-list-tile-content> <v-list-tile-content>
<v-list-tile-title> <v-list-tile-title>
{{ {{ this.$gzlocale.get("TimeZone") }}
this.$gzlocale.get("TimeZone")
}}
</v-list-tile-title> </v-list-tile-title>
<v-list-tile-sub-title> <v-list-tile-sub-title>
{{ {{ serverInfo.serverTimeZone }}
serverInfo.serverTimeZone
}}
</v-list-tile-sub-title> </v-list-tile-sub-title>
</v-list-tile-content> </v-list-tile-content>
</v-list-tile> </v-list-tile>
@@ -109,79 +98,57 @@
<v-list-tile avatar> <v-list-tile avatar>
<v-list-tile-content> <v-list-tile-content>
<v-list-tile-title> <v-list-tile-title>
{{ {{ this.$gzlocale.get("RegisteredUser") }}
this.$gzlocale.get("RegisteredUser")
}}
</v-list-tile-title> </v-list-tile-title>
<v-list-tile-sub-title> <v-list-tile-sub-title>
{{ {{ serverInfo.license.license.licensedTo }}
serverInfo.license.license.licensedTo
}}
</v-list-tile-sub-title> </v-list-tile-sub-title>
</v-list-tile-content> </v-list-tile-content>
</v-list-tile> </v-list-tile>
<v-list-tile avatar> <v-list-tile avatar>
<v-list-tile-content> <v-list-tile-content>
<v-list-tile-title> <v-list-tile-title>
{{ {{ this.$gzlocale.get("DatabaseID") }}
this.$gzlocale.get("DatabaseID")
}}
</v-list-tile-title> </v-list-tile-title>
<v-list-tile-sub-title> <v-list-tile-sub-title>
{{ {{ serverInfo.license.license.dbId }}
serverInfo.license.license.dbId
}}
</v-list-tile-sub-title> </v-list-tile-sub-title>
</v-list-tile-content> </v-list-tile-content>
</v-list-tile> </v-list-tile>
<v-list-tile avatar> <v-list-tile avatar>
<v-list-tile-content> <v-list-tile-content>
<v-list-tile-title> <v-list-tile-title>
{{ {{ this.$gzlocale.get("LicenseSerial") }}
this.$gzlocale.get("LicenseSerial")
}}
</v-list-tile-title> </v-list-tile-title>
<v-list-tile-sub-title> <v-list-tile-sub-title>
{{ {{ serverInfo.license.license.keySerial }}
serverInfo.license.license.keySerial
}}
</v-list-tile-sub-title> </v-list-tile-sub-title>
</v-list-tile-content> </v-list-tile-content>
</v-list-tile> </v-list-tile>
<v-list-tile avatar> <v-list-tile avatar>
<v-list-tile-content> <v-list-tile-content>
<v-list-tile-title> <v-list-tile-title>
{{ {{ this.$gzlocale.get("LicenseExpiration") }}
this.$gzlocale.get("LicenseExpiration")
}}
</v-list-tile-title> </v-list-tile-title>
<v-list-tile-sub-title> <v-list-tile-sub-title>
{{ {{ serverInfo.license.license.licenseExpiration }}
serverInfo.license.license.licenseExpiration
}}
</v-list-tile-sub-title> </v-list-tile-sub-title>
</v-list-tile-content> </v-list-tile-content>
</v-list-tile> </v-list-tile>
<v-list-tile avatar> <v-list-tile avatar>
<v-list-tile-content> <v-list-tile-content>
<v-list-tile-title> <v-list-tile-title>
{{ {{ this.$gzlocale.get("SupportedUntil") }}
this.$gzlocale.get("SupportedUntil")
}}
</v-list-tile-title> </v-list-tile-title>
<v-list-tile-sub-title> <v-list-tile-sub-title>
{{ {{ serverInfo.license.license.maintenanceExpiration }}
serverInfo.license.license.maintenanceExpiration
}}
</v-list-tile-sub-title> </v-list-tile-sub-title>
</v-list-tile-content> </v-list-tile-content>
</v-list-tile> </v-list-tile>
<v-list-tile avatar> <v-list-tile avatar>
<v-list-tile-content> <v-list-tile-content>
<v-list-tile-title> <v-list-tile-title>
{{ {{ this.$gzlocale.get("LicensedOptions") }}
this.$gzlocale.get("LicensedOptions")
}}
</v-list-tile-title> </v-list-tile-title>
<v-list-tile-sub-title <v-list-tile-sub-title
v-for="item in serverInfo.license.license.features" v-for="item in serverInfo.license.license.features"
@@ -205,7 +172,8 @@ import aboutInfo from "../api/aboutinfo";
export default { export default {
beforeCreate() { beforeCreate() {
var vm = this; var vm = this;
this.$gzlocale.fetch([ this.$gzlocale
.fetch([
"HelpAboutAyaNova", "HelpAboutAyaNova",
"ClientApp", "ClientApp",
"Server", "Server",
@@ -222,7 +190,8 @@ export default {
"SupportedUntil", "SupportedUntil",
"LicensedOptions", "LicensedOptions",
"Log" "Log"
]).then(() => (vm.formState.ready = true)) ])
.then(() => (vm.formState.ready = true))
.catch(err => { .catch(err => {
vm.formState.ready = true; vm.formState.ready = true;
vm.$gzHandleFormError(err); vm.$gzHandleFormError(err);

View File

@@ -13,7 +13,8 @@
transition="scale-transition" transition="scale-transition"
class="multi-line" class="multi-line"
outline outline
>{{ formState.errorBoxMessage }}</v-alert> >{{ formState.errorBoxMessage }}</v-alert
>
</v-flex> </v-flex>
<v-flex xs12 sm6 lg4 xl3 px-2> <v-flex xs12 sm6 lg4 xl3 px-2>
<v-text-field <v-text-field
@@ -140,15 +141,15 @@
<v-layout align-left justify-center row wrap mt-5> <v-layout align-left justify-center row wrap mt-5>
<v-flex xs6 sm4> <v-flex xs6 sm4>
READY: {{ formState.ready }} READY: {{ formState.ready }}
<br> <br />
LOADING: {{ formState.loading }} LOADING: {{ formState.loading }}
<br> <br />
DIRTY: {{ formState.dirty }} DIRTY: {{ formState.dirty }}
<br> <br />
VALID: {{ formState.valid }} VALID: {{ formState.valid }}
<br> <br />
READONLY: {{ formState.readOnly }} READONLY: {{ formState.readOnly }}
<br> <br />
</v-flex> </v-flex>
</v-layout> </v-layout>
</v-form> </v-form>

View File

@@ -1,8 +1,19 @@
<template> <template>
<v-layout column wrap class="my-5" align-center v-if="this.formReady"> <!-- <v-flex xs12>
<v-flex xs12> <v-container grid-list-xl>-->
<v-container grid-list-xl> <v-layout row wrap align-top v-if="this.formState.ready">
<v-layout row wrap align-top> <v-flex xs12 mt-1 mb-2 >
<v-alert
ref="errorbox"
v-show="formState.errorBoxMessage"
color="error"
icon="fa-exclamation-circle "
value="true"
transition="scale-transition"
class="multi-line"
outline
>{{ formState.errorBoxMessage }}</v-alert>
</v-flex>
<WidgetList/> <WidgetList/>
<WarehouseTop/> <WarehouseTop/>
<POTop/> <POTop/>
@@ -26,9 +37,8 @@
</v-card> </v-card>
</v-flex> </v-flex>
</v-layout> </v-layout>
</v-container> <!-- </v-container>
</v-flex> </v-flex>-->
</v-layout>
</template> </template>
<script> <script>
@@ -43,9 +53,9 @@ export default {
beforeCreate() { beforeCreate() {
this.$gzlocale this.$gzlocale
.fetch(["Inventory"]) .fetch(["Inventory"])
.then(() => (this.formReady = true)) .then(() => (this.formState.ready = true))
.catch(err => { .catch(err => {
this.formReady = true; this.formState.ready = true;
this.$gzHandleFormError(err); this.$gzHandleFormError(err);
}); });
}, },
@@ -65,7 +75,13 @@ export default {
}, },
data() { data() {
return { return {
formReady: false formState: {
ready: false,
loading: true,
errorBoxMessage: null,
appError: null,
serverError: {}
}
}; };
} }
}; };

View File

@@ -1,5 +1,18 @@
<template> <template>
<v-layout row v-if="this.formReady"> <v-layout row v-if="this.formState.ready">
<v-flex xs12 mt-1 mb-2>
<v-alert
ref="errorbox"
v-show="formState.errorBoxMessage"
color="error"
icon="fa-exclamation-circle "
value="true"
transition="scale-transition"
class="multi-line"
outline
>{{ formState.errorBoxMessage }}</v-alert
>
</v-flex>
<v-flex> <v-flex>
<h1>{{ this.$gzlocale.get("Log") }}</h1> <h1>{{ this.$gzlocale.get("Log") }}</h1>
<v-textarea v-model="logText" full-width readonly auto-grow></v-textarea> <v-textarea v-model="logText" full-width readonly auto-grow></v-textarea>
@@ -18,14 +31,23 @@ export default {
this.logText = outText; this.logText = outText;
this.$gzlocale this.$gzlocale
.fetch(["Log"]) .fetch(["Log"])
.then(() => (this.formReady = true)) .then(() => (this.formState.ready = true))
.catch(err => { .catch(err => {
this.formReady = true; this.formState.ready = true;
this.$gzHandleFormError(err); this.$gzHandleFormError(err);
}); });
}, },
data() { data() {
return { logText: "", formReady: false }; return {
logText: "",
formState: {
ready: false,
loading: true,
errorBoxMessage: null,
appError: null,
serverError: {}
}
};
} }
}; };
</script> </script>

View File

@@ -2,7 +2,12 @@
<v-container fluid> <v-container fluid>
<v-layout row wrap> <v-layout row wrap>
<v-flex xs12 class="hidden-sm-and-down text-xs-center" mt-5 ml-5 pl-5> <v-flex xs12 class="hidden-sm-and-down text-xs-center" mt-5 ml-5 pl-5>
<v-img :src="require('../assets/logo.svg')" class="my-3" contain height="200"></v-img> <v-img
:src="require('../assets/logo.svg')"
class="my-3"
contain
height="200"
></v-img>
</v-flex> </v-flex>
<v-flex xs12 class="hidden-md-and-up text-xs-center"> <v-flex xs12 class="hidden-md-and-up text-xs-center">
<v-img :src="require('../assets/logo.svg')" contain height="64"></v-img> <v-img :src="require('../assets/logo.svg')" contain height="64"></v-img>