- Cataloghi
- Import ed Export Pagine - ObjectID sostituita con ObjectId
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.12"
|
||||
APP_VERSION="1.1.14"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="18"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.12"
|
||||
APP_VERSION="1.1.14"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="13"
|
||||
DIRECTORY_LOCAL=newfreeplanet
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.12"
|
||||
APP_VERSION="1.1.14"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="18"
|
||||
DIRECTORY_LOCAL=newfreeplanet
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.12"
|
||||
APP_VERSION="1.1.14"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="17"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.12"
|
||||
APP_VERSION="1.1.14"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="13"
|
||||
DIRECTORY_LOCAL=newfreeplanet
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.12"
|
||||
APP_VERSION="1.1.14"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="19"
|
||||
DIRECTORY_LOCAL=newfreeplanet
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.12"
|
||||
APP_VERSION="1.1.14"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="18"
|
||||
DIRECTORY_LOCAL=newfreeplanet
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.12"
|
||||
APP_VERSION="1.1.14"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="17"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.12"
|
||||
APP_VERSION="1.1.14"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="13"
|
||||
DIRECTORY_LOCAL=newfreeplanet
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.12"
|
||||
APP_VERSION="1.1.14"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="13"
|
||||
DIRECTORY_LOCAL=newfreeplanet
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.12"
|
||||
APP_VERSION="1.1.14"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="13"
|
||||
DIRECTORY_LOCAL=newfreeplanet
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.12"
|
||||
APP_VERSION="1.1.14"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="19"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "abitaregliiblei",
|
||||
"version": "1.1.12",
|
||||
"version": "1.1.14",
|
||||
"description": "Abitare Gli Iblei",
|
||||
"productName": "AbitareGliIblei",
|
||||
"author": "Paolo Arena",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.12"
|
||||
APP_VERSION="1.1.14"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="13"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.12"
|
||||
APP_VERSION="1.1.14"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="16"
|
||||
DIRECTORY_LOCAL=newfreeplanet
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "riso",
|
||||
"version": "1.1.12",
|
||||
"version": "1.1.14",
|
||||
"description": "Siamo la Rete Italiana di Scambio Orizzontale, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della condivisione e della cooperazione. Valori semplici e profondi che ci aiutano a ritrovare il Senso della Vita, perduto in questa società consumista, e riporti quei Sani Pricìpi Naturali ed Umani di Fratellanza che intere popolazioni antiche conoscevano bene.",
|
||||
"productName": "Riso",
|
||||
"author": "Paolo Arena",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.12"
|
||||
APP_VERSION="1.1.14"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="15"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.12"
|
||||
APP_VERSION="1.1.14"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="15"
|
||||
DIRECTORY_LOCAL=newfreeplanet
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "fioredellavita",
|
||||
"version": "1.1.12",
|
||||
"version": "1.1.14",
|
||||
"description": "Fiore Della Vita",
|
||||
"productName": "Fiore Della Vita",
|
||||
"author": "Paolo Arena",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.12"
|
||||
APP_VERSION="1.1.14"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="18"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
|
||||
@@ -1,25 +1,24 @@
|
||||
APP_VERSION="1.1.12"
|
||||
APP_VERSION="1.1.14"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="16"
|
||||
APP_ID="18"
|
||||
DIRECTORY_LOCAL=newfreeplanet
|
||||
DIRECTORY_SERVER=test.freeplanet_serverside
|
||||
SERVERDIR_WEBSITE="test.piuchebuono.app"
|
||||
SERVERPW_WEBSITE="pwdadmin@1AOK"
|
||||
APP_URL="https://test.piuchebuono.app"
|
||||
DIRECTORY_SERVER=/var/www/nodejs_test.piuchebuono_server
|
||||
SERVERDIR_WEBSITE="/var/www/test.gruppomacro.app"
|
||||
APP_URL="https://test.gruppomacro.app"
|
||||
URL_FACEBOOK=""
|
||||
PROVA_PAOLO=""
|
||||
LANG_DEFAULT="it"
|
||||
PAO_APP_ID="KKPPAA5KJK435J3KSS9F9D8S9F8SD98F9SDF"
|
||||
MASTER_KEY="KKPPSS5KJK435J3KSS9F9D8S9F8SD3CR3T"
|
||||
MONGODB_HOST="https://test.freeplanet.app:3001"
|
||||
LOGO_REG='piuchebuono-logo-full.png'
|
||||
MONGODB_HOST="https://testapi.gruppomacro.app"
|
||||
LOGO_REG='gruppomacro-logo-full.png'
|
||||
TEST_NAME=""
|
||||
TEST_SURNAME=""
|
||||
TEST_EMAIL=""
|
||||
TEST_USERNAME=""
|
||||
TEST_PASSWORD=""
|
||||
TEST_APORTADOR=""
|
||||
PUBLICKEY_PUSH="BGXRf1TgcqocqD6J7qnRgCG7AvM2lxAoW7peb7UEzB4SxBb6DxGRdJ0UvD9ewnrB9KrSrh0-aDCODXBm7sZ1DDs"
|
||||
PUBLICKEY_PUSH="BJgo8XR_upbnbMLWgCAUELo6DK7dRXffYAnFOxbaMMz5favBgcQBKT-eISqouO-jRad4Sw8l5nd2wCF6KorGiTc"
|
||||
IN_CONSTRUCTION="0"
|
||||
DEBUG="1"
|
||||
TELEGRAM_SUPPORT=""
|
||||
|
||||
BIN
_ALL_SITES/gruppomacro.app/images/bestseller.png
Normal file
BIN
_ALL_SITES/gruppomacro.app/images/bestseller.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 14 KiB |
BIN
_ALL_SITES/gruppomacro.app/images/novita.png
Normal file
BIN
_ALL_SITES/gruppomacro.app/images/novita.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 19 KiB |
BIN
_ALL_SITES/gruppomacro.app/images/ombra.png
Normal file
BIN
_ALL_SITES/gruppomacro.app/images/ombra.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 30 KiB |
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "gruppomacro",
|
||||
"version": "1.1.12",
|
||||
"version": "1.1.14",
|
||||
"description": "GruppoMacro",
|
||||
"productName": "Gruppo Macro",
|
||||
"author": "Paolo Arena",
|
||||
@@ -57,8 +57,8 @@
|
||||
"html2canvas": "^1.4.1",
|
||||
"html2pdf.js": "^0.10.2",
|
||||
"jquery": "^3.7.1",
|
||||
"jsbarcode": "^3.11.6",
|
||||
"js-cookie": "^3.0.5",
|
||||
"jsbarcode": "^3.11.6",
|
||||
"jspdf": "^2.5.2",
|
||||
"leaflet": "^1.9.4",
|
||||
"leaflet-routing-machine": "^3.2.12",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.12"
|
||||
APP_VERSION="1.1.14"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="17"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.12"
|
||||
APP_VERSION="1.1.14"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="17"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
|
||||
BIN
_ALL_SITES/piuchebuono.app/images/sito_in_manutenzione.jpg
Normal file
BIN
_ALL_SITES/piuchebuono.app/images/sito_in_manutenzione.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 139 KiB |
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "piuchebuono",
|
||||
"version": "1.1.12",
|
||||
"version": "1.1.14",
|
||||
"description": "PiuCheBuono",
|
||||
"productName": "PiuCheBuono",
|
||||
"author": "Paolo Arena",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.12"
|
||||
APP_VERSION="1.1.14"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="13"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.12"
|
||||
APP_VERSION="1.1.14"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="13"
|
||||
DIRECTORY_LOCAL=newfreeplanet
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_VERSION="1.1.12"
|
||||
APP_VERSION="1.1.14"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="16"
|
||||
DIRECTORY_LOCAL=newfreeplanet
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "riso",
|
||||
"version": "1.1.12",
|
||||
"version": "1.1.14",
|
||||
"description": "Siamo la Rete Italiana di Scambio Orizzontale, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della condivisione e della cooperazione. Valori semplici e profondi che ci aiutano a ritrovare il Senso della Vita, perduto in questa società consumista, e riporti quei Sani Pricìpi Naturali ed Umani di Fratellanza che intere popolazioni antiche conoscevano bene.",
|
||||
"productName": "Riso",
|
||||
"author": "Paolo Arena",
|
||||
|
||||
2
now.txt
2
now.txt
@@ -1 +1 @@
|
||||
TERMINA DI LAVORARE SU riso.app: (Sovrascrivo !)
|
||||
TERMINA DI LAVORARE SU piuchebuono.app: (Sovrascrivo !)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "gruppomacro",
|
||||
"version": "1.1.12",
|
||||
"version": "1.1.14",
|
||||
"description": "GruppoMacro",
|
||||
"productName": "Gruppo Macro",
|
||||
"author": "Paolo Arena",
|
||||
|
||||
@@ -34,7 +34,7 @@ self.addEventListener('activate', (event) => {
|
||||
});
|
||||
|
||||
|
||||
const APP_VERSION = "1.1.12";
|
||||
const APP_VERSION = "1.1.14";
|
||||
|
||||
console.log(' [ VER-' + APP_VERSION + ' ] _---------________------ PAO: this is my custom service worker');
|
||||
|
||||
|
||||
@@ -207,6 +207,7 @@ export const shared_consts = {
|
||||
FILTER_USER_SI_TELEGRAM_ID: 4194304,
|
||||
FILTER_USER_WITHOUT_USERNAME_TELEGRAM: 8388608,
|
||||
FILTER_USER_PROVINCE: 16777216,
|
||||
FILTER_USER_SENZA_PROVINCE: 33554432,
|
||||
|
||||
OPTIONS_SEARCH_ONLY_FULL_WORDS: 1,
|
||||
OPTIONS_SEARCH_USER_ONLY_FULL_WORDS: 2,
|
||||
|
||||
@@ -166,11 +166,11 @@
|
||||
{{ myproduct.productInfo.publisher.name }}
|
||||
</div>
|
||||
<div
|
||||
v-if="myproduct.productInfo.date_publishing && complete"
|
||||
v-if="myproduct.productInfo.date_pub && complete"
|
||||
class="book-data-pub"
|
||||
>
|
||||
Data Pubblicazione:
|
||||
{{ tools.getstrDate(myproduct.productInfo.date_publishing) }}
|
||||
{{ tools.getstrDate(myproduct.productInfo.date_pub) }}
|
||||
</div>
|
||||
|
||||
<q-separator class="q-my-sm"></q-separator>
|
||||
|
||||
@@ -578,7 +578,7 @@ export default defineComponent({
|
||||
function isProductNovita() {
|
||||
const monthsAgo = props.scheda.etichette?.novita?.months ?? 6; // Numero di mesi da considerare "recenti"
|
||||
|
||||
const publishingDate = new Date(myproduct.value!.productInfo.date_publishing!);
|
||||
const publishingDate = new Date(myproduct.value!.productInfo.date_pub!);
|
||||
|
||||
// Calcola i millisecondi corrispondenti a X mesi fa
|
||||
const monthsInMilliseconds = monthsAgo * 30 * 24 * 60 * 60 * 1000; // Approssimazione, non tutti i mesi hanno 30 giorni
|
||||
|
||||
@@ -623,7 +623,7 @@
|
||||
table="productinfos"
|
||||
:id="myproduct.productInfo._id"
|
||||
:rec="myproduct.productInfo"
|
||||
mykey="date_publishing"
|
||||
mykey="date_pub"
|
||||
debounce="1000"
|
||||
:save="updateproductmodif()"
|
||||
:type="costanti.FieldType.date"
|
||||
@@ -717,7 +717,7 @@
|
||||
table="productinfos"
|
||||
:id="myproduct.productInfo._id"
|
||||
:rec="myproduct.productInfo"
|
||||
mykey="totaleVenduti"
|
||||
mykey="totVen"
|
||||
debounce="1000"
|
||||
:save="updateproductmodif()"
|
||||
:type="costanti.FieldType.number"
|
||||
@@ -729,7 +729,7 @@
|
||||
table="productinfos"
|
||||
:id="myproduct.productInfo._id"
|
||||
:rec="myproduct.productInfo"
|
||||
mykey="venditeLastM"
|
||||
mykey="vLastM"
|
||||
debounce="1000"
|
||||
:save="updateproductmodif()"
|
||||
:type="costanti.FieldType.number"
|
||||
@@ -741,7 +741,7 @@
|
||||
table="productinfos"
|
||||
:id="myproduct.productInfo._id"
|
||||
:rec="myproduct.productInfo"
|
||||
mykey="venditeLast6M"
|
||||
mykey="vLast6M"
|
||||
debounce="1000"
|
||||
:save="updateproductmodif()"
|
||||
:type="costanti.FieldType.number"
|
||||
|
||||
@@ -8,12 +8,16 @@ import { PropType, defineComponent, onMounted, ref } from 'vue'
|
||||
import { IMyPage } from '@src/model'
|
||||
|
||||
export default defineComponent({
|
||||
name: 'CExportPage',
|
||||
name: 'CExportImportPage',
|
||||
props: {
|
||||
idPage: {
|
||||
type: String,
|
||||
required: true,
|
||||
},
|
||||
esporta: {
|
||||
type: Boolean,
|
||||
required: true,
|
||||
},
|
||||
nomefile: {
|
||||
type: String,
|
||||
required: true,
|
||||
55
src/components/CExportImportPage/CExportImportPage.vue
Executable file
55
src/components/CExportImportPage/CExportImportPage.vue
Executable file
@@ -0,0 +1,55 @@
|
||||
<template>
|
||||
<div v-if="myrec && myrec.path" style="width: 800px;" class="">
|
||||
<div v-if="esporta">
|
||||
|
||||
<h2>Pagina '{{ myrec.path }}'</h2>
|
||||
<br />
|
||||
|
||||
<div class="column">
|
||||
Esporta:
|
||||
<q-input
|
||||
outlined
|
||||
autofocus
|
||||
v-model="nomefile"
|
||||
label="Nome File"
|
||||
></q-input>
|
||||
|
||||
<q-btn
|
||||
color="primary"
|
||||
:label="esporta ? 'Esporta Pagina' : 'Importa Pagina'"
|
||||
@click="esportaPagina"
|
||||
></q-btn>
|
||||
<CDownloadJsonFile
|
||||
v-if="testoJson"
|
||||
:testoJson="testoJson"
|
||||
:title="`Scarica file ${nomefile}`"
|
||||
:nomefile="nomefile"
|
||||
>
|
||||
</CDownloadJsonFile>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
<div class="column">
|
||||
Importa file JSON:
|
||||
<input
|
||||
type="file"
|
||||
@change="onFileChange">
|
||||
</input>
|
||||
fileContent: {{fileContent}}
|
||||
<q-btn
|
||||
color="primary"
|
||||
label="Importa file"
|
||||
@click="importaPagina"
|
||||
></q-btn>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">Risultato:<br>
|
||||
{{ ris }}</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" src="./CExportImportPage.ts"></script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import './CExportImportPage.scss';
|
||||
</style>
|
||||
1
src/components/CExportImportPage/index.ts
Executable file
1
src/components/CExportImportPage/index.ts
Executable file
@@ -0,0 +1 @@
|
||||
export {default as CExportImportPage} from './CExportImportPage.vue'
|
||||
@@ -1,51 +0,0 @@
|
||||
<template>
|
||||
<div v-if="myrec && myrec.path" style="width: 800px;" class="">
|
||||
<h2>Pagina '{{ myrec.path }}'</h2>
|
||||
<br />
|
||||
|
||||
<div class="column">
|
||||
Esporta:
|
||||
<q-input
|
||||
outlined
|
||||
autofocus
|
||||
v-model="nomefile"
|
||||
label="Nome File"
|
||||
></q-input>
|
||||
|
||||
<q-btn
|
||||
color="primary"
|
||||
label="Esporta Pagina"
|
||||
@click="esportaPagina"
|
||||
></q-btn>
|
||||
<CDownloadJsonFile
|
||||
v-if="testoJson"
|
||||
:testoJson="testoJson"
|
||||
:title="`Scarica file ${nomefile}`"
|
||||
:nomefile="nomefile"
|
||||
>
|
||||
</CDownloadJsonFile>
|
||||
</div>
|
||||
<div class="column">
|
||||
Importa file JSON:
|
||||
<input
|
||||
type="file"
|
||||
@change="onFileChange"
|
||||
outlined
|
||||
></input>
|
||||
fileContent: {{fileContent}}
|
||||
<q-btn
|
||||
color="primary"
|
||||
label="Importa file"
|
||||
@click="importaPagina"
|
||||
></q-btn>
|
||||
</div>
|
||||
<div class="row">Risultato:<br>
|
||||
{{ ris }}</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" src="./CExportPage.ts"></script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import './CExportPage.scss';
|
||||
</style>
|
||||
@@ -1 +0,0 @@
|
||||
export {default as CExportPage} from './CExportPage.vue'
|
||||
@@ -50,11 +50,13 @@ export default defineComponent({
|
||||
|
||||
onMounted(mounted)
|
||||
|
||||
function makeClick() {
|
||||
}
|
||||
|
||||
return {
|
||||
tools,
|
||||
getmenuByPath,
|
||||
|
||||
makeClick,
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
<template>
|
||||
<div :style="{ paddingLeft: `${level * 4}px` }">
|
||||
|
||||
<q-separator v-if="item.isseparator" />
|
||||
<q-expansion-item
|
||||
v-else-if="item.routes2 || item.sottoMenu"
|
||||
v-else-if="item.routes2 || (item.sottoMenu && item.sottoMenu.length > 0)"
|
||||
:content-inset-level="item.level_parent"
|
||||
:header-class="getmymenuclass(item)"
|
||||
:header-inset-level="item.level_parent"
|
||||
@@ -14,45 +15,49 @@
|
||||
item.mainMenu || item.routes2 ? 'fas fa-chevron-down' : 'none'
|
||||
"
|
||||
>
|
||||
<c-menu-item
|
||||
v-for="(childItem, childIndex) in item.routes2 || item.sottoMenu"
|
||||
:key="childIndex"
|
||||
:item="getmenuByPath(childItem)"
|
||||
:tools="tools"
|
||||
:getroute="getroute"
|
||||
:getmymenuclass="getmymenuclass"
|
||||
:getimgiconclass="getimgiconclass"
|
||||
:clBase="clBase"
|
||||
:mainMenu="item.mainMenu"
|
||||
:level="level + 1"
|
||||
/>
|
||||
<router-link :to="getroute(item)" custom>
|
||||
<c-menu-item
|
||||
v-for="(childItem, childIndex) in item.routes2 || (item.sottoMenu && item.sottoMenu.length > 0)"
|
||||
:key="childIndex"
|
||||
:item="getmenuByPath(childItem)"
|
||||
:tools="tools"
|
||||
:getroute="getroute"
|
||||
:getmymenuclass="getmymenuclass"
|
||||
:getimgiconclass="getimgiconclass"
|
||||
:clBase="clBase"
|
||||
:mainMenu="item.mainMenu"
|
||||
:level="level + 1"
|
||||
/>
|
||||
</router-link>
|
||||
</q-expansion-item>
|
||||
<q-item
|
||||
v-else
|
||||
clickable
|
||||
:to="getroute(item)"
|
||||
:content-inset-level="item.level_parent"
|
||||
:header-inset-level="item.level_parent"
|
||||
active-class="my-menu-active"
|
||||
expand-icon="none"
|
||||
>
|
||||
<q-item-section thumbnail>
|
||||
<q-avatar
|
||||
:icon="item.materialIcon"
|
||||
:size="!!item.iconsize ? item.iconsize : '2rem'"
|
||||
:font-size="!!item.iconsize ? item.iconsize : '2rem'"
|
||||
text-color="primary"
|
||||
square
|
||||
rounded
|
||||
>
|
||||
</q-avatar>
|
||||
</q-item-section>
|
||||
<router-link v-else :to="getroute(item)" custom>
|
||||
<q-item
|
||||
clickable
|
||||
:to="getroute(item)"
|
||||
@click="makeClick"
|
||||
:content-inset-level="item.level_parent"
|
||||
:header-inset-level="item.level_parent"
|
||||
active-class="my-menu-active"
|
||||
expand-icon="none"
|
||||
>
|
||||
<q-item-section thumbnail>
|
||||
<q-avatar
|
||||
:icon="item.materialIcon"
|
||||
:size="!!item.iconsize ? item.iconsize : '2rem'"
|
||||
:font-size="!!item.iconsize ? item.iconsize : '2rem'"
|
||||
text-color="primary"
|
||||
square
|
||||
rounded
|
||||
>
|
||||
</q-avatar>
|
||||
</q-item-section>
|
||||
|
||||
<q-item-section>
|
||||
<span :class="item.extraclass">{{ tools.getLabelByItem(item) }}</span>
|
||||
<span v-if="item.subtitle" class="subtitle">{{ item.subtitle }}</span>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
<q-item-section>
|
||||
<span :class="item.extraclass">{{ tools.getLabelByItem(item) }}</span>
|
||||
<span v-if="item.subtitle" class="subtitle">{{ item.subtitle }}</span>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
</router-link>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ export default defineComponent({
|
||||
CSelectColor, CSelectFontSize, CSelectImage, CImgPoster, CSelectAnimation, CMySlider,
|
||||
CMySize, CBorders, CMyDimensioni, CMyText,
|
||||
},
|
||||
emits: ['saveElem', 'selElemClick', 'toggleSize', 'deleteElem', 'dupPage', 'expPage'],
|
||||
emits: ['saveElem', 'selElemClick', 'toggleSize', 'deleteElem', 'dupPage', 'expPage', 'impPage'],
|
||||
props: {
|
||||
myelem: {
|
||||
type: Object as PropType<IMyElem>,
|
||||
@@ -185,6 +185,9 @@ export default defineComponent({
|
||||
async function exportPage() {
|
||||
emit('expPage', null)
|
||||
}
|
||||
async function importPage() {
|
||||
emit('impPage', null)
|
||||
}
|
||||
async function dupElem(order?: number) {
|
||||
|
||||
const newrec: IMyElem = tools.jsonCopy(props.myelem)
|
||||
@@ -1090,6 +1093,7 @@ export default defineComponent({
|
||||
copyfromTemplate,
|
||||
modifElemAndSchede,
|
||||
exportPage,
|
||||
importPage,
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
@@ -57,6 +57,15 @@
|
||||
@click="dupPage()"
|
||||
>
|
||||
</q-btn>
|
||||
<q-btn
|
||||
icon="fas fa-expand-alt"
|
||||
label="Importa"
|
||||
dense
|
||||
size="sm"
|
||||
color="primary"
|
||||
@click="importPage()"
|
||||
>
|
||||
</q-btn>
|
||||
<q-btn
|
||||
icon="fas fa-expand-alt"
|
||||
label="Esporta"
|
||||
|
||||
@@ -10,7 +10,7 @@ import { CMyElem } from '@/components/CMyElem'
|
||||
import { CTitleBanner } from '@/components/CTitleBanner'
|
||||
import { CMyEditElem } from '@/components/CMyEditElem'
|
||||
import { CMyPageElem2 } from '@/components/CMyPageElem2'
|
||||
import { CExportPage } from '@/components/CExportPage'
|
||||
import { CExportImportPage } from '@src/components/CExportImportPage'
|
||||
|
||||
import { CImgTitle } from '../CImgTitle/index'
|
||||
import { CTitle } from '../CTitle/index'
|
||||
@@ -25,7 +25,7 @@ export default defineComponent({
|
||||
name: 'CMyPageElem',
|
||||
components: {
|
||||
LandingFooter, CImgTitle, CTitle, CMyElem,
|
||||
CMyEditElem, CMyPageElem2, CTitleBanner, CExportPage,
|
||||
CMyEditElem, CMyPageElem2, CTitleBanner, CExportImportPage,
|
||||
},
|
||||
props: {
|
||||
title: String,
|
||||
@@ -79,6 +79,7 @@ export default defineComponent({
|
||||
const mywidthEditor = ref(400)
|
||||
|
||||
const showexportPage = ref(false)
|
||||
const showimportPage = ref(false)
|
||||
|
||||
const editOn = computed({
|
||||
get(): boolean {
|
||||
@@ -199,6 +200,7 @@ export default defineComponent({
|
||||
deleteElem,
|
||||
duplicatePage,
|
||||
showexportPage,
|
||||
showimportPage,
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
@@ -52,6 +52,7 @@
|
||||
@toggleSize="toggleSize"
|
||||
@dupPage="duplicatePage"
|
||||
@expPage="showexportPage = !showexportPage"
|
||||
@impPage="showimportPage = !showimportPage"
|
||||
>
|
||||
</CMyEditElem>
|
||||
</q-drawer>
|
||||
@@ -177,7 +178,22 @@
|
||||
</q-toolbar>
|
||||
<q-card-section class="q-pa-xs inset-shadow">
|
||||
<br>
|
||||
<CExportPage :idPage="selElem.idPage" :nomefile="`esporta_${rec.path}.json`"> </CExportPage>
|
||||
<CExportImportPage :idPage="rec._id" :nomefile="`esporta_${rec.path}.json`" :esporta="true"> </CExportImportPage>
|
||||
<br>
|
||||
</q-card-section>
|
||||
</q-card>
|
||||
</q-dialog>
|
||||
<q-dialog v-model="showimportPage">
|
||||
<q-card class="dialog_card">
|
||||
<q-toolbar class="bg-primary text-white">
|
||||
<q-toolbar-title>
|
||||
Esporta Pagina
|
||||
</q-toolbar-title>
|
||||
<q-btn flat round color="white" icon="close" v-close-popup></q-btn>
|
||||
</q-toolbar>
|
||||
<q-card-section class="q-pa-xs inset-shadow">
|
||||
<br>
|
||||
<CExportImportPage :idPage="rec._id" :nomefile="`esporta_${rec.path}.json`"> </CExportImportPage>
|
||||
<br>
|
||||
</q-card-section>
|
||||
</q-card>
|
||||
|
||||
@@ -468,7 +468,7 @@ export default defineComponent({
|
||||
|
||||
try {
|
||||
|
||||
console.log('mounted', 'isFieldDb()', myrow.value, 'sub', props.subfield, 'field', props.field)
|
||||
// console.log('mounted', 'isFieldDb()', myrow.value, 'sub', props.subfield, 'field', props.field)
|
||||
if (isFieldDb() && !props.isrec) {
|
||||
// console.log(' . none...')
|
||||
} else {
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<meta name="description" content="<%= productDescription %>">
|
||||
<meta name="format-detection" content="telephone=no">
|
||||
<meta name="msapplication-tap-highlight" content="no">
|
||||
<meta name="version" content="1.1.12">
|
||||
<meta name="version" content="1.1.14">
|
||||
<meta name="viewport"
|
||||
content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width<% if (ctx.mode.cordova || ctx.mode.capacitor) { %>, viewport-fit=cover<% } %>">
|
||||
|
||||
|
||||
@@ -69,10 +69,15 @@ export default defineComponent({
|
||||
} */
|
||||
|
||||
function getroute(elem: IListRoutes) {
|
||||
let link = ''
|
||||
if (elem.idelem) {
|
||||
return tools.getUrlByTipoProj(elem.urlroute ? elem.urlroute : '') + elem.idelem
|
||||
link = tools.getUrlByTipoProj(elem.urlroute ? elem.urlroute : '') + elem.idelem
|
||||
}
|
||||
return elem.path
|
||||
if (!link)
|
||||
link = elem.path
|
||||
|
||||
// console.log('getroute LINK=', link)
|
||||
return link
|
||||
}
|
||||
|
||||
function getmymenuclass(elem: IListRoutes) {
|
||||
|
||||
@@ -37,18 +37,18 @@ export interface IProductInfo {
|
||||
collezione?: string
|
||||
idPublisher?: string
|
||||
publisher?: IPublisher
|
||||
date_publishing?: Date
|
||||
date_publishing_ts: number
|
||||
date_pub?: Date
|
||||
date_pub_ts: number
|
||||
pagine?: number
|
||||
productTypes?: number[]
|
||||
versioneGM?: string
|
||||
short_descr: string
|
||||
|
||||
totaleVenduti?: number,
|
||||
venditeLastM?: number,
|
||||
venditeLast6M?: number,
|
||||
venditeLastY?: number,
|
||||
venditeLast2Y?: number,
|
||||
totVen?: number,
|
||||
vLastM?: number,
|
||||
vLast6M?: number,
|
||||
vLastY?: number,
|
||||
vLast2Y?: number,
|
||||
dataUltimoOrdine?: Date,
|
||||
rank3M?: number,
|
||||
rank6M?: number,
|
||||
|
||||
@@ -368,11 +368,11 @@ export default defineComponent({
|
||||
return importMacroCatalogoJson(cmd, testo);
|
||||
} else if (cmd === shared_consts.Cmd.MACRO_DESCRELINKSITOWEB) {
|
||||
|
||||
console.log('TESTO PRIMA:', testo)
|
||||
// console.log('TESTO PRIMA:', testo)
|
||||
const testoJSON = tools.convertXMLStringToJSON(testo)
|
||||
|
||||
const testoJSONtoPrint = JSON.stringify(testoJSON, null, 2)
|
||||
console.log(testoJSONtoPrint)
|
||||
// console.log(testoJSONtoPrint)
|
||||
|
||||
return importMacroCatalogoJson(cmd, testoJSONtoPrint)
|
||||
}
|
||||
|
||||
@@ -65,7 +65,11 @@ export default defineComponent({
|
||||
{
|
||||
label: 'Provincia',
|
||||
value: shared_consts.FILTER_USER_PROVINCE
|
||||
}
|
||||
},
|
||||
{
|
||||
label: 'Senza Provincia',
|
||||
value: shared_consts.FILTER_USER_SENZA_PROVINCE
|
||||
},
|
||||
]
|
||||
|
||||
} else if (tools.appid() === tools.IDAPP_FREEPLANET) {
|
||||
|
||||
29
src/rootgen/sito_offline/sito_offline.scss
Normal file
29
src/rootgen/sito_offline/sito_offline.scss
Normal file
@@ -0,0 +1,29 @@
|
||||
.maintenance-page {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
height: 100vh;
|
||||
background-color: #f8f9fa;
|
||||
color: #343a40;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
h1 {
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
button {
|
||||
margin-top: 16px;
|
||||
padding: 10px 15px;
|
||||
font-size: 16px;
|
||||
color: white;
|
||||
background-color: #007bff;
|
||||
border: none;
|
||||
border-radius: 5px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background-color: #0056b3;
|
||||
}
|
||||
@@ -1,8 +1,25 @@
|
||||
import { defineComponent } from 'vue'
|
||||
import { computed, defineComponent, onMounted, ref } from 'vue'
|
||||
|
||||
import { tools } from '@store/Modules/tools'
|
||||
import { useRouter } from 'vue-router';
|
||||
|
||||
export default defineComponent({
|
||||
name: 'sito_offline',
|
||||
setup() {
|
||||
return {}
|
||||
|
||||
const $router = useRouter()
|
||||
|
||||
onMounted(() => {
|
||||
});
|
||||
|
||||
const checkStatus = () => {
|
||||
// Logica per controllare lo stato del servizio (opzionale)
|
||||
$router.replace('/')
|
||||
};
|
||||
|
||||
return {
|
||||
checkStatus,
|
||||
tools,
|
||||
};
|
||||
},
|
||||
})
|
||||
|
||||
@@ -1,7 +1,19 @@
|
||||
<template>
|
||||
<div>
|
||||
sito_offline
|
||||
<div class="maintenance-page">
|
||||
<h1 class="text-blue text-bold">Sito "{{ tools.getappname() }}" In Manutenzione</h1>
|
||||
|
||||
<q-img src="images/sito_in_manutenzione.jpg" width="200px" height="200px">
|
||||
</q-img>
|
||||
<br>
|
||||
<p>Ci scusiamo per l'inconveniente, ma stiamo effettuando lavori di manutenzione sul sito.</p>
|
||||
<p>Ritorneremo online il prima possibile. Grazie per la vostra pazienza!</p>
|
||||
|
||||
<button @click="checkStatus">Riaggiorna la pagina</button>
|
||||
</div>
|
||||
</template>
|
||||
<script lang="ts" src="./sito_offline.ts">
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import "./sito_offline.scss";
|
||||
</style>
|
||||
|
||||
@@ -1929,7 +1929,7 @@ const msg_it = {
|
||||
descrizione_completa_macro: '{descrizione_completa_macro}',
|
||||
descrizione_breve_macro: '{descrizione_breve_macro}',
|
||||
link_macro: '{link_macro}',
|
||||
totaleVenduti: 'Totale Venduti',
|
||||
totVen: 'Totale Venduti',
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -1368,7 +1368,7 @@ export const colAttivita = [
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InPage + costanti.showWhen.InEdit + costanti.showWhen.InView,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'date_publishing', label_trans: 'products.date_publishing',
|
||||
name: 'date_pub', label_trans: 'products.date_pub',
|
||||
fieldtype: costanti.FieldType.onlydate,
|
||||
foredit: false,
|
||||
noshowlabel: true,
|
||||
@@ -2338,7 +2338,7 @@ export const colTableProductInfos = [
|
||||
AddCol({ name: 'valori_nutrizionali', label_trans: 'products.valori_nutrizionali', fieldtype: costanti.FieldType.html }),
|
||||
AddCol({ name: 'author', label_trans: 'products.author', fieldtype: costanti.FieldType.string }),
|
||||
AddCol({ name: 'collezione', label_trans: 'products.collezione', fieldtype: costanti.FieldType.string }),
|
||||
AddCol({ name: 'date_publishing', label_trans: 'products.date_publishing', fieldtype: costanti.FieldType.onlydate }),
|
||||
AddCol({ name: 'date_pub', label_trans: 'products.date_pub', fieldtype: costanti.FieldType.onlydate }),
|
||||
AddCol({ name: 'publisher', label_trans: 'products.publisher', fieldtype: costanti.FieldType.string }),
|
||||
AddCol({ name: 'pagine', label_trans: 'products.pagine', fieldtype: costanti.FieldType.number }),
|
||||
AddCol({ name: 'note', label_trans: 'products.note', fieldtype: costanti.FieldType.html }),
|
||||
|
||||
@@ -115,6 +115,7 @@ export const tools = {
|
||||
IDAPP_CNM: '10',
|
||||
IDAPP_FREEPLANET: '1',
|
||||
IDAPP_RISO: '13',
|
||||
IDAPP_PCB: '17',
|
||||
IDAPP_MACRO: '18',
|
||||
|
||||
TipoMsg: {
|
||||
@@ -8035,7 +8036,7 @@ export const tools = {
|
||||
} catch (e) {
|
||||
console.error('err getDirectoryGall', e)
|
||||
}
|
||||
console.log('getDirectoryGall', ris, 'mypath', path, 'myrow', myrow)
|
||||
// console.log('getDirectoryGall', ris, 'mypath', path, 'myrow', myrow)
|
||||
return ris
|
||||
},
|
||||
|
||||
|
||||
@@ -1278,10 +1278,10 @@ export const useProducts = defineStore('Products', {
|
||||
const maxDescriptionLength = testo.maxlength ?? 100;
|
||||
const description = myproduct.productInfo.short_descr || '';
|
||||
const long_descr = myproduct.productInfo.description || '';
|
||||
const date_pub = tools.getstrDateShort(myproduct.productInfo.date_publishing) || '';
|
||||
const date_pub = tools.getstrDateShort(myproduct.productInfo.date_pub) || '';
|
||||
const ranking_globale = myproduct.productInfo.rank1Y! || 0;
|
||||
const ranking = myproduct.indiceRanking! || 0;
|
||||
const venduti = myproduct.productInfo.totaleVenduti! || 0;
|
||||
const venduti = myproduct.productInfo.totVen! || 0;
|
||||
|
||||
const linkvenduti = '<a href="http://vps-88271abb.vps.ovh.net/apimacro/public/view-ordini-by-idarticolo/' + myproduct.productInfo.sku + '" target="_blank">'+venduti+'</a>'
|
||||
const debugstr = " Rank=" + ranking + "<br> 1Y=" + (myproduct.productInfo.rank1Y! || '') + '<br> Venduti=' + linkvenduti + '<br> Data Pubb=' + date_pub
|
||||
|
||||
@@ -638,8 +638,8 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
||||
materialIcon: 'home',
|
||||
name: 'otherpages.sito_offline',
|
||||
component: () => import('@src/rootgen/sito_offline/sito_offline.vue'),
|
||||
inmenu: true,
|
||||
infooter: true,
|
||||
inmenu: false,
|
||||
infooter: false,
|
||||
}
|
||||
|
||||
// console.log('Sito Online? ', toolsext.sito_online(false))
|
||||
@@ -647,7 +647,7 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
||||
if (!toolsext.sito_online(false)) {
|
||||
static_data.routes = [sito_offline, last]
|
||||
} else {
|
||||
static_data.routes = [...baseroutes, ...ecommRoutes, ...adminRoutes, ...arrpagesroute, ...AIRoutes, last]
|
||||
static_data.routes = [sito_offline, ...baseroutes, ...ecommRoutes, ...adminRoutes, ...arrpagesroute, ...AIRoutes, last]
|
||||
}
|
||||
|
||||
/*for (const menu of static_data.routes) {
|
||||
|
||||
@@ -426,12 +426,12 @@ export default defineComponent({
|
||||
if (sort === costanti.SORT_PUBDATE) {
|
||||
|
||||
arrprod = arrprod.sort((a: IProduct, b: IProduct) => {
|
||||
return b.productInfo.date_publishing_ts - a.productInfo.date_publishing_ts
|
||||
return b.productInfo.date_pub_ts - a.productInfo.date_pub_ts
|
||||
})
|
||||
} else if (sort === costanti.SORT_BESTSELLER) {
|
||||
|
||||
arrprod = arrprod.sort((a: IProduct, b: IProduct) => {
|
||||
return b.productInfo.rank1Y! - a.productInfo.rank1Y!
|
||||
return b.productInfo.rank3M! - a.productInfo.rank3M!
|
||||
})
|
||||
|
||||
arrprod = arrprod.map((product, index) => {
|
||||
|
||||
Reference in New Issue
Block a user