diff --git a/src/assets/images/misc/3d-safe-box-with-golden-dollar-coins.png b/src/assets/images/misc/3d-safe-box-with-golden-dollar-coins.png
deleted file mode 100755
index be1b316..0000000
Binary files a/src/assets/images/misc/3d-safe-box-with-golden-dollar-coins.png and /dev/null differ
diff --git a/src/assets/images/misc/3d-space-rocket-with-smoke.png b/src/assets/images/misc/3d-space-rocket-with-smoke.png
deleted file mode 100755
index 6b94475..0000000
Binary files a/src/assets/images/misc/3d-space-rocket-with-smoke.png and /dev/null differ
diff --git a/src/assets/images/misc/dollar-coins-flying-pink-piggy-bank.png b/src/assets/images/misc/dollar-coins-flying-pink-piggy-bank.png
deleted file mode 100755
index 5d1fff3..0000000
Binary files a/src/assets/images/misc/dollar-coins-flying-pink-piggy-bank.png and /dev/null differ
diff --git a/src/assets/images/misc/fleet-car.png b/src/assets/images/misc/fleet-car.png
deleted file mode 100755
index b12f177..0000000
Binary files a/src/assets/images/misc/fleet-car.png and /dev/null differ
diff --git a/src/assets/images/misc/remote_128.png b/src/assets/images/misc/remote_128.png
new file mode 100644
index 0000000..8088b45
Binary files /dev/null and b/src/assets/images/misc/remote_128.png differ
diff --git a/src/assets/images/misc/vnc_128.png b/src/assets/images/misc/vnc_128.png
new file mode 100644
index 0000000..57f195d
Binary files /dev/null and b/src/assets/images/misc/vnc_128.png differ
diff --git a/src/assets/images/misc/vnc_256.png b/src/assets/images/misc/vnc_256.png
new file mode 100644
index 0000000..4a9c6c5
Binary files /dev/null and b/src/assets/images/misc/vnc_256.png differ
diff --git a/src/assets/images/misc/vnc_512.png b/src/assets/images/misc/vnc_512.png
new file mode 100644
index 0000000..1dcd2f2
Binary files /dev/null and b/src/assets/images/misc/vnc_512.png differ
diff --git a/src/models/storeData.ts b/src/models/storeData.ts
new file mode 100644
index 0000000..be23e6b
--- /dev/null
+++ b/src/models/storeData.ts
@@ -0,0 +1,51 @@
+interface Store {
+ id_structure: number
+ nom: string
+ ip_master: string
+ telephone: string
+ photoLink: string
+ enseigne: string
+ nb_caisses: number
+ adresse: string
+ caisses: Caisse[]
+}
+
+interface Caisse {
+ id_caisse: number
+ ip: string
+}
+
+interface Replication {
+ pendingReplications: number
+ minPendingReplicationDate: string
+ maxPendingReplicationDate: string
+}
+
+interface Transaction {
+ backOfficeTransactions: number
+ minBackOfficeTransactionDate: string
+ maxBackOfficeTransactionDate: string
+ backOfficeBusinessDate: string
+}
+
+interface XstoreTransaction {
+ count: number
+ minDate: string
+ minDateT: string
+ minDateH: string
+ maxDate: string
+ maxDateT: string
+ maxDateH: string
+}
+
+export interface StoreData {
+ store: Store
+ replication: Replication
+ transaction: Transaction
+ openingTransaction: XstoreTransaction
+ closingTransaction: XstoreTransaction
+ saleTransaction: XstoreTransaction
+ xstoreVersion: string
+ xstoreVersionDate: string
+ xstoreVersionCustomer: string
+}
diff --git a/src/navigation/horizontal/index.ts b/src/navigation/horizontal/index.ts
index 57dc678..80e8ac1 100755
--- a/src/navigation/horizontal/index.ts
+++ b/src/navigation/horizontal/index.ts
@@ -9,4 +9,12 @@ export default [
to: { name: 'store-list' },
icon: { icon: 'tabler-file' },
},
+ {
+ title: 'Obi',
+ icon: { icon: 'tabler-file' },
+ },
+ {
+ title: 'Dotsoft',
+ icon: { icon: 'tabler-file' },
+ },
]
diff --git a/src/navigation/vertical/index.ts b/src/navigation/vertical/index.ts
index 57dc678..80e8ac1 100755
--- a/src/navigation/vertical/index.ts
+++ b/src/navigation/vertical/index.ts
@@ -9,4 +9,12 @@ export default [
to: { name: 'store-list' },
icon: { icon: 'tabler-file' },
},
+ {
+ title: 'Obi',
+ icon: { icon: 'tabler-file' },
+ },
+ {
+ title: 'Dotsoft',
+ icon: { icon: 'tabler-file' },
+ },
]
diff --git a/src/pages/index.vue b/src/pages/index.vue
index b273185..8a01ae9 100755
--- a/src/pages/index.vue
+++ b/src/pages/index.vue
@@ -2,24 +2,11 @@
- All the best for your new project.
-
- Please make sure to read our
- Template Documentation
- to understand where to go from here and how to use our template.
-
-
+
A cet endroit bientรดt des statistiques
-
- We carefully crafted JWT flow so you can implement JWT with ease and with minimum efforts.
- Please read our JWT Documentation to get more out of JWT authentication.
+ ๐ Cliquez maintenant sur Boutique :)
diff --git a/src/pages/store/details/index.vue b/src/pages/store/details/index.vue
index 4ce2b22..d2efcd4 100644
--- a/src/pages/store/details/index.vue
+++ b/src/pages/store/details/index.vue
@@ -3,6 +3,9 @@ import StoreHeader from '@/views/pages/store/view/StoreHeader.vue'
import StoreTabAdmin from '@/views/pages/store/view/StoreTabAdmin.vue'
import StoreTabGeneral from '@/views/pages/store/view/StoreTabGeneral.vue'
import StoreTabItem from '@/views/pages/store/view/StoreTabItem.vue'
+import StoreTabRemote from '@/views/pages/store/view/StoreTabRemote.vue'
+
+const { t } = useI18n()
const route = useRoute('store-details')
@@ -12,9 +15,10 @@ console.log(route.query.dbHost)
// tabs
const tabs = [
- { title: 'General', icon: 'tabler-users', tab: 'general' },
- { title: 'Item', icon: 'tabler-lock', tab: 'item' },
- { title: 'Admin', icon: 'tabler-file-text', tab: 'admin' },
+ { title: 'General', icon: 'tabler-settings', tab: 'general' },
+ { title: t('Item'), icon: 'tabler-shirt-sport', tab: 'item' },
+ { title: t('Remote'), icon: 'tabler-brand-openvpn', tab: 'remote' },
+ { title: 'Admin', icon: 'tabler-lock', tab: 'admin' },
]
const { data: storeData } = await useApi(`/stores/${route.query.storeId}/details?dbHost=${route.query.dbHost}`)
@@ -49,19 +53,24 @@ const { data: storeData } = await useApi(`/stores/${route.query.storeId}/de
class="mt-6 disable-tab-transition"
:touch="false"
>
-
+
-
+
-
+
-
+
+
+
+
+
+
diff --git a/src/pages/store/list/index.vue b/src/pages/store/list/index.vue
index 5a0d81e..6ef8625 100644
--- a/src/pages/store/list/index.vue
+++ b/src/pages/store/list/index.vue
@@ -11,6 +11,7 @@ const headers = computed(() => [
{ title: t('Phone'), key: 'telephone', sortable: false },
{ title: t('Brand'), key: 'enseigne' },
{ title: t('Country'), key: 'pays' },
+ { title: '', key: 'actions', sortable: false },
])
const selectedCountry = ref()
@@ -75,6 +76,23 @@ const filteredStoresList = computed(() => {
return filtered
})
+
+const selectedStore = ref(null)
+const isDialogVisible = ref(false)
+
+const openPosList = (store: any) => {
+ selectedStore.value = store
+ isDialogVisible.value = true
+}
+
+interface Store {
+ id_structure: number
+ caisses: Caisse[]
+}
+interface Caisse {
+ id_caisse: number
+ ip: string
+}
@@ -166,18 +184,81 @@ const filteredStoresList = computed(() => {
:page="options.page"
:options="options"
>
+
{{ item.nom }}
+
+
{{ `tabler-square-rounded-number-${item.nbcaisses}` }}
{{ item.nbcaisses }}
+
+
+
+
+
+
+
+
+ POS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Pos {{ caisse.id_caisse }}
+
+
+
+
+
+
+ Close
+
+
+
+
diff --git a/src/plugins/i18n/locales/ar.json b/src/plugins/i18n/locales/ar.json
index 652bacc..5b043da 100755
--- a/src/plugins/i18n/locales/ar.json
+++ b/src/plugins/i18n/locales/ar.json
@@ -8,6 +8,31 @@
"Search": "ุจุญุซ",
"Name": "ุงูุงุณู
",
"Phone": "ูุงุชู",
+ "Mode": "ุงููุถุน",
+ "Value": "ุงูููู
ุฉ",
+ "Item": "ุงูุนูุตุฑ",
+ "Remote": "ู
ุชุตู",
+ "Option": "ุฎูุงุฑ",
+ "Stock": "ุงูู
ุฎุฒูู",
+ "Price": "ุงูุณุนุฑ",
+ "ITEM_ID": "ID ุงูุนูุตุฑ",
+ "PRICE": "ุงูุณุนุฑ",
+ "TYPE": "TYPE",
+ "PARENT": "PARENT",
+ "LEVEL": "LEVEL",
+ "EFFECTIVE DATE": "EFFECTIVE DATE",
+ "EXPIRATION DATE": "EXPIRATION DATE",
+ "DATE_CREATE": "CREATE DATE",
+ "USER_CREATE": "CREATE USER",
+ "DATE_UPDATE": "UPDATE DATE",
+ "USER_UPDATE": "UPDATE USER",
+ "Reload": "ุชุญุฏูุซ",
+ "WorkStation": "ุงููุทุนุฉ ุงูุนู
ููุฉ",
+ "SignatureString": "Signature string",
+ "SignatureSource": "Signature source",
+ "Submit": "Submit",
+ "You can search for a reference, reference-color or reference-color-size.": "You can search for a reference, reference-color or reference-color-size.",
+ "Minimum 5 characters long": "Minimum 5 characters long",
"---------------------------": "---------------------------",
"UI Elements": "ุนูุงุตุฑ ูุงุฌูุฉ ุงูู
ุณุชุฎุฏู
",
"Forms & Tables": "ุงููู
ุงุฐุฌ ูุงูุฌุฏุงูู",
diff --git a/src/plugins/i18n/locales/en.json b/src/plugins/i18n/locales/en.json
index 31dbc11..90a2517 100755
--- a/src/plugins/i18n/locales/en.json
+++ b/src/plugins/i18n/locales/en.json
@@ -8,6 +8,31 @@
"Search": "Search",
"Name": "Name",
"Phone": "Phone",
+ "Mode": "Mode",
+ "Value": "Value",
+ "Item": "Item",
+ "Remote": "Remote",
+ "Option": "Option",
+ "Stock": "Stock",
+ "Price": "Price",
+ "ITEM_ID": "ITEM ID",
+ "PRICE": "PRICE",
+ "TYPE": "TYPE",
+ "PARENT": "PARENT",
+ "LEVEL": "LEVEL",
+ "EFFECTIVE DATE": "EFFECTIVE DATE",
+ "EXPIRATION DATE": "EXPIRATION DATE",
+ "DATE_CREATE": "CREATE DATE",
+ "USER_CREATE": "CREATE USER",
+ "DATE_UPDATE": "UPDATE DATE",
+ "USER_UPDATE": "UPDATE USER",
+ "Reload": "Reload",
+ "WorkStation": "Workstation",
+ "SignatureString": "Signature string",
+ "SignatureSource": "Signature source",
+ "Submit": "Submit",
+ "You can search for a reference, reference-color or reference-color-size.": "You can search for a reference, reference-color or reference-color-size.",
+ "Minimum 5 characters long": "Minimum 5 characters long",
"---------------------------": "---------------------------",
"UI Elements": "UI Elements",
"Forms & Tables": "Forms & Tables",
diff --git a/src/plugins/i18n/locales/fr.json b/src/plugins/i18n/locales/fr.json
index 3564a47..e0784dc 100755
--- a/src/plugins/i18n/locales/fr.json
+++ b/src/plugins/i18n/locales/fr.json
@@ -1,5 +1,5 @@
{
- "Home": "Acceuil",
+ "Home": "Accueil",
"Store": "Boutique",
"List of stores": "Liste des boutiques",
"Country": "Pays",
@@ -8,6 +8,31 @@
"Search": "Chercher",
"Name": "Nom",
"Phone": "Tรฉlรฉphone",
+ "Mode": "Mode",
+ "Value": "Valeur",
+ "Item": "Article",
+ "Remote": "Accรจs distant",
+ "Option": "Option",
+ "Stock": "Stock",
+ "Price": "Prix",
+ "ITEM_ID": "ITEM ID",
+ "PRICE": "PRIX",
+ "TYPE": "TYPE",
+ "PARENT": "PARENT",
+ "LEVEL": "NIVEAU",
+ "EFFECTIVE DATE": "DATE EFFECTIVE",
+ "EXPIRATION DATE": "DATE EXPIRATION",
+ "DATE_CREATE": "DATE CREATION",
+ "USER_CREATE": "UTIL. CREATION",
+ "DATE_UPDATE": "DATE MAJ",
+ "USER_UPDATE": "UTIL. MAJ",
+ "Reload": "Rafraichir",
+ "WorkStation": "Caisse",
+ "SignatureString": "Chaine de Signature",
+ "SignatureSource": "Signature source",
+ "Submit": "Valider",
+ "You can search for a reference, reference-color or reference-color-size.": "Vous pouvez chercher une reference, reference-couleur ou reference-couleur-taille.",
+ "Minimum 5 characters long": "Minimum 5 caractรจres",
"---------------------------": "---------------------------",
"UI Elements": "รLรMENTS DE L'UI",
"Forms & Tables": "Formulaires et tableaux",
diff --git a/src/views/pages/store/view/StoreHeader.vue b/src/views/pages/store/view/StoreHeader.vue
index 96a5f5a..49fbf5c 100644
--- a/src/views/pages/store/view/StoreHeader.vue
+++ b/src/views/pages/store/view/StoreHeader.vue
@@ -1,22 +1,9 @@
+
-
- We carefully crafted JWT flow so you can implement JWT with ease and with minimum efforts.
- Please read our JWT Documentation to get more out of JWT authentication.
-
+
+
+
+
+
diff --git a/src/views/pages/store/view/StoreTabAdminH.vue b/src/views/pages/store/view/StoreTabAdminH.vue
new file mode 100755
index 0000000..e170f44
--- /dev/null
+++ b/src/views/pages/store/view/StoreTabAdminH.vue
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
+ Sequence
+
+
+
+
+ Signature
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/pages/store/view/StoreTabAdminHsequence.vue b/src/views/pages/store/view/StoreTabAdminHsequence.vue
new file mode 100644
index 0000000..a52d500
--- /dev/null
+++ b/src/views/pages/store/view/StoreTabAdminHsequence.vue
@@ -0,0 +1,171 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('Reload') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/pages/store/view/StoreTabAdminHsignature.vue b/src/views/pages/store/view/StoreTabAdminHsignature.vue
new file mode 100644
index 0000000..3245bbb
--- /dev/null
+++ b/src/views/pages/store/view/StoreTabAdminHsignature.vue
@@ -0,0 +1,172 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('Reload') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/pages/store/view/StoreTabGeneral.vue b/src/views/pages/store/view/StoreTabGeneral.vue
index 97dfd63..d169729 100644
--- a/src/views/pages/store/view/StoreTabGeneral.vue
+++ b/src/views/pages/store/view/StoreTabGeneral.vue
@@ -1,33 +1,5 @@
-
-
- {{ props.storeData.store.id_structure }}
-
-
-
- We carefully crafted JWT flow so you can implement JWT with ease and with minimum efforts.
- Please read our JWT Documentation to get more out of JWT authentication.
-
-
+
+
+
+
+
+
+
+
+
+
+
+ Business date
+
+ {{ storeData.openingTransaction.maxDateT }}
+
+
+
+
+
+
+
+
+
+ Opening hours
+
+ {{ storeData.openingTransaction.maxDateH }}{{ storeData.closingTransaction.maxDateH ? ` / ${storeData.closingTransaction.maxDateH}` : '' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Pending replication
+
+
+ {{ props.storeData.replication.pendingReplications }}
+
+
+
+
+ Min
+
+ {{ props.storeData.replication.minPendingReplicationDate }}
+
+
+
+
+
+ Max
+
+ {{ props.storeData.replication.maxPendingReplicationDate }}
+
+
+
+
+
+
+
+
+
+
+
+ XSTORE Tickets
+
+
+ {{ props.storeData.saleTransaction.count }}
+
+
+
+
+ Min
+
+ {{ props.storeData.saleTransaction.minDate }}
+
+
+
+
+
+ Max
+
+ {{ props.storeData.saleTransaction.maxDate }}
+
+
+
+
+
+
+
+
+
+
+
+ DOTSOFT Tickets
+
+
+ {{ props.storeData.transaction.backOfficeTransactions }}
+
+
+
+
+ Min
+
+ {{ props.storeData.transaction.minBackOfficeTransactionDate }}
+
+
+
+
+
+ Max
+
+ {{ props.storeData.transaction.maxBackOfficeTransactionDate }}
+
+
+
+
+
+
diff --git a/src/views/pages/store/view/StoreTabItem.vue b/src/views/pages/store/view/StoreTabItem.vue
index 3992af2..2df56e4 100644
--- a/src/views/pages/store/view/StoreTabItem.vue
+++ b/src/views/pages/store/view/StoreTabItem.vue
@@ -1,8 +1,84 @@
+
+
-
- We carefully crafted JWT flow so you can implement JWT with ease and with minimum efforts.
- Please read our JWT Documentation to get more out of JWT authentication.
-
+
+
+
+
+
+
+
+ {{ $t('You can search for a reference, reference-color or reference-color-size.') }}
+
+ {{ $t('Minimum 5 characters long') }}
+
+
+
+
+
+
+
+
+
+ {{ $t('Submit') }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/pages/store/view/StoreTabItemH.vue b/src/views/pages/store/view/StoreTabItemH.vue
new file mode 100755
index 0000000..1593783
--- /dev/null
+++ b/src/views/pages/store/view/StoreTabItemH.vue
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+
+ {{ $t('Item') }}
+
+
+
+
+ {{ $t('Option') }}
+
+
+
+
+ {{ $t('Price') }}
+
+
+
+
+ {{ $t('Stock') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/pages/store/view/StoreTabItemHitem.vue b/src/views/pages/store/view/StoreTabItemHitem.vue
new file mode 100644
index 0000000..1f6a28e
--- /dev/null
+++ b/src/views/pages/store/view/StoreTabItemHitem.vue
@@ -0,0 +1,70 @@
+
+
+
+
+
diff --git a/src/views/pages/store/view/StoreTabItemHoption.vue b/src/views/pages/store/view/StoreTabItemHoption.vue
new file mode 100644
index 0000000..ba5eba8
--- /dev/null
+++ b/src/views/pages/store/view/StoreTabItemHoption.vue
@@ -0,0 +1,77 @@
+
+
+
+
+
diff --git a/src/views/pages/store/view/StoreTabItemHprice.vue b/src/views/pages/store/view/StoreTabItemHprice.vue
new file mode 100644
index 0000000..d2f12ea
--- /dev/null
+++ b/src/views/pages/store/view/StoreTabItemHprice.vue
@@ -0,0 +1,77 @@
+
+
+
+
+
diff --git a/src/views/pages/store/view/StoreTabItemHstock.vue b/src/views/pages/store/view/StoreTabItemHstock.vue
new file mode 100644
index 0000000..5562dfe
--- /dev/null
+++ b/src/views/pages/store/view/StoreTabItemHstock.vue
@@ -0,0 +1,70 @@
+
+
+
+
+
diff --git a/src/views/pages/store/view/StoreTabRemote.vue b/src/views/pages/store/view/StoreTabRemote.vue
new file mode 100644
index 0000000..efb2c42
--- /dev/null
+++ b/src/views/pages/store/view/StoreTabRemote.vue
@@ -0,0 +1,121 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Pos {{ caisse.id_caisse }}
+
+
+ Pos {{ caisse.id_caisse }}
+
+
+
+
+
+
+ Mount drive {{ caisse.drive }}
+
+
+ Mount drive
+
+
+
+
+
+
+
+
+
+