aggiornamenti vari. prima di VITE
@@ -1,20 +1,19 @@
|
||||
APP_VERSION="1.1.22"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="18"
|
||||
APP_ID="13"
|
||||
DIRECTORY_LOCAL="newfreeplanet"
|
||||
DIRECTORY_SERVER="freeplanet_serverside"
|
||||
SERVERDIR_WEBSITE=""
|
||||
SERVERPW_WEBSITE=""
|
||||
APP_URL="https://localhost"
|
||||
URL_FACEBOOK="https://www.facebook.com/freeplanetapp"
|
||||
PROVA_PAOLO="PROVA ENV FUNZIONA!"
|
||||
LANG_DEFAULT="it"
|
||||
PAO_APP_ID="KKPPAA5KJK435J3KSS9F9D8S9F8SD98F9SDF"
|
||||
MASTER_KEY="KKPPSS5KJK435J3KSS9F9D8S9F8SD3CR3T"
|
||||
MONGODB_HOST="https://localhost:3000"
|
||||
LOGO_REG='gruppomacro-logo-full.png'
|
||||
TEST_NAME="Surya"
|
||||
TEST_SURNAME=""
|
||||
LOGO_REG='riso-logo-full.png'
|
||||
TEST_NAME="Paolo"
|
||||
TEST_SURNAME="Arena"
|
||||
TEST_EMAIL=""
|
||||
TEST_USERNAME=""
|
||||
TEST_PASSWORD=""
|
||||
@@ -25,5 +24,5 @@ DEBUG="1"
|
||||
TELEGRAM_SUPPORT=""
|
||||
PROJECT_ID_MAIN="5cc0a13fe5c9d156728f400a"
|
||||
TEST_CELL=""
|
||||
VUE_APP_ISTEST=1
|
||||
VUE_APP_INLOCALE=1
|
||||
VUE_APP_ISTEST="1"
|
||||
VUE_APP_INLOCALE="1"
|
||||
|
||||
@@ -24,4 +24,5 @@ DEBUG="1"
|
||||
TELEGRAM_SUPPORT=""
|
||||
PROJECT_ID_MAIN="5cc0a13fe5c9d156728f400a"
|
||||
TEST_CELL=""
|
||||
VUE_APP_ISTEST=0
|
||||
VUE_APP_ISTEST=0
|
||||
API_KEY_MSSQL="m68yADSr123MIVIDA@154$DSAGVOK"
|
||||
@@ -25,3 +25,4 @@ TELEGRAM_SUPPORT=""
|
||||
PROJECT_ID_MAIN="5cc0a13fe5c9d156728f400a"
|
||||
TEST_CELL=""
|
||||
VUE_APP_ISTEST="0"
|
||||
API_KEY_MSSQL="m68yADSr123MIVIDA@154$DSAGVOK"
|
||||
@@ -25,3 +25,4 @@ TELEGRAM_SUPPORT=""
|
||||
PROJECT_ID_MAIN="5cc0a13fe5c9d156728f400a"
|
||||
TEST_CELL=""
|
||||
VUE_APP_ISTEST=0
|
||||
API_KEY_MSSQL="m68yADSr123MIVIDA@154$DSAGVOK"
|
||||
@@ -1,27 +1,27 @@
|
||||
APP_VERSION="1.1.22"
|
||||
SERVICE_WORKER_FILE="service-worker.js"
|
||||
APP_ID="18"
|
||||
APP_ID="13"
|
||||
DIRECTORY_LOCAL=newfreeplanet
|
||||
DIRECTORY_SERVER=/var/www/freeplanet_serverside
|
||||
SERVERDIR_WEBSITE="/var/www/gruppomacro.app"
|
||||
DIRECTORY_SERVER=freeplanet_serverside
|
||||
SERVERDIR_WEBSITE=riso.app
|
||||
SERVERPW_WEBSITE=pwdadmin@1AOK
|
||||
APP_URL="https://gruppomacro.app"
|
||||
APP_URL="https://riso.app"
|
||||
URL_FACEBOOK=""
|
||||
PROVA_PAOLO=""
|
||||
LANG_DEFAULT="it"
|
||||
PAO_APP_ID="KKPPAA5KJK435J3KSS9F9D8S9F8SD98F9SDF"
|
||||
MASTER_KEY="KKPPSS5KJK435J3KSS9F9D8S9F8SD3CR3T"
|
||||
MONGODB_HOST="https://api.gruppomacro.app"
|
||||
LOGO_REG='gruppomacro-logo-full.png'
|
||||
MONGODB_HOST="https://www.freeplanet.app:3000"
|
||||
LOGO_REG='riso-logo-full.png'
|
||||
TEST_NAME=""
|
||||
TEST_SURNAME=""
|
||||
TEST_EMAIL=""
|
||||
TEST_USERNAME=""
|
||||
TEST_PASSWORD=""
|
||||
TEST_APORTADOR="------"
|
||||
PUBLICKEY_PUSH="BJgo8XR_upbnbMLWgCAUELo6DK7dRXffYAnFOxbaMMz5favBgcQBKT-eISqouO-jRad4Sw8l5nd2wCF6KorGiTc"
|
||||
PUBLICKEY_PUSH="BNM-cEpTbPVc_ujXf3QOC8ggf7b-X44P44esfJUWqNOFq1XhWCoZJpOi71_cbXC5SnfO9HassQ6OouAYgtBA9Pw"
|
||||
DEBUG="1"
|
||||
TELEGRAM_SUPPORT=""
|
||||
PROJECT_ID_MAIN="5cc0a13fe5c9d156728f400a"
|
||||
TEST_CELL=""
|
||||
VUE_APP_ISTEST=0
|
||||
VUE_APP_ISTEST=0
|
||||
|
||||
@@ -25,3 +25,4 @@ TELEGRAM_SUPPORT=""
|
||||
PROJECT_ID_MAIN="5cc0a13fe5c9d156728f400a"
|
||||
TEST_CELL=""
|
||||
VUE_APP_ISTEST=1
|
||||
API_KEY_MSSQL="m68yADSr123MIVIDA@154$DSAGVOK"
|
||||
@@ -25,3 +25,4 @@ TELEGRAM_SUPPORT=""
|
||||
PROJECT_ID_MAIN="5cc0a13fe5c9d156728f400a"
|
||||
TEST_CELL=""
|
||||
VUE_APP_ISTEST="1"
|
||||
API_KEY_MSSQL="m68yADSr123MIVIDA@154$DSAGVOK"
|
||||
@@ -25,3 +25,4 @@ TELEGRAM_SUPPORT=""
|
||||
PROJECT_ID_MAIN="5cc0a13fe5c9d156728f400a"
|
||||
TEST_CELL=""
|
||||
VUE_APP_ISTEST=1
|
||||
API_KEY_MSSQL="m68yADSr123MIVIDA@154$DSAGVOK"
|
||||
@@ -26,4 +26,6 @@ TELEGRAM_SUPPORT=""
|
||||
PROJECT_ID_MAIN="5cc0a13fe5c9d156728f400a"
|
||||
TEST_CELL=""
|
||||
VUE_APP_ISTEST=1
|
||||
VUE_APP_INLOCALE=1
|
||||
VUE_APP_INLOCALE=1
|
||||
API_KEY_MSSQL="m68yADSr123MIVIDA@154$DSAGVOK"
|
||||
SERVER_A_URL="http://51.77.156.69:3000"
|
||||
@@ -25,3 +25,4 @@ TELEGRAM_SUPPORT=""
|
||||
PROJECT_ID_MAIN="5cc0a13fe5c9d156728f400a"
|
||||
TEST_CELL=""
|
||||
VUE_APP_ISTEST=1
|
||||
API_KEY_MSSQL="m68yADSr123MIVIDA@154$DSAGVOK"
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "gruppomacro",
|
||||
"version": "1.1.22",
|
||||
"description": "GruppoMacro",
|
||||
"description": "Gruppo Macro",
|
||||
"productName": "Gruppo Macro",
|
||||
"author": "Surya",
|
||||
"private": true,
|
||||
@@ -28,63 +28,61 @@
|
||||
"@babel/plugin-proposal-export-namespace-from": "^7.18.9",
|
||||
"@babel/plugin-proposal-json-strings": "^7.18.6",
|
||||
"@babel/plugin-proposal-numeric-separator": "^7.18.6",
|
||||
"@babel/runtime": "^7.25.7",
|
||||
"@cubejs-client/core": "^0.36.4",
|
||||
"@quasar/extras": "^1.16.12",
|
||||
"@quasar/quasar-ui-qcalendar": "^4.0.0-beta.19",
|
||||
"@types/leaflet": "^1.9.12",
|
||||
"@vue/compat": "^3.5.10",
|
||||
"@vue/compiler-sfc": "^3.5.10",
|
||||
"@vue/eslint-config-standard": "^8.0.1",
|
||||
"@babel/runtime": "^7.26.7",
|
||||
"@cubejs-client/core": "^1.2.1",
|
||||
"@quasar/extras": "^1.16.16",
|
||||
"@quasar/quasar-ui-qcalendar": "^4.1.1",
|
||||
"@types/leaflet": "^1.9.16",
|
||||
"@vue/compat": "^3.5.13",
|
||||
"@vue/compiler-sfc": "^3.5.13",
|
||||
"@vue/eslint-config-standard": "^9.0.0",
|
||||
"@vuelidate/core": "^2.0.3",
|
||||
"@vuelidate/validators": "^2.0.4",
|
||||
"acorn": "^8.12.1",
|
||||
"acorn": "^8.14.0",
|
||||
"animate.css": "^4.1.1",
|
||||
"autoprefixer": "^10.4.20",
|
||||
"axios": "^1.7.7",
|
||||
"axios": "^1.7.9",
|
||||
"bcryptjs": "^2.4.3",
|
||||
"chart.js": "^4.4.4",
|
||||
"core-js": "^3.38.1",
|
||||
"crypto-browserify": "^3.12.0",
|
||||
"chart.js": "^4.4.7",
|
||||
"core-js": "^3.40.0",
|
||||
"crypto-browserify": "^3.12.1",
|
||||
"date-fns": "^4.1.0",
|
||||
"dotenv": "^16.4.5",
|
||||
"echarts": "5.5.1",
|
||||
"eslint-plugin-n": "^17.10.3",
|
||||
"dotenv": "^16.4.7",
|
||||
"echarts": "5.6.0",
|
||||
"eslint-plugin-n": "^17.15.1",
|
||||
"eslint-plugin-quasar": "^1.1.0",
|
||||
"graphql": "^16.9.0",
|
||||
"graphql": "^16.10.0",
|
||||
"graphql-tag": "^2.12.6",
|
||||
"gsap": "^3.12.5",
|
||||
"html2canvas": "^1.4.1",
|
||||
"gsap": "^3.12.7",
|
||||
"html2pdf.js": "^0.10.2",
|
||||
"jquery": "^3.7.1",
|
||||
"js-cookie": "^3.0.5",
|
||||
"jsbarcode": "^3.11.6",
|
||||
"jspdf": "^2.5.2",
|
||||
"leaflet": "^1.9.4",
|
||||
"leaflet-routing-machine": "^3.2.12",
|
||||
"leaflet.markercluster": "^1.5.3",
|
||||
"localforage": "^1.10.0",
|
||||
"lodash": "^4.17.21",
|
||||
"normalize.css": "^8.0.1",
|
||||
"npm": "^10.8.3",
|
||||
"npm": "^10.8.0",
|
||||
"nprogress": "^0.2.0",
|
||||
"pinia": "^2.2.4",
|
||||
"pinia": "^2.3.1",
|
||||
"qrcode-vue3": "^1.7.1",
|
||||
"quasar": "^2.17.0",
|
||||
"quasar": "^2.17.7",
|
||||
"quasar-extras": "^2.0.9",
|
||||
"register-service-worker": "^1.7.2",
|
||||
"typescript-eslint": "^8.8.0",
|
||||
"vee-validate": "^4.13.2",
|
||||
"vue": "^3.5.10",
|
||||
"rxjs": "^7.8.1",
|
||||
"typescript-eslint": "^8.23.0",
|
||||
"vee-validate": "^4.15.0",
|
||||
"vue": "^3.5.13",
|
||||
"vue-class-component": "^8.0.0-rc.1",
|
||||
"vue-country-code": "^1.1.3",
|
||||
"vue-echarts": "^7.0.3",
|
||||
"vue-i18n": "^9.14.1",
|
||||
"vue-i18n": "^11.1.0",
|
||||
"vue-idb": "^0.2.0",
|
||||
"vue-image-zoomer": "^2.4.1",
|
||||
"vue-image-zoomer": "^2.4.4",
|
||||
"vue-loader": "^17.4.2",
|
||||
"vue-property-decorator": "^10.0.0-rc.3",
|
||||
"vue-router": "^4.4.5",
|
||||
"vue-router": "^4.5.0",
|
||||
"vue-scroll-reveal": "^2.1.0",
|
||||
"vue-social-sharing": "^4.0.0-alpha4",
|
||||
"vue-svgicon": "^4.0.0-alpha.3",
|
||||
@@ -96,53 +94,54 @@
|
||||
"vuex-router-sync": "^6.0.0-rc.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.25.7",
|
||||
"@babel/plugin-transform-class-properties": "^7.25.7",
|
||||
"@babel/plugin-transform-export-namespace-from": "^7.25.7",
|
||||
"@babel/plugin-transform-json-strings": "^7.25.7",
|
||||
"@babel/plugin-transform-numeric-separator": "^7.25.7",
|
||||
"@babel/plugin-transform-runtime": "^7.25.7",
|
||||
"@quasar/app-webpack": "^3.14.0",
|
||||
"@babel/core": "^7.26.7",
|
||||
"@babel/plugin-transform-class-properties": "^7.25.9",
|
||||
"@babel/plugin-transform-export-namespace-from": "^7.25.9",
|
||||
"@babel/plugin-transform-json-strings": "^7.25.9",
|
||||
"@babel/plugin-transform-numeric-separator": "^7.25.9",
|
||||
"@babel/plugin-transform-runtime": "^7.25.9",
|
||||
"@quasar/app-webpack": "3.15.1",
|
||||
"@types/bcryptjs": "^2.4.6",
|
||||
"@types/dotenv": "^8.2.0",
|
||||
"@types/google.maps": "^3.58.1",
|
||||
"@types/jest": "^29.5.13",
|
||||
"@types/jest": "^29.5.14",
|
||||
"@types/js-cookie": "^3.0.6",
|
||||
"@types/node": "22.7.4",
|
||||
"@types/node": "22.13.1",
|
||||
"@types/nprogress": "^0.2.3",
|
||||
"@types/vue-tel-input": "^2.1.7",
|
||||
"@types/vuelidate": "^0.7.21",
|
||||
"@typescript-eslint/eslint-plugin": "^8.8.0",
|
||||
"@typescript-eslint/parser": "^8.8.0",
|
||||
"@types/vuelidate": "^0.7.22",
|
||||
"@typescript-eslint/eslint-plugin": "^8.23.0",
|
||||
"@typescript-eslint/parser": "^8.23.0",
|
||||
"babel-loader": "^9.2.1",
|
||||
"copy-webpack-plugin": "^12.0.2",
|
||||
"eslint": "^9.11.1",
|
||||
"eslint-config-prettier": "^9.1.0",
|
||||
"eslint": "^9.19.0",
|
||||
"eslint-config-prettier": "10.0.1",
|
||||
"eslint-plugin-import": "^2.31.0",
|
||||
"eslint-plugin-node": "^11.1.0",
|
||||
"eslint-plugin-promise": "^7.1.0",
|
||||
"eslint-plugin-vue": "^9.28.0",
|
||||
"eslint-plugin-promise": "^7.2.1",
|
||||
"eslint-plugin-vue": "^9.32.0",
|
||||
"file-loader": "^6.2.0",
|
||||
"fork-ts-checker-webpack-plugin": "^9.0.2",
|
||||
"friendly-errors-webpack-plugin": "^1.7.0",
|
||||
"html-webpack-plugin": "^5.6.0",
|
||||
"http-proxy-middleware": "^3.0.2",
|
||||
"html-webpack-plugin": "^5.6.3",
|
||||
"http-proxy-middleware": "^3.0.3",
|
||||
"jest": "^29.7.0",
|
||||
"json-loader": "^0.5.7",
|
||||
"node-sass": "^9.0.0",
|
||||
"npm-check-updates": "^17.1.3",
|
||||
"nodemon": "^3.1.9",
|
||||
"npm-check-updates": "^17.1.14",
|
||||
"optimize-css-assets-webpack-plugin": "^6.0.1",
|
||||
"parcel": "^2.12.0",
|
||||
"postcss": "^8.4.47",
|
||||
"parcel": "^2.13.3",
|
||||
"postcss": "^8.5.1",
|
||||
"postcss-loader": "^8.1.1",
|
||||
"sass-loader": "^16.0.2",
|
||||
"sass-loader": "^16.0.4",
|
||||
"strip-ansi": "=7.1.0",
|
||||
"ts-jest": "^29.2.5",
|
||||
"ts-loader": "^9.5.1",
|
||||
"typescript": "5.6.2",
|
||||
"ts-loader": "^9.5.2",
|
||||
"typescript": "5.7.3",
|
||||
"vue-cli-plugin-element-ui": "^1.1.4",
|
||||
"vueify": "^9.4.1",
|
||||
"webpack": "^5.95.0",
|
||||
"webpack": "^5.97.1",
|
||||
"webpack-dashboard": "^3.3.8",
|
||||
"workbox-webpack-plugin": "^7.1.0"
|
||||
},
|
||||
@@ -163,7 +162,7 @@
|
||||
"not dead"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 18.18.0",
|
||||
"node": ">= 22.13.1",
|
||||
"npm": ">= 6.14.8",
|
||||
"yarn": ">= 1.21.1"
|
||||
}
|
||||
|
||||
@@ -17,6 +17,8 @@ const webpack = require('webpack')
|
||||
const helpers = require('./helpers')
|
||||
const envparser = require('./config/envparser')
|
||||
|
||||
const package = require('./package.json');
|
||||
|
||||
// const ESLintPlugin = require('eslint-webpack-plugin')
|
||||
|
||||
module.exports = configure((ctx) => ({
|
||||
@@ -37,12 +39,11 @@ module.exports = configure((ctx) => ({
|
||||
// --> boot files are part of "main.js"
|
||||
// https://v2.quasar.dev/quasar-cli/boot-files
|
||||
// boot: ['vue-i18n', 'vue-meta', 'axios', 'vee-validate', 'myconfig', 'local-storage', 'error-handler', 'globalroutines', 'vue-idb', 'dragula', 'guard'],
|
||||
boot: ['i18n', 'axios', 'vee-validate', 'myconfig', 'local-storage', 'error-handler', 'globalroutines', 'calendar', 'social-sharing', 'timeago'],
|
||||
boot: ['i18n', 'axios', 'vee-validate', 'myconfig', 'local-storage', 'error-handler', 'globalroutines', 'calendar', 'social-sharing', 'timeago', 'guard'],
|
||||
|
||||
// https://v2.quasar.dev/quasar-cli/quasar-conf-js#Property%3A-css
|
||||
css: [
|
||||
'app.scss',
|
||||
// '~quasar-ui-qcalendar/src/css/calendar-day.sass'
|
||||
'app.scss' // '~quasar-ui-qcalendar/src/css/calendar-day.sass'
|
||||
],
|
||||
|
||||
// https://github.com/quasarframework/quasar/tree/dev/extras
|
||||
@@ -87,6 +88,7 @@ module.exports = configure((ctx) => ({
|
||||
// Full list of options: https://v2.quasar.dev/quasar-cli/quasar-conf-js#Property%3A-build
|
||||
build: {
|
||||
env: envparser(),
|
||||
versionCode: package.version,
|
||||
vueRouterMode: 'history',
|
||||
vueCompiler: true,
|
||||
gzip: false, // gzip true
|
||||
@@ -248,6 +250,9 @@ module.exports = configure((ctx) => ({
|
||||
'Cookies',
|
||||
'Loading',
|
||||
'AppVisibility',
|
||||
'LocalStorage',
|
||||
'SessionStorage',
|
||||
|
||||
],
|
||||
get plugins_1() {
|
||||
return this._plugins;
|
||||
|
||||
@@ -39,7 +39,7 @@ module.exports = configure((ctx) => ({
|
||||
// --> boot files are part of "main.js"
|
||||
// https://v2.quasar.dev/quasar-cli/boot-files
|
||||
// boot: ['vue-i18n', 'vue-meta', 'axios', 'vee-validate', 'myconfig', 'local-storage', 'error-handler', 'globalroutines', 'vue-idb', 'dragula', 'guard'],
|
||||
boot: ['i18n', 'axios', 'vee-validate', 'myconfig', 'local-storage', 'error-handler', 'globalroutines', 'calendar', 'social-sharing', 'timeago'],
|
||||
boot: ['i18n', 'axios', 'vee-validate', 'myconfig', 'local-storage', 'error-handler', 'globalroutines', 'calendar', 'social-sharing', 'timeago', 'guard'],
|
||||
|
||||
// https://v2.quasar.dev/quasar-cli/quasar-conf-js#Property%3A-css
|
||||
css: [
|
||||
|
||||
@@ -39,7 +39,7 @@ module.exports = configure((ctx) => ({
|
||||
// --> boot files are part of "main.js"
|
||||
// https://v2.quasar.dev/quasar-cli/boot-files
|
||||
// boot: ['vue-i18n', 'vue-meta', 'axios', 'vee-validate', 'myconfig', 'local-storage', 'error-handler', 'globalroutines', 'vue-idb', 'dragula', 'guard'],
|
||||
boot: ['i18n', 'axios', 'vee-validate', 'myconfig', 'local-storage', 'error-handler', 'globalroutines', 'calendar', 'social-sharing', 'timeago'],
|
||||
boot: ['i18n', 'axios', 'vee-validate', 'myconfig', 'local-storage', 'error-handler', 'globalroutines', 'calendar', 'social-sharing', 'timeago', 'guard'],
|
||||
|
||||
// https://v2.quasar.dev/quasar-cli/quasar-conf-js#Property%3A-css
|
||||
css: [
|
||||
|
||||
2
now.txt
@@ -1 +1 @@
|
||||
TERMINA DI LAVORARE SU riso.app: (Sovrascrivo !)
|
||||
TERMINA DI LAVORARE SU gruppomacro.app: (Sovrascrivo !)
|
||||
|
||||
115
package.json
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"name": "gruppomacro",
|
||||
"name": "riso",
|
||||
"version": "1.1.22",
|
||||
"description": "Gruppo Macro",
|
||||
"productName": "Gruppo Macro",
|
||||
"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": "Surya",
|
||||
"private": true,
|
||||
"keywords": [],
|
||||
@@ -28,32 +28,32 @@
|
||||
"@babel/plugin-proposal-export-namespace-from": "^7.18.9",
|
||||
"@babel/plugin-proposal-json-strings": "^7.18.6",
|
||||
"@babel/plugin-proposal-numeric-separator": "^7.18.6",
|
||||
"@babel/runtime": "^7.26.7",
|
||||
"@cubejs-client/core": "^1.2.1",
|
||||
"@quasar/extras": "^1.16.16",
|
||||
"@quasar/quasar-ui-qcalendar": "^4.1.1",
|
||||
"@types/leaflet": "^1.9.16",
|
||||
"@vue/compat": "^3.5.13",
|
||||
"@vue/compiler-sfc": "^3.5.13",
|
||||
"@vue/eslint-config-standard": "^9.0.0",
|
||||
"@babel/runtime": "^7.25.7",
|
||||
"@cubejs-client/core": "^0.36.4",
|
||||
"@quasar/extras": "^1.16.12",
|
||||
"@quasar/quasar-ui-qcalendar": "^4.0.0-beta.19",
|
||||
"@types/leaflet": "^1.9.12",
|
||||
"@vue/compat": "^3.5.10",
|
||||
"@vue/compiler-sfc": "^3.5.10",
|
||||
"@vue/eslint-config-standard": "^8.0.1",
|
||||
"@vuelidate/core": "^2.0.3",
|
||||
"@vuelidate/validators": "^2.0.4",
|
||||
"acorn": "^8.14.0",
|
||||
"acorn": "^8.12.1",
|
||||
"animate.css": "^4.1.1",
|
||||
"autoprefixer": "^10.4.20",
|
||||
"axios": "^1.7.9",
|
||||
"axios": "^1.7.7",
|
||||
"bcryptjs": "^2.4.3",
|
||||
"chart.js": "^4.4.7",
|
||||
"core-js": "^3.40.0",
|
||||
"crypto-browserify": "^3.12.1",
|
||||
"chart.js": "^4.4.4",
|
||||
"core-js": "^3.38.1",
|
||||
"crypto-browserify": "^3.12.0",
|
||||
"date-fns": "^4.1.0",
|
||||
"dotenv": "^16.4.7",
|
||||
"echarts": "5.6.0",
|
||||
"eslint-plugin-n": "^17.15.1",
|
||||
"dotenv": "^16.4.5",
|
||||
"echarts": "5.5.1",
|
||||
"eslint-plugin-n": "^17.10.3",
|
||||
"eslint-plugin-quasar": "^1.1.0",
|
||||
"graphql": "^16.10.0",
|
||||
"graphql": "^16.9.0",
|
||||
"graphql-tag": "^2.12.6",
|
||||
"gsap": "^3.12.7",
|
||||
"gsap": "^3.12.5",
|
||||
"html2pdf.js": "^0.10.2",
|
||||
"jquery": "^3.7.1",
|
||||
"js-cookie": "^3.0.5",
|
||||
@@ -63,26 +63,25 @@
|
||||
"localforage": "^1.10.0",
|
||||
"lodash": "^4.17.21",
|
||||
"normalize.css": "^8.0.1",
|
||||
"npm": "^10.8.0",
|
||||
"npm": "^10.8.3",
|
||||
"nprogress": "^0.2.0",
|
||||
"pinia": "^2.3.1",
|
||||
"pinia": "^2.2.4",
|
||||
"qrcode-vue3": "^1.7.1",
|
||||
"quasar": "^2.17.7",
|
||||
"quasar": "^2.17.0",
|
||||
"quasar-extras": "^2.0.9",
|
||||
"register-service-worker": "^1.7.2",
|
||||
"rxjs": "^7.8.1",
|
||||
"typescript-eslint": "^8.23.0",
|
||||
"vee-validate": "^4.15.0",
|
||||
"vue": "^3.5.13",
|
||||
"typescript-eslint": "^8.8.0",
|
||||
"vee-validate": "^4.13.2",
|
||||
"vue": "^3.5.10",
|
||||
"vue-class-component": "^8.0.0-rc.1",
|
||||
"vue-country-code": "^1.1.3",
|
||||
"vue-echarts": "^7.0.3",
|
||||
"vue-i18n": "^11.1.0",
|
||||
"vue-i18n": "^9.14.1",
|
||||
"vue-idb": "^0.2.0",
|
||||
"vue-image-zoomer": "^2.4.4",
|
||||
"vue-image-zoomer": "^2.4.1",
|
||||
"vue-loader": "^17.4.2",
|
||||
"vue-property-decorator": "^10.0.0-rc.3",
|
||||
"vue-router": "^4.5.0",
|
||||
"vue-router": "^4.4.5",
|
||||
"vue-scroll-reveal": "^2.1.0",
|
||||
"vue-social-sharing": "^4.0.0-alpha4",
|
||||
"vue-svgicon": "^4.0.0-alpha.3",
|
||||
@@ -94,54 +93,54 @@
|
||||
"vuex-router-sync": "^6.0.0-rc.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.26.7",
|
||||
"@babel/plugin-transform-class-properties": "^7.25.9",
|
||||
"@babel/plugin-transform-export-namespace-from": "^7.25.9",
|
||||
"@babel/plugin-transform-json-strings": "^7.25.9",
|
||||
"@babel/plugin-transform-numeric-separator": "^7.25.9",
|
||||
"@babel/plugin-transform-runtime": "^7.25.9",
|
||||
"@quasar/app-webpack": "3.15.1",
|
||||
"@babel/core": "^7.25.7",
|
||||
"@babel/plugin-transform-class-properties": "^7.25.7",
|
||||
"@babel/plugin-transform-export-namespace-from": "^7.25.7",
|
||||
"@babel/plugin-transform-json-strings": "^7.25.7",
|
||||
"@babel/plugin-transform-numeric-separator": "^7.25.7",
|
||||
"@babel/plugin-transform-runtime": "^7.25.7",
|
||||
"@quasar/app-webpack": "^3.14.0",
|
||||
"@types/bcryptjs": "^2.4.6",
|
||||
"@types/dotenv": "^8.2.0",
|
||||
"@types/google.maps": "^3.58.1",
|
||||
"@types/jest": "^29.5.14",
|
||||
"@types/jest": "^29.5.13",
|
||||
"@types/js-cookie": "^3.0.6",
|
||||
"@types/node": "22.13.1",
|
||||
"@types/node": "22.7.4",
|
||||
"@types/nprogress": "^0.2.3",
|
||||
"@types/vue-tel-input": "^2.1.7",
|
||||
"@types/vuelidate": "^0.7.22",
|
||||
"@typescript-eslint/eslint-plugin": "^8.23.0",
|
||||
"@typescript-eslint/parser": "^8.23.0",
|
||||
"@types/vuelidate": "^0.7.21",
|
||||
"@typescript-eslint/eslint-plugin": "^8.8.0",
|
||||
"@typescript-eslint/parser": "^8.8.0",
|
||||
"babel-loader": "^9.2.1",
|
||||
"copy-webpack-plugin": "^12.0.2",
|
||||
"eslint": "^9.19.0",
|
||||
"eslint-config-prettier": "10.0.1",
|
||||
"eslint": "^9.11.1",
|
||||
"eslint-config-prettier": "^9.1.0",
|
||||
"eslint-plugin-import": "^2.31.0",
|
||||
"eslint-plugin-node": "^11.1.0",
|
||||
"eslint-plugin-promise": "^7.2.1",
|
||||
"eslint-plugin-vue": "^9.32.0",
|
||||
"eslint-plugin-promise": "^7.1.0",
|
||||
"eslint-plugin-vue": "^9.28.0",
|
||||
"file-loader": "^6.2.0",
|
||||
"fork-ts-checker-webpack-plugin": "^9.0.2",
|
||||
"friendly-errors-webpack-plugin": "^1.7.0",
|
||||
"html-webpack-plugin": "^5.6.3",
|
||||
"http-proxy-middleware": "^3.0.3",
|
||||
"html-webpack-plugin": "^5.6.0",
|
||||
"http-proxy-middleware": "^3.0.2",
|
||||
"jest": "^29.7.0",
|
||||
"json-loader": "^0.5.7",
|
||||
"node-sass": "^9.0.0",
|
||||
"nodemon": "^3.1.9",
|
||||
"npm-check-updates": "^17.1.14",
|
||||
"nodemon": "^3.1.7",
|
||||
"npm-check-updates": "^17.1.3",
|
||||
"optimize-css-assets-webpack-plugin": "^6.0.1",
|
||||
"parcel": "^2.13.3",
|
||||
"postcss": "^8.5.1",
|
||||
"parcel": "^2.12.0",
|
||||
"postcss": "^8.4.47",
|
||||
"postcss-loader": "^8.1.1",
|
||||
"sass-loader": "^16.0.4",
|
||||
"sass-loader": "^16.0.2",
|
||||
"strip-ansi": "=7.1.0",
|
||||
"ts-jest": "^29.2.5",
|
||||
"ts-loader": "^9.5.2",
|
||||
"typescript": "5.7.3",
|
||||
"ts-loader": "^9.5.1",
|
||||
"typescript": "5.6.2",
|
||||
"vue-cli-plugin-element-ui": "^1.1.4",
|
||||
"vueify": "^9.4.1",
|
||||
"webpack": "^5.97.1",
|
||||
"webpack": "^5.95.0",
|
||||
"webpack-dashboard": "^3.3.8",
|
||||
"workbox-webpack-plugin": "^7.1.0"
|
||||
},
|
||||
@@ -162,7 +161,7 @@
|
||||
"not dead"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 22.13.1",
|
||||
"node": ">= 18.18.0",
|
||||
"npm": ">= 6.14.8",
|
||||
"yarn": ">= 1.21.1"
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 14 KiB |
BIN
public/images/ferrara.jpg
Normal file
|
After Width: | Height: | Size: 42 KiB |
BIN
public/images/freeplanet-logo-full.odg
Executable file
1186
public/images/freeplanet-logo-full.svg
Executable file
|
After Width: | Height: | Size: 90 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 158 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 81 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 30 KiB |
BIN
public/images/riso-android-icon-144x144.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
public/images/riso-android-icon-192x192.png
Normal file
|
After Width: | Height: | Size: 43 KiB |
BIN
public/images/riso-android-icon-36x36.png
Normal file
|
After Width: | Height: | Size: 5.0 KiB |
BIN
public/images/riso-android-icon-384x384.png
Normal file
|
After Width: | Height: | Size: 138 KiB |
BIN
public/images/riso-android-icon-48x48.png
Normal file
|
After Width: | Height: | Size: 5.8 KiB |
BIN
public/images/riso-android-icon-512x512.png
Normal file
|
After Width: | Height: | Size: 185 KiB |
BIN
public/images/riso-android-icon-72x72.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
public/images/riso-android-icon-96x96.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
public/images/riso-apple-icon-114x114.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
public/images/riso-apple-icon-120x120.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
public/images/riso-apple-icon-144x144.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
public/images/riso-apple-icon-152x152.png
Normal file
|
After Width: | Height: | Size: 33 KiB |
BIN
public/images/riso-apple-icon-180x180.png
Normal file
|
After Width: | Height: | Size: 42 KiB |
BIN
public/images/riso-apple-icon-57x57.png
Normal file
|
After Width: | Height: | Size: 7.6 KiB |
BIN
public/images/riso-apple-icon-60x60.png
Normal file
|
After Width: | Height: | Size: 8.1 KiB |
BIN
public/images/riso-apple-icon-72x72.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
public/images/riso-apple-icon-76x76.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
public/images/riso-apple-icon.png
Normal file
|
After Width: | Height: | Size: 44 KiB |
BIN
public/images/riso-logo-full.png
Normal file
|
After Width: | Height: | Size: 424 KiB |
BIN
public/images/riso_home.png
Normal file
|
After Width: | Height: | Size: 279 KiB |
BIN
public/images/riso_home_dark.png
Normal file
|
After Width: | Height: | Size: 258 KiB |
BIN
public/images/riso_services.png
Normal file
|
After Width: | Height: | Size: 124 KiB |
@@ -43,7 +43,8 @@ module.exports = configure((ctx) => ({
|
||||
|
||||
// https://v2.quasar.dev/quasar-cli/quasar-conf-js#Property%3A-css
|
||||
css: [
|
||||
'app.scss' // '~quasar-ui-qcalendar/src/css/calendar-day.sass'
|
||||
'app.scss',
|
||||
// '~quasar-ui-qcalendar/src/css/calendar-day.sass'
|
||||
],
|
||||
|
||||
// https://github.com/quasarframework/quasar/tree/dev/extras
|
||||
@@ -151,9 +152,9 @@ module.exports = configure((ctx) => ({
|
||||
},
|
||||
devServer: {
|
||||
https: false,
|
||||
port: 8089,
|
||||
port: 8084,
|
||||
open: false, // opens browser window automatically
|
||||
hot: true, // Disable hot module replacement
|
||||
hot: false, // Disable hot module replacement
|
||||
headers: {
|
||||
'Access-Control-Allow-Origin': '*',
|
||||
'Access-Control-Allow-Headers': '*',
|
||||
@@ -252,7 +253,6 @@ module.exports = configure((ctx) => ({
|
||||
'AppVisibility',
|
||||
'LocalStorage',
|
||||
'SessionStorage',
|
||||
|
||||
],
|
||||
get plugins_1() {
|
||||
return this._plugins;
|
||||
@@ -313,9 +313,9 @@ module.exports = configure((ctx) => ({
|
||||
},
|
||||
|
||||
manifest: {
|
||||
name: 'Gruppo Macro',
|
||||
short_name: 'GruppoMacro',
|
||||
description: '',
|
||||
name: 'Riso',
|
||||
short_name: 'Riso',
|
||||
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.',
|
||||
display: 'standalone',
|
||||
orientation: 'portrait',
|
||||
background_color: '#fff',
|
||||
@@ -325,24 +325,54 @@ module.exports = configure((ctx) => ({
|
||||
start_url: "/?homescreen=1",
|
||||
icons: [
|
||||
{
|
||||
src: 'images/gm-android-icon-512x512.png',
|
||||
src: 'images/riso-android-icon-512x512.png',
|
||||
sizes: '512x512',
|
||||
type: 'image/png',
|
||||
},
|
||||
{
|
||||
src: 'images/gm-android-icon-192x192.png',
|
||||
src: 'images/riso-android-icon-384x384.png',
|
||||
sizes: '384x384',
|
||||
type: 'image/png',
|
||||
},
|
||||
{
|
||||
src: 'images/riso-android-icon-192x192.png',
|
||||
sizes: '192x192',
|
||||
type: 'image/png',
|
||||
},
|
||||
{
|
||||
src: 'images/gm-apple-touch-icon.png',
|
||||
src: 'images/riso-android-icon-144x144.png',
|
||||
sizes: '144x144',
|
||||
type: 'image/png',
|
||||
},
|
||||
{
|
||||
src: 'images/riso-android-icon-96x96.png',
|
||||
sizes: '96x96',
|
||||
type: 'image/png',
|
||||
},
|
||||
{
|
||||
src: 'images/riso-apple-icon-120x120.png',
|
||||
sizes: '120x120',
|
||||
type: 'image/png',
|
||||
},
|
||||
{
|
||||
src: 'images/riso-apple-icon-144x144.png',
|
||||
sizes: '144x144',
|
||||
type: 'image/png',
|
||||
},
|
||||
{
|
||||
src: 'images/riso-apple-icon-152x152.png',
|
||||
sizes: '152x152',
|
||||
type: 'image/png',
|
||||
},
|
||||
{
|
||||
src: 'images/riso-apple-icon-180x180.png',
|
||||
sizes: '180x180',
|
||||
type: 'image/png',
|
||||
},
|
||||
],
|
||||
related_applications: [{
|
||||
"platform": "webapp",
|
||||
"url": "https://www.gruppomacro.app/manifest.json"
|
||||
"url": "https://www.riso.app/manifest.json"
|
||||
}]
|
||||
},
|
||||
},
|
||||
@@ -377,7 +407,7 @@ module.exports = configure((ctx) => ({
|
||||
builder: {
|
||||
// https://www.electron.build/configuration/configuration
|
||||
|
||||
appId: 'GruppoMacro',
|
||||
appId: 'Riso',
|
||||
},
|
||||
|
||||
// "chain" is a webpack-chain object https://github.com/neutrinojs/webpack-chain
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
import { boot } from 'quasar/wrappers'
|
||||
|
||||
import { useGlobalStore } from '@src/store/globalStore';
|
||||
import { useUserStore } from '@src/store/UserStore';
|
||||
import { tools } from '@src/store/Modules/tools';
|
||||
|
||||
export default boot(({ app, router }) => {
|
||||
// ******************************************
|
||||
@@ -19,13 +21,19 @@ export default boot(({ app, router }) => {
|
||||
// the subsequent Middleware function.
|
||||
|
||||
router.beforeEach((to, from, next) => {
|
||||
console.log('beforeEach ROUTER')
|
||||
console.log('beforeEach ROUTER', from, to )
|
||||
// Execute your command before each navigation
|
||||
// executeCommand();
|
||||
|
||||
const globalStore = useGlobalStore()
|
||||
const userStore = useUserStore()
|
||||
try {
|
||||
globalStore.editOn = false
|
||||
if (userStore.isLogged && from.path !== to.path) {
|
||||
// console.log('globalStore.editOn = false (prima era = ', globalStore.editOn, ')')
|
||||
const pageKey = to.path
|
||||
// console.log('pagek=', pageKey)
|
||||
globalStore.editOn = tools.getCookie('edn_' + pageKey, '0') === '1'
|
||||
}
|
||||
} catch(e) {
|
||||
|
||||
}
|
||||
|
||||
@@ -2454,5 +2454,9 @@ export const shared_consts = {
|
||||
COMMUNITY_ACCOUNT: 2,
|
||||
},
|
||||
|
||||
CmdQueryMs: {
|
||||
GET: 0,
|
||||
SET: 1,
|
||||
},
|
||||
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import { useQuasar } from 'quasar'
|
||||
import { CTitleBanner } from '../CTitleBanner'
|
||||
import { CCardState } from '../CCardState'
|
||||
import { CCopyBtn } from '../CCopyBtn'
|
||||
import { CViewTable } from '../CViewTable'
|
||||
import { CMyValueDb } from '../CMyValueDb'
|
||||
import { CPrice } from '../CPrice'
|
||||
import { CText } from '../CText'
|
||||
@@ -81,8 +82,8 @@ export default defineComponent({
|
||||
},
|
||||
components: {
|
||||
CTitleBanner, CCardState, CCopyBtn, CMyValueDb, VuePdfApp, CPrice, CBarCode, CLabel,
|
||||
CText
|
||||
},
|
||||
CText, CViewTable
|
||||
},
|
||||
setup(props, { emit }) {
|
||||
const $q = useQuasar()
|
||||
const { t } = useI18n()
|
||||
@@ -92,7 +93,7 @@ export default defineComponent({
|
||||
|
||||
const listord = ref(<IOrderCart[]>[])
|
||||
const sumval = ref(0)
|
||||
const editOn = ref(false)
|
||||
const loading = ref(false)
|
||||
|
||||
const indvariazSel = ref(-1)
|
||||
|
||||
@@ -103,10 +104,24 @@ export default defineComponent({
|
||||
const fullscreenImage = ref(<any>null)
|
||||
|
||||
const apriSchedaPDF = ref(false)
|
||||
const visufromgm = ref(false)
|
||||
const updatefromgm = ref(false)
|
||||
const showQtaDisponibile = ref(false)
|
||||
const field_updated_fromGM = ref('')
|
||||
|
||||
// Crea una copia locale reattiva di modelValue
|
||||
const optcatalogo = ref<IOptCatalogo>({ ...props.modelValue });
|
||||
|
||||
const editOn = computed({
|
||||
get(): boolean {
|
||||
return !!globalStore.editOn ? globalStore.editOn : false
|
||||
},
|
||||
|
||||
set(value: boolean) {
|
||||
return tools.updateEditOn(value)
|
||||
}
|
||||
})
|
||||
|
||||
// Watcher per sincronizzare le modifiche di modelValue
|
||||
watch(() => props.modelValue, (newVal) => {
|
||||
optcatalogo.value = { ...newVal };
|
||||
@@ -309,7 +324,7 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
async function updateproductmodif() {
|
||||
console.log('updateproductmodif')
|
||||
// console.log('updateproductmodif')
|
||||
try {
|
||||
myproduct.value = await products.getProductById(props.id)
|
||||
|
||||
@@ -616,6 +631,20 @@ export default defineComponent({
|
||||
return optcatalogo.value.areadistampa!.scale
|
||||
}
|
||||
|
||||
async function refreshDataFromGM() {
|
||||
|
||||
}
|
||||
async function refreshFieldFromGM(field: string) {
|
||||
if (myproduct.value) {
|
||||
loading.value = true
|
||||
updatefromgm.value = true
|
||||
field_updated_fromGM.value = ''
|
||||
field_updated_fromGM.value = await globalStore.getGM_FieldOf_T_Web_Articoli(myproduct.value!.productInfo.sku!, field, shared_consts.CmdQueryMs.GET)
|
||||
loading.value = false
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
onMounted(mounted)
|
||||
onBeforeUnmount(beforeDestroy)
|
||||
|
||||
@@ -683,6 +712,13 @@ export default defineComponent({
|
||||
getScale,
|
||||
updateCatalogo,
|
||||
optcatalogo,
|
||||
visufromgm,
|
||||
updatefromgm,
|
||||
showQtaDisponibile,
|
||||
field_updated_fromGM,
|
||||
refreshFieldFromGM,
|
||||
refreshDataFromGM,
|
||||
loading,
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -118,19 +118,84 @@
|
||||
@click="click_opendetail()"
|
||||
/>
|
||||
</a>
|
||||
<q-btn
|
||||
v-if="
|
||||
(tools.isManager() || tools.isEditor()) &&
|
||||
!optcatalogo.generazionePDFInCorso &&
|
||||
globalStore.editOn
|
||||
"
|
||||
icon="fas fa-pencil-alt"
|
||||
color="primary"
|
||||
@click.stop="modifOn = !modifOn"
|
||||
dense
|
||||
style="position: absolute; top: 0px; left: 0px; z-index: 3"
|
||||
>
|
||||
</q-btn>
|
||||
<q-card-actions align="center" class="q-pa-none absolute-top-left">
|
||||
<div class="row justify-center">
|
||||
<q-fab
|
||||
v-if="
|
||||
(tools.isManager() || tools.isEditor()) &&
|
||||
!optcatalogo.generazionePDFInCorso &&
|
||||
editOn
|
||||
"
|
||||
color="primary"
|
||||
icon="fas fa-pencil-alt"
|
||||
direction="up"
|
||||
flat
|
||||
dense
|
||||
>
|
||||
<q-fab-action
|
||||
v-if="
|
||||
tools.isManager() &&
|
||||
!optcatalogo.generazionePDFInCorso &&
|
||||
editOn
|
||||
"
|
||||
icon="fas fa-pencil-alt"
|
||||
label="Aggiorna da GM"
|
||||
color="accent"
|
||||
@click="refreshDataFromGM()"
|
||||
/>
|
||||
<q-fab-action
|
||||
v-if="
|
||||
tools.isManager() &&
|
||||
!optcatalogo.generazionePDFInCorso &&
|
||||
editOn
|
||||
"
|
||||
icon="fas fa-pencil-alt"
|
||||
label="Visualizza su GM"
|
||||
color="positive"
|
||||
@click="
|
||||
showQtaDisponibile = false;
|
||||
visufromgm = true;
|
||||
"
|
||||
/>
|
||||
<q-fab-action
|
||||
v-if="
|
||||
tools.isManager() &&
|
||||
!optcatalogo.generazionePDFInCorso &&
|
||||
editOn
|
||||
"
|
||||
icon="fas fa-eye"
|
||||
label="Vedi Numero di Pagine (Da GM)"
|
||||
color="positive"
|
||||
@click="refreshFieldFromGM('Pagine')"
|
||||
/>
|
||||
<q-fab-action
|
||||
v-if="
|
||||
tools.isManager() &&
|
||||
!optcatalogo.generazionePDFInCorso &&
|
||||
editOn
|
||||
"
|
||||
icon="fas fa-pencil-alt"
|
||||
label="Visualizza su GM (Tutti i campi)"
|
||||
color="positive"
|
||||
@click="
|
||||
showQtaDisponibile = true;
|
||||
visufromgm = true;
|
||||
"
|
||||
/>
|
||||
<q-fab-action
|
||||
v-if="
|
||||
(tools.isManager() || tools.isEditor()) &&
|
||||
!optcatalogo.generazionePDFInCorso &&
|
||||
editOn
|
||||
"
|
||||
label="Modifica"
|
||||
icon="fas fa-pencil-alt"
|
||||
color="primary"
|
||||
@click="modifOn = !modifOn"
|
||||
/>
|
||||
</q-fab>
|
||||
</div>
|
||||
</q-card-actions>
|
||||
</div>
|
||||
|
||||
<!-- Testo sotto all'immagine -->
|
||||
@@ -172,9 +237,7 @@
|
||||
<CBarCode
|
||||
:value="myproduct.productInfo.code"
|
||||
:format="scheda.barcode.format"
|
||||
:fontsize="
|
||||
scheda.barcode.font?.size
|
||||
"
|
||||
:fontsize="scheda.barcode.font?.size"
|
||||
:gap="
|
||||
tools.adjustSize(optcatalogo, scheda.barcode.size?.gap)
|
||||
"
|
||||
@@ -186,7 +249,9 @@
|
||||
)
|
||||
)
|
||||
"
|
||||
:widthlines="tools.adjustSize(optcatalogo, scheda.barcode.widthlines)"
|
||||
:widthlines="
|
||||
tools.adjustSize(optcatalogo, scheda.barcode.widthlines)
|
||||
"
|
||||
:height="
|
||||
tools.adjustSize(
|
||||
optcatalogo,
|
||||
@@ -251,9 +316,7 @@
|
||||
<CBarCode
|
||||
:value="myproduct.productInfo.code"
|
||||
:format="scheda.barcode.format"
|
||||
:fontsize="
|
||||
scheda.barcode.font?.size
|
||||
"
|
||||
:fontsize="scheda.barcode.font?.size"
|
||||
:gap="
|
||||
tools.adjustSize(optcatalogo, scheda.barcode.size?.gap)
|
||||
"
|
||||
@@ -265,7 +328,9 @@
|
||||
)
|
||||
)
|
||||
"
|
||||
:widthlines="tools.adjustSize(optcatalogo, scheda.barcode.widthlines)"
|
||||
:widthlines="
|
||||
tools.adjustSize(optcatalogo, scheda.barcode.widthlines)
|
||||
"
|
||||
:height="
|
||||
tools.adjustSize(optcatalogo, scheda.barcode.size?.height)
|
||||
"
|
||||
@@ -652,7 +717,11 @@
|
||||
</div>
|
||||
<div class="boxtitleval">
|
||||
<div class="etichetta">Argomenti:</div>
|
||||
{{ products.getCatProdsStrByCatProds(myproduct.productInfo.idCatProds) }}
|
||||
{{
|
||||
products.getCatProdsStrByCatProds(
|
||||
myproduct.productInfo.idCatProds
|
||||
)
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
@@ -838,6 +907,43 @@
|
||||
</q-card-section>
|
||||
</q-card>
|
||||
</q-dialog>
|
||||
<q-dialog v-if="visufromgm && myproduct" v-model="visufromgm">
|
||||
<q-card class="dialog_card">
|
||||
<q-toolbar class="bg-primary text-white">
|
||||
<q-toolbar-title> Visu </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">
|
||||
<CViewTable
|
||||
:options="{
|
||||
nameTable: 'T_Web_Articoli',
|
||||
campispeciali: true,
|
||||
numrec: 100,
|
||||
where: 'T.IdArticolo =' + myproduct.productInfo.sku,
|
||||
showQtaDisponibile,
|
||||
outhtml: true,
|
||||
}"
|
||||
>
|
||||
</CViewTable>
|
||||
</q-card-section>
|
||||
</q-card>
|
||||
</q-dialog>
|
||||
<q-dialog v-if="updatefromgm && myproduct" v-model="updatefromgm">
|
||||
<q-card class="dialog_card">
|
||||
<q-toolbar class="bg-primary text-white">
|
||||
<q-toolbar-title> Aggiorna da GM: </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">
|
||||
<q-inner-loading id="spinner" :showing="loading">
|
||||
<q-spinner-tail color="primary" size="4em"> </q-spinner-tail>
|
||||
</q-inner-loading>
|
||||
<br />
|
||||
Valore: {{ field_updated_fromGM }}
|
||||
<br />
|
||||
</q-card-section>
|
||||
</q-card>
|
||||
</q-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -1513,7 +1513,7 @@
|
||||
rounded
|
||||
outlined
|
||||
v-model="myel.catalogo.editore"
|
||||
:options="Products.publishers"
|
||||
:options="globalStore.getTableJoinByName('publishers')"
|
||||
@update:model-value="modifElem"
|
||||
multiple
|
||||
label="Editori"
|
||||
@@ -1843,7 +1843,9 @@
|
||||
rounded
|
||||
outlined
|
||||
v-model="recscheda.scheda.editore"
|
||||
:options="Products.publishers"
|
||||
:options="
|
||||
globalStore.getTableJoinByName('publishers')
|
||||
"
|
||||
@update:model-value="modifElem"
|
||||
multiple
|
||||
label="Editori"
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
<q-drawer
|
||||
v-model="visuEditor"
|
||||
v-if="selElem && editOn"
|
||||
v-if="selElem && editOn && !tools.isObjectEmpty(selElem)"
|
||||
show-if-above
|
||||
:breakpoint="350"
|
||||
side="right"
|
||||
|
||||
0
src/components/CViewTable/CViewTable.scss
Executable file
59
src/components/CViewTable/CViewTable.ts
Executable file
@@ -0,0 +1,59 @@
|
||||
import {
|
||||
PropType,
|
||||
computed,
|
||||
defineComponent, onBeforeMount, onBeforeUnmount, onMounted, ref, toRef, toRefs, watch,
|
||||
} from 'vue'
|
||||
|
||||
import { tools } from '@store/Modules/tools'
|
||||
import { IOptCatalogo, IMyScheda, IProduct, ISchedaSingola, IText, IOptQueryGM } from '@src/model'
|
||||
|
||||
import { useProducts } from '@store/Products'
|
||||
import { useGlobalStore } from '@src/store/globalStore'
|
||||
|
||||
import { costanti } from '@costanti'
|
||||
|
||||
export default defineComponent({
|
||||
name: 'CViewTable',
|
||||
props: {
|
||||
options: {
|
||||
type: Object as PropType<IOptQueryGM>,
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
|
||||
setup(props, { attrs, slots, emit }) {
|
||||
|
||||
const globalStore = useGlobalStore()
|
||||
|
||||
const risultatoHTML = ref('')
|
||||
const tabella = ref('')
|
||||
|
||||
const loading = ref(false)
|
||||
|
||||
async function mounted() {
|
||||
if (props.options) {
|
||||
loading.value = true
|
||||
await getTabellaDaGM()
|
||||
loading.value = false
|
||||
}
|
||||
}
|
||||
|
||||
async function getTabellaDaGM() {
|
||||
tabella.value = props.options.nameTable
|
||||
risultatoHTML.value = ''
|
||||
risultatoHTML.value = await globalStore.getGM_Tabella(props.options)
|
||||
}
|
||||
|
||||
|
||||
onMounted(mounted)
|
||||
return {
|
||||
tools,
|
||||
globalStore,
|
||||
costanti,
|
||||
getTabellaDaGM,
|
||||
risultatoHTML,
|
||||
tabella,
|
||||
loading,
|
||||
}
|
||||
},
|
||||
})
|
||||
23
src/components/CViewTable/CViewTable.vue
Executable file
@@ -0,0 +1,23 @@
|
||||
<template>
|
||||
<q-inner-loading id="spinner" :showing="loading">
|
||||
<q-spinner-tail color="primary" size="4em"> </q-spinner-tail>
|
||||
</q-inner-loading>
|
||||
<div v-if="options">
|
||||
<div class="text-center text-bold text-h6 text-blue">
|
||||
Tabella: {{ options.nameTable }}<br>
|
||||
</div>
|
||||
<div class="text-center text-h7">
|
||||
Query: {{ options.where }}<br>
|
||||
</div>
|
||||
risultatoHTML: {{risultatoHTML}}
|
||||
<br><br>
|
||||
<div v-html="risultatoHTML">
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" src="./CViewTable.ts">
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
@import './CViewTable.scss';
|
||||
</style>
|
||||
1
src/components/CViewTable/index.ts
Executable file
@@ -0,0 +1 @@
|
||||
export { default as CViewTable } from './CViewTable.vue'
|
||||
@@ -80,6 +80,14 @@ export default defineComponent({
|
||||
|
||||
const leftDrawerOpen = ref(globalStore.leftDrawerOpen)
|
||||
|
||||
const editOn = computed({
|
||||
get: () => globalStore.editOn,
|
||||
set: val => {
|
||||
tools.updateEditOn(val!)
|
||||
},
|
||||
})
|
||||
|
||||
|
||||
const getClassColorHeader = computed(() => {
|
||||
// if (tools.isTest()) return 'bg-light-blue'
|
||||
// if (tools.isDebug()) return 'bg-info'
|
||||
@@ -632,6 +640,7 @@ export default defineComponent({
|
||||
userStore,
|
||||
clickMenu3Orizz,
|
||||
isEditor,
|
||||
editOn,
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
v-if="tools.isLogged() && (isAdmin() || tools.isEditor()|| tools.isGrafico())"
|
||||
class="text-h7"
|
||||
>
|
||||
<q-toggle :icon="'fas fa-pencil-alt'" v-model="globalStore.editOn"> </q-toggle>
|
||||
<q-toggle :icon="'fas fa-pencil-alt'" v-model="editOn"> </q-toggle>
|
||||
</div>
|
||||
<q-btn
|
||||
v-if="!isonline() && site.confpages && site.confpages.showConnected"
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
const msg_website_it = {
|
||||
ws: {
|
||||
sitename: 'Gruppo Macro',
|
||||
siteshortname: 'Gruppo Macro',
|
||||
description: '',
|
||||
keywords: '',
|
||||
sitename: 'Riso',
|
||||
siteshortname: 'RISO',
|
||||
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.',
|
||||
keywords: 'riso, piattaforma di scambio, rete italiana scambio orizzontale, riso app, riso piattaforma, scambio e baratto, momenta RIS',
|
||||
},
|
||||
hours: {
|
||||
descr: 'Descrizione',
|
||||
@@ -16,20 +16,29 @@ const msg_website_it = {
|
||||
pages: {
|
||||
home: 'Home',
|
||||
profile: 'Profilo',
|
||||
install_site: 'Installa Sito',
|
||||
profile2: 'ProfiloU',
|
||||
mypage2: 'mypage2',
|
||||
myservice2: 'myservice2',
|
||||
myhosps2: 'myhosps2',
|
||||
mygood2: 'mygood2',
|
||||
catalogo: 'Catalogo',
|
||||
fundraising: 'Sostieni il Progetto',
|
||||
notifs: 'Configura le Notifiche',
|
||||
unsubscribe: 'Disiscriviti',
|
||||
unsubscribe_user: 'Disiscriviti User',
|
||||
test: 'Test',
|
||||
projects: 'Progetti',
|
||||
report: 'Report Ore',
|
||||
producer: 'Produttore',
|
||||
orderinfo: 'Ordini Effettuati',
|
||||
products: 'Prodotti',
|
||||
productslist: 'Lista Prodotti',
|
||||
collabora: 'Collabora',
|
||||
storehouses: 'Magazzino',
|
||||
departments: 'Uffici',
|
||||
orders: 'Ordini Ricevuti',
|
||||
orders2: 'Ordini Ricevuti',
|
||||
sharewithus: 'Condividi con Noi',
|
||||
checkout: 'Carrello',
|
||||
payment: 'Pagamenti',
|
||||
regok: 'Registrazione Confermata',
|
||||
presentazione: 'Presentazione',
|
||||
presentazione2: 'Presentazione',
|
||||
@@ -80,6 +89,9 @@ const msg_website_it = {
|
||||
projectsShared: 'Condivisi da me',
|
||||
myprojects: 'Privati',
|
||||
favproj: 'Favoriti',
|
||||
admin_ecommerce: 'ECommerce',
|
||||
ecommerce: 'Prodotti',
|
||||
ecommerce_menu: 'ECommerce1',
|
||||
hours: 'Ore',
|
||||
department: 'Uffici',
|
||||
title: 'Titolo',
|
||||
@@ -109,9 +121,15 @@ const msg_website_it = {
|
||||
only_residenti: 'Solo Residenti',
|
||||
only_consiglio: 'Solo Consiglieri',
|
||||
color: 'Colore',
|
||||
mainMenu: 'Menu Principale',
|
||||
subtitle: 'Sottotitolo',
|
||||
lang: 'Lingua',
|
||||
keywords: 'Parole Chiave',
|
||||
desctiption: 'Descrizione',
|
||||
heightimg: 'Altezza Immagine',
|
||||
},
|
||||
msg: {
|
||||
myAppName: 'Più che Buono',
|
||||
myAppName: 'Riso',
|
||||
myAppDescription: 'Il primo Vero Social Libero, Equo e Solidale, dove Vive Consapevolezza e Aiuto Comunitario. Gratuito',
|
||||
underconstruction: 'App in costruzione...',
|
||||
myDescriz: '',
|
||||
|
||||
@@ -67,6 +67,39 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
||||
inmenu: false,
|
||||
infooter: false,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 12,
|
||||
path: '/goods',
|
||||
materialIcon: 'fas fa-tshirt',
|
||||
name: 'mypages.goods',
|
||||
component: () => import('@/root/goods/goods.vue'),
|
||||
meta: { requiresAuth: true },
|
||||
inmenu: true,
|
||||
infooter: true,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 15,
|
||||
path: '/services',
|
||||
materialIcon: 'fas fa-house-user',
|
||||
name: 'mypages.services',
|
||||
component: () => import('@/root/services/services.vue'),
|
||||
meta: { requiresAuth: true },
|
||||
inmenu: true,
|
||||
infooter: true,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 15,
|
||||
path: '/activities',
|
||||
materialIcon: 'fas fa-house-user',
|
||||
name: 'mypages.activities',
|
||||
component: () => import('@/root/activities/activities.vue'),
|
||||
meta: { requiresAuth: true },
|
||||
inmenu: false,
|
||||
infooter: false,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 15,
|
||||
@@ -78,6 +111,17 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
||||
inmenu: false,
|
||||
infooter: false,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 15,
|
||||
path: '/hosps',
|
||||
materialIcon: 'fas fa-bed',
|
||||
name: 'mypages.hosp',
|
||||
component: () => import('@/root/hosp/hosp.vue'),
|
||||
meta: { requiresAuth: true },
|
||||
inmenu: true,
|
||||
infooter: true,
|
||||
},
|
||||
{
|
||||
active: site.confpages && site.confpages.enableCircuits,
|
||||
order: 16,
|
||||
@@ -90,7 +134,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
||||
infooter: true,
|
||||
},
|
||||
{
|
||||
active: site.confpages && site.confpages.enableEvents,
|
||||
active: true,
|
||||
order: 20,
|
||||
path: '/events',
|
||||
materialIcon: 'fas fa-bullhorn',
|
||||
@@ -112,7 +156,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
||||
infooter: false,
|
||||
},
|
||||
{
|
||||
active: site.confpages && site.confpages.showProfile,
|
||||
active: true,
|
||||
order: 120,
|
||||
path: '/myprofile',
|
||||
materialIcon: 'fas fa-user',
|
||||
@@ -123,7 +167,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
||||
infooter: true,
|
||||
},
|
||||
{
|
||||
active: site.confpages && site.confpages.showProfile,
|
||||
active: true,
|
||||
order: 120,
|
||||
path: '/editprofile',
|
||||
materialIcon: 'fas fa-user',
|
||||
@@ -134,7 +178,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
||||
infooter: false,
|
||||
},
|
||||
{
|
||||
active: site.confpages && site.confpages.showiscrittiMenu,
|
||||
active: true,
|
||||
order: 130,
|
||||
path: '/friends',
|
||||
materialIcon: 'fas fa-user-friends',
|
||||
@@ -165,7 +209,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
||||
meta: { requiresAuth: true, newpage: true },
|
||||
inmenu: false,
|
||||
infooter: false,
|
||||
},
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 137,
|
||||
@@ -229,6 +273,16 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
||||
inmenu: false,
|
||||
infooter: false,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 150,
|
||||
path: '/sostieniilprogetto',
|
||||
materialIcon: 'fas fa-hand-holding-heart',
|
||||
name: 'pages.fundraising',
|
||||
component: () => import('@src/root/fundraising/fundraising.vue'),
|
||||
inmenu: false,
|
||||
infooter: false,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 80,
|
||||
|
||||
@@ -1575,4 +1575,16 @@ export interface IAttivita {
|
||||
date_updated?: Date
|
||||
|
||||
createdBy?: string // Username del creatore (proponente)
|
||||
}
|
||||
|
||||
export interface IOptQueryGM {
|
||||
nameTable: string
|
||||
campispeciali?: boolean
|
||||
query?: string
|
||||
numrec?: number
|
||||
where?: string
|
||||
fieldGM?: string
|
||||
outhtml: boolean
|
||||
showQtaDisponibile?: boolean
|
||||
cmd?: number
|
||||
}
|
||||
@@ -65,8 +65,6 @@ export interface INotify {
|
||||
icon?: string
|
||||
}
|
||||
|
||||
const { t } = useI18n()
|
||||
|
||||
export const tools = {
|
||||
CAN_EDIT: 'q-ce',
|
||||
TABBED_DASHBOARD: 't-db',
|
||||
@@ -3977,7 +3975,7 @@ export const tools = {
|
||||
},
|
||||
|
||||
appid() {
|
||||
return process.env.APP_ID
|
||||
return this.getIdApp()
|
||||
},
|
||||
|
||||
getLabelByItem(item: any) {
|
||||
@@ -4048,7 +4046,7 @@ export const tools = {
|
||||
},
|
||||
|
||||
getIdApp() {
|
||||
return process.env.APP_ID
|
||||
return this.getEnv('APP_ID')
|
||||
},
|
||||
|
||||
getappname(short: boolean) {
|
||||
@@ -5776,7 +5774,7 @@ export const tools = {
|
||||
}
|
||||
|
||||
console.log('registeredemail', email)
|
||||
return Axios.post(VALIDATE_USER_URL, { idapp: process.env.APP_ID, email, key: process.env.PAO_APP_ID })
|
||||
return Axios.post(VALIDATE_USER_URL, { idapp: this.getIdApp(), email, key: process.env.PAO_APP_ID })
|
||||
.then(onSuccess)
|
||||
.catch((err) => {
|
||||
return true
|
||||
@@ -5793,7 +5791,7 @@ export const tools = {
|
||||
return res.status === PayloadMessageTypes.statusfound
|
||||
}
|
||||
|
||||
return Axios.get(VALIDATE_USER_URL + '/users/' + process.env.APP_ID + '/' + username)
|
||||
return Axios.get(VALIDATE_USER_URL + '/users/' + this.getIdApp() + '/' + username)
|
||||
.then(onSuccess)
|
||||
.catch((err) => {
|
||||
return false
|
||||
@@ -7891,12 +7889,21 @@ export const tools = {
|
||||
},
|
||||
|
||||
getEnv(name: string) {
|
||||
const config: any = {
|
||||
try {
|
||||
const value = import.meta.env[name]
|
||||
|
||||
return value
|
||||
|
||||
} catch (e) {
|
||||
return ''
|
||||
}
|
||||
|
||||
/*const config: any = {
|
||||
// @ts-ignore
|
||||
VUE_APP_BACKEND_API_URL: window?.appConfig?.VUE_APP_BACKEND_API_URL || process.env.VUE_APP_BACKEND_API_URL
|
||||
}
|
||||
|
||||
return config[name]
|
||||
return config[name]*/
|
||||
},
|
||||
|
||||
getArrSector(table: string, rec: any) {
|
||||
@@ -9237,11 +9244,17 @@ export const tools = {
|
||||
|
||||
globalStore.editOn = value
|
||||
|
||||
if (this.getCookie('edn') === '1' && !value) {
|
||||
this.setCookie('edn', '0')
|
||||
const pageKey = window.location.pathname;
|
||||
|
||||
const mykey = 'edn_' + pageKey
|
||||
|
||||
// console.log('mykey', mykey)
|
||||
|
||||
if (this.getCookie(mykey) === '1' && !value) {
|
||||
this.setCookie(mykey, '0')
|
||||
}
|
||||
if (this.getCookie('edn') !== '1' && value) {
|
||||
this.setCookie('edn', '1')
|
||||
if (this.getCookie(mykey) !== '1' && value) {
|
||||
this.setCookie(mykey, '1')
|
||||
}
|
||||
},
|
||||
|
||||
@@ -9667,6 +9680,7 @@ export const tools = {
|
||||
|
||||
},
|
||||
|
||||
|
||||
// FINE !
|
||||
|
||||
// getLocale() {
|
||||
|
||||
@@ -817,14 +817,18 @@ export const useProducts = defineStore('Products', {
|
||||
if (product.storehouses.length === 1) {
|
||||
order.idStorehouse = product.storehouses[0]._id
|
||||
} else {
|
||||
order.idStorehouse = globalStore.storehouses ? globalStore.storehouses[0]._id : ''
|
||||
try {
|
||||
order.idStorehouse = globalStore.storehouses?.length ? globalStore.storehouses[0]._id : ''
|
||||
} catch (e) {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!order.idGasordine && order.quantitypreordered > 0) {
|
||||
if (product.gasordine && product.gasordine._id) {
|
||||
order.idGasordine = product.gasordine._id
|
||||
} else {
|
||||
order.idGasordine = globalStore.gasordines ? globalStore.gasordines[0]._id : ''
|
||||
order.idGasordine = globalStore.gasordines?.length ? globalStore.gasordines[0]._id : ''
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1541,10 +1541,12 @@ export const useUserStore = defineStore('UserStore', {
|
||||
await globalStore.checkUpdates()
|
||||
}
|
||||
|
||||
const isok = await globalStore.loadAfterLogin()
|
||||
const isok = await globalStore.loadLoginSite()
|
||||
|
||||
this.isLogged = isok && isLogged
|
||||
|
||||
await globalStore.loadAfterLogin()
|
||||
|
||||
// console.log('this.isLogged', this.isLogged, 'isok', isok, 'isLogged', isLogged)
|
||||
|
||||
if (globalStore.site.confpages && globalStore.site.confpages.enableTodos)
|
||||
|
||||
@@ -14,6 +14,7 @@ import {
|
||||
StateConnection,
|
||||
IMyScheda,
|
||||
ISchedaSingola,
|
||||
IOptQueryGM,
|
||||
} from '@model'
|
||||
import { static_data } from '@src/db/static_data'
|
||||
import * as Types from '@src/store/Api/ApiTypes'
|
||||
@@ -1029,12 +1030,7 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
||||
return prova
|
||||
},
|
||||
|
||||
async loadAfterLogin() {
|
||||
const userStore = useUserStore()
|
||||
|
||||
// console.log('loadAfterLogin')
|
||||
this.clearDataAfterLoginOnlyIfActiveConnection()
|
||||
|
||||
async loadLoginSite() {
|
||||
let isok = false
|
||||
|
||||
const $router = useRouter()
|
||||
@@ -1045,15 +1041,23 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
||||
isok = true
|
||||
}
|
||||
|
||||
return isok
|
||||
},
|
||||
|
||||
async loadAfterLogin() {
|
||||
const userStore = useUserStore()
|
||||
|
||||
// console.log('loadAfterLogin')
|
||||
this.clearDataAfterLoginOnlyIfActiveConnection()
|
||||
|
||||
await userStore.loadListaEditori()
|
||||
|
||||
await globalroutines('readall', 'config', null)
|
||||
|
||||
if (tools.isLogged()) {
|
||||
this.editOn = tools.getCookie('edn', '0') === '1'
|
||||
const pageKey = window.location.pathname
|
||||
this.editOn = tools.getCookie('edn_' + pageKey, '0') === '1'
|
||||
}
|
||||
|
||||
return isok
|
||||
},
|
||||
|
||||
async saveCfgServerKey(dataval: ICfgServer) {
|
||||
@@ -1356,6 +1360,8 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
||||
// console.log('res', res)
|
||||
if (res && res.data) {
|
||||
tools.updateMyData(res.data.ris)
|
||||
|
||||
this.aggiornaRecordInLocaleDopoUpdateSulServer(mydata, res.data)
|
||||
if (res.data.rec) {
|
||||
return res.data.rec
|
||||
} else {
|
||||
@@ -2162,10 +2168,15 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
||||
}
|
||||
|
||||
if (addall) {
|
||||
myarr = [costanti.FILTER_TUTTI, ...myarr]
|
||||
}
|
||||
|
||||
//myarr = [costanti.FILTER_TUTTI, ...myarr]
|
||||
const mykey = fieldsTable.getKeyByTable(table)
|
||||
const collab = fieldsTable.getLabelByTable(table)
|
||||
let obj: any = {}
|
||||
obj[mykey] = costanti.FILTER_TUTTI
|
||||
obj[collab] = costanti.FILTER_TUTTI_STR
|
||||
|
||||
myarr = [obj, ...myarr]
|
||||
}
|
||||
|
||||
if (addnone) {
|
||||
const mykey = fieldsTable.getKeyByTable(table)
|
||||
@@ -2489,6 +2500,55 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
||||
})
|
||||
},
|
||||
|
||||
async getGM_Tabella(options: IOptQueryGM) {
|
||||
const arrrec = await this.fetchTableContent(options);
|
||||
|
||||
return arrrec
|
||||
},
|
||||
async getGM_Lista_Argomenti(outhtml: boolean) {
|
||||
const arrrec = await this.fetchTableContent({ nameTable: 'T_Web_Argomenti', numrec: 200, outhtml });
|
||||
|
||||
return arrrec
|
||||
},
|
||||
|
||||
async getGM_FieldOf_T_Web_Articoli(sku: string, field: string, cmd: number) {
|
||||
|
||||
const options: IOptQueryGM = {
|
||||
nameTable: 'T_Web_Articoli',
|
||||
campispeciali: !field,
|
||||
numrec: 100,
|
||||
query: '',
|
||||
where: 'T.IdArticolo =' + sku,
|
||||
fieldGM: field,
|
||||
showQtaDisponibile: false,
|
||||
outhtml: false,
|
||||
cmd,
|
||||
}
|
||||
|
||||
const valueris = await this.fetchTableContent(options);
|
||||
if (valueris && valueris[field]) {
|
||||
console.log('valueris', valueris)
|
||||
return valueris[field]
|
||||
}
|
||||
|
||||
return null
|
||||
},
|
||||
|
||||
|
||||
async fetchTableContent(options: IOptQueryGM) {
|
||||
try {
|
||||
return Api.SendReq('/apisqlsrv/view-table', 'POST', { options })
|
||||
.then((res) => {
|
||||
return res.data.data
|
||||
}).catch((error: any) => {
|
||||
console.error('Error fetchTableContent: ', error)
|
||||
})
|
||||
} catch (error) {
|
||||
console.error("Errore nel recupero della tabella:", error);
|
||||
throw error;
|
||||
}
|
||||
},
|
||||
|
||||
async getMailInABox(cmd: string, record: any = undefined) {
|
||||
|
||||
const mydata = {
|
||||
@@ -2521,5 +2581,26 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
||||
return this.getSchedeOpt
|
||||
},
|
||||
|
||||
}
|
||||
aggiornaRecordInLocaleDopoUpdateSulServer(datain: any, resdata: any) {
|
||||
|
||||
try {
|
||||
|
||||
if (datain.table) {
|
||||
const mytablerec = this.getListByTable(datain.table)
|
||||
|
||||
if (mytablerec && resdata && resdata.rec) {
|
||||
// Trova l'indice del record da aggiornare
|
||||
const index = mytablerec.findIndex((item: any) => item._id === resdata.rec._id)
|
||||
|
||||
if (index !== -1 && index !== undefined) {
|
||||
// Aggiorna il record mantenendo reattività
|
||||
mytablerec![index] = { ...mytablerec[index], ...resdata.rec }
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
|
||||
}
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
@@ -11,6 +11,7 @@ import { useCircuitStore } from '@store/CircuitStore'
|
||||
import { tools } from '@store/Modules/tools'
|
||||
import { costanti } from '@costanti'
|
||||
import { shared_consts } from '@src/common/shared_vuejs'
|
||||
import { IOptQueryGM } from '@src/model'
|
||||
|
||||
export default defineComponent({
|
||||
name: 'Dbop',
|
||||
@@ -38,11 +39,13 @@ export default defineComponent({
|
||||
const search = ref('')
|
||||
const replace_username = ref('')
|
||||
const risultato = ref('')
|
||||
const risultatoHTML = ref('')
|
||||
const incaricamento = ref(false)
|
||||
|
||||
const globalStore = useGlobalStore()
|
||||
|
||||
function EseguiFunz(miafunz: string, search_username?: string, replace_username?: string, valmin?: number, valmax?: number, circuitId?: string) {
|
||||
const userStore = useUserStore()
|
||||
const globalStore = useGlobalStore()
|
||||
|
||||
$q.dialog({
|
||||
message: t('dialog.continue') + ' ' + miafunz + ' ?',
|
||||
@@ -90,6 +93,16 @@ export default defineComponent({
|
||||
})
|
||||
}
|
||||
|
||||
async function getListaArg() {
|
||||
risultatoHTML.value = ''
|
||||
risultatoHTML.value = await globalStore.getGM_Lista_Argomenti(true)
|
||||
}
|
||||
|
||||
async function getTabellaDaGM(options: IOptQueryGM) {
|
||||
risultatoHTML.value = ''
|
||||
risultatoHTML.value = await globalStore.getGM_Tabella(options)
|
||||
}
|
||||
|
||||
return {
|
||||
EseguiFunz,
|
||||
tools,
|
||||
@@ -108,6 +121,10 @@ export default defineComponent({
|
||||
ris,
|
||||
risultato,
|
||||
search,
|
||||
globalStore,
|
||||
risultatoHTML,
|
||||
getListaArg,
|
||||
getTabellaDaGM,
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
@@ -771,6 +771,16 @@
|
||||
color="positive"
|
||||
@click="EseguiFunz('MyElemSetIdPageInsteadThePah')"
|
||||
></q-btn>
|
||||
<q-btn
|
||||
label="getGM_Lista_Argomenti"
|
||||
color="positive"
|
||||
@click="getListaArg()"
|
||||
></q-btn>
|
||||
<q-btn
|
||||
label="getGM_Tabella Collane"
|
||||
color="positive"
|
||||
@click="getTabellaDaGM({ nometable:'T_Web_Collane', numrec: 500, ishtml: true})"
|
||||
></q-btn>
|
||||
<br />
|
||||
</div>
|
||||
|
||||
@@ -779,6 +789,10 @@
|
||||
<div class="results-content">
|
||||
{{ risultato }}
|
||||
</div>
|
||||
<h2 v-if="!!risultatoHTML" class="results-title">Risultati HTML:</h2>
|
||||
<div v-if="!!risultatoHTML" v-html="risultatoHTML">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<br />
|
||||
|
||||
@@ -252,6 +252,12 @@ export default defineComponent({
|
||||
return lista && lista.value && lista.value.hasOwnProperty('name') ? lista.value.name : ''
|
||||
}
|
||||
|
||||
function getTitoloCatalogo(): string {
|
||||
let trovatocatalogo = getCatalogoByMyPage.value
|
||||
|
||||
return trovatocatalogo ? trovatocatalogo.title : 'Catalogo'
|
||||
}
|
||||
|
||||
function getImgIntroCatalogo(scheda: IMyScheda): IImg {
|
||||
let trovatocatalogo = getCatalogoByMyPage.value
|
||||
|
||||
@@ -331,7 +337,11 @@ export default defineComponent({
|
||||
if (trovatocatalogo) {
|
||||
argomenti = trovatocatalogo.argomenti! || []
|
||||
} else {
|
||||
argomenti = def_argomenti || []
|
||||
if (def_argomenti && def_argomenti.length > 0) {
|
||||
argomenti = def_argomenti
|
||||
} else {
|
||||
argomenti = []
|
||||
}
|
||||
}
|
||||
|
||||
return argomenti
|
||||
@@ -387,7 +397,7 @@ export default defineComponent({
|
||||
// ha la priorità questo scelto sul catalogo
|
||||
arrargomstr = getArgomentiDaFiltrare(optcatalogo.value.argomenti!)
|
||||
} else {
|
||||
arrargomstr = getArgomentiDaFiltrare([cat.value || ''])
|
||||
arrargomstr = getArgomentiDaFiltrare(cat.value ? [cat.value] : [])
|
||||
// catstr = cat.value || ''
|
||||
}
|
||||
|
||||
@@ -505,7 +515,7 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
function populateDataWithlinkIdTemplate() {
|
||||
console.log('populateDataWithlinkIdTemplate')
|
||||
// console.log('populateDataWithlinkIdTemplate')
|
||||
|
||||
if (optcatalogo.value) {
|
||||
|
||||
@@ -521,7 +531,7 @@ export default defineComponent({
|
||||
}
|
||||
}
|
||||
|
||||
console.log(' FINE - populateDataWithlinkIdTemplate')
|
||||
// console.log(' FINE - populateDataWithlinkIdTemplate')
|
||||
}
|
||||
|
||||
|
||||
@@ -706,7 +716,7 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
function generatearrProdToViewSorted() {
|
||||
console.log('generatearrProdToViewSorted...')
|
||||
// console.log('generatearrProdToViewSorted...')
|
||||
|
||||
try {
|
||||
|
||||
@@ -804,7 +814,7 @@ export default defineComponent({
|
||||
// console.log('Fine Generazione')
|
||||
}
|
||||
|
||||
console.log(' FINE - generatearrProdToViewSorted !')
|
||||
// console.log(' FINE - generatearrProdToViewSorted !')
|
||||
|
||||
} catch (e) {
|
||||
console.error('Err', e)
|
||||
@@ -1207,6 +1217,7 @@ export default defineComponent({
|
||||
getTestoIntroduttivo,
|
||||
ispageCatalogata,
|
||||
naviga,
|
||||
getTitoloCatalogo,
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
<template>
|
||||
<q-page>
|
||||
<div v-if="ispageCatalogata" class="text-bold text-h6 text-center text-blue">
|
||||
{{ getTitoloCatalogo() }}
|
||||
|
||||
</div>
|
||||
<q-tabs
|
||||
v-if="optcatalogo.pdf && tools.isEditor()"
|
||||
v-model="tabcatalogo"
|
||||
|
||||