- aggiornato tabella modifica prodotti.

- codice sconto etichetta.
This commit is contained in:
Surya Paolo
2025-10-03 18:02:26 +02:00
parent b07d4c822f
commit e827744f51
13 changed files with 223 additions and 98 deletions

View File

@@ -1,7 +1,7 @@
VITE_APP_ID="17" VITE_APP_ID="17"
VITE_APP_URL="https://localhost" VITE_APP_URL="https://localhost"
VITE_MONGODB_HOST="https://localhost:3000" VITE_MONGODB_HOST="https://localhost:3000"
VITE_LOGO_REG='riso-logo-full.png' VITE_LOGO_REG="piuchebuono-logo-full.png"
VITE_PUBLICKEY_PUSH='BDncvMiUZmjaCG2Kr1V9N0_33hOG-AuNSbHSvL24y2dzBiUjAxKm02emx5SeJvz2IGmtRf6YqCgopeQwCwUmZw8' VITE_PUBLICKEY_PUSH='BDncvMiUZmjaCG2Kr1V9N0_33hOG-AuNSbHSvL24y2dzBiUjAxKm02emx5SeJvz2IGmtRf6YqCgopeQwCwUmZw8'
VITE_DEBUG="1" VITE_DEBUG="1"
VITE_VUE_APP_ISTEST=0 VITE_VUE_APP_ISTEST=0

View File

@@ -133,7 +133,6 @@ const msg_website_it = {
only_residenti: 'Solo Residenti', only_residenti: 'Solo Residenti',
only_consiglio: 'Solo Consiglieri', only_consiglio: 'Solo Consiglieri',
color: 'Colore', color: 'Colore',
gestoreordini: 'Gestore Ordini',
}, },
msg: { msg: {
myAppName: 'Più che Buono', myAppName: 'Più che Buono',

View File

@@ -133,7 +133,6 @@ const msg_website_it = {
only_residenti: 'Solo Residenti', only_residenti: 'Solo Residenti',
only_consiglio: 'Solo Consiglieri', only_consiglio: 'Solo Consiglieri',
color: 'Colore', color: 'Colore',
gestoreordini: 'Gestore Ordini',
}, },
msg: { msg: {
myAppName: 'Più che Buono', myAppName: 'Più che Buono',

View File

@@ -70,7 +70,7 @@
</tr> </tr>
<tr v-if="!recOrderCart?.codice_sconto"> <tr v-if="!recOrderCart?.codice_sconto">
<td class="label">{{ t('ecomm.codice_sconto') }}:</td> <td class="label">{{ t('ecomm.add_codice_sconto') }}:</td>
<td> <td>
<q-input <q-input
v-model="codice_sconto" v-model="codice_sconto"
@@ -81,6 +81,7 @@
@keyup.enter="confermaCodiceSconto" @keyup.enter="confermaCodiceSconto"
/> />
<q-btn <q-btn
v-if="codice_sconto"
:disabled="!codice_sconto || codice_sconto.trim() === ''" :disabled="!codice_sconto || codice_sconto.trim() === ''"
:label="$t('ecomm.applica_sconto')" :label="$t('ecomm.applica_sconto')"
icon="fas fa-check-circle" icon="fas fa-check-circle"

View File

@@ -497,6 +497,7 @@ export default defineComponent({
const rowsel: any = ref({}); const rowsel: any = ref({});
const dark = true; const dark = true;
const canEdit = ref(false); const canEdit = ref(false);
const canEditPrec = ref(false);
const returnedData: any = ref([]); const returnedData: any = ref([]);
let returnedCount = 0; let returnedCount = 0;
@@ -2158,7 +2159,9 @@ export default defineComponent({
}; };
if (col.action === lists.MenuAction.CAN_EDIT_TABLE) { if (col.action === lists.MenuAction.CAN_EDIT_TABLE) {
console.log('Edit', item); canEditPrec.value = canEdit.value
canEdit.value = true
// console.log('Edit', item);
selItem(item, col); selItem(item, col);
recModif.value = { ...item }; recModif.value = { ...item };
recSaved.value = { ...item }; recSaved.value = { ...item };
@@ -2939,6 +2942,11 @@ export default defineComponent({
annulla(0); annulla(0);
} }
function hidewindowEdit() {
annulla(0);
canEdit.value = canEditPrec.value
}
function clickMarker(id: any) { function clickMarker(id: any) {
console.log('clickMarker', id); console.log('clickMarker', id);
cmdExt(costanti.CMD_SHOW_PAGE, id, null); cmdExt(costanti.CMD_SHOW_PAGE, id, null);
@@ -3240,6 +3248,7 @@ export default defineComponent({
showfilteradv, showfilteradv,
getisDettagliByCatalog, getisDettagliByCatalog,
getisDettagliByRaccolta, getisDettagliByRaccolta,
hidewindowEdit,
}; };
}, },
}); });

View File

@@ -5,7 +5,7 @@
v-if="isfinishLoading" v-if="isfinishLoading"
> >
<q-toggle <q-toggle
v-if="(tools.isCollaboratore()) && !showMap && editOn" v-if="tools.isCollaboratore() && !showMap && editOn"
v-model="editOn" v-model="editOn"
color="green" color="green"
icon="fas fa-pencil-alt" icon="fas fa-pencil-alt"
@@ -41,19 +41,20 @@
<q-space></q-space> <q-space></q-space>
<div <div
v-if="butt_modif_new" v-if="butt_modif_new"
class="row justify-center" class="row justify-center q-mx-sm"
> >
<q-btn <q-btn
v-if="mytable && !shared_consts.TABLES_FINDER.includes(mytable) && !showMap" v-if="mytable && !shared_consts.TABLES_FINDER.includes(mytable) && !showMap"
rounded rounded
dense outline
size="sm" size="md"
flat class="q-ma-sm"
:color="canEdit ? 'positive' : 'light-gray'" :color="canEdit ? 'positive' : 'light-gray'"
:disable="disabilita()" :disable="disabilita()"
:val="lists.MenuAction.CAN_EDIT_TABLE" :val="lists.MenuAction.CAN_EDIT_TABLE"
icon="fas fa-pencil-alt" icon="fas fa-pencil-alt"
@update:model-value="changefuncAct" :label="canEdit ? t('grid.edit_table') : t('grid.disable_edit_table')"
@update:model-value="canEdit = !canEdit"
@click="canEdit = !canEdit" @click="canEdit = !canEdit"
> >
</q-btn> </q-btn>
@@ -63,7 +64,7 @@
outline outline
size="md" size="md"
color="primary" color="primary"
class="q-mb-sm" class="q-ma-sm"
:label="labelBtnAddExtra" :label="labelBtnAddExtra"
:disable="startsearch" :disable="startsearch"
icon="fas fa-plus" icon="fas fa-plus"
@@ -120,7 +121,11 @@
color="positive" color="positive"
rounded rounded
:icon="!showfilteradv ? 'fas fa-arrow-down' : 'fas fa-arrow-up'" :icon="!showfilteradv ? 'fas fa-arrow-down' : 'fas fa-arrow-up'"
:label="!showfilteradv ? t('grid.advanced_filters') : t('grid.hide_advanced_filters')" :label="
!showfilteradv
? t('grid.advanced_filters')
: t('grid.hide_advanced_filters')
"
@click="showfilteradv = !showfilteradv" @click="showfilteradv = !showfilteradv"
></q-btn> ></q-btn>
</div> </div>
@@ -132,7 +137,8 @@
<CMySelect <CMySelect
:col="fieldsTable.getColByColumns(mycolumns, item.key)" :col="fieldsTable.getColByColumns(mycolumns, item.key)"
v-if=" v-if="
(item.type === costanti.FieldType.select || item.type === costanti.FieldType.select_by_server) && (item.type === costanti.FieldType.select ||
item.type === costanti.FieldType.select_by_server) &&
lengthopt(item, false, false) > 1 lengthopt(item, false, false) > 1
" "
:label="labelcombo(item)" :label="labelcombo(item)"
@@ -140,7 +146,9 @@
@update:value="searchval(item.value, item.table)" @update:value="searchval(item.value, item.table)"
:addall="item.addall" :addall="item.addall"
:addnone="item.addnone" :addnone="item.addnone"
:tablesel="item.type === costanti.FieldType.select_by_server ? item.tablesel : ''" :tablesel="
item.type === costanti.FieldType.select_by_server ? item.tablesel : ''
"
:pickup="item.type === costanti.FieldType.select_by_server" :pickup="item.type === costanti.FieldType.select_by_server"
label-color="primary" label-color="primary"
class="combowidth" class="combowidth"
@@ -151,12 +159,17 @@
:options="valoriopt(item, item.addall, item.addnone)" :options="valoriopt(item, item.addall, item.addnone)"
:filter="item && item.filter ? item.filter : null" :filter="item && item.filter ? item.filter : null"
:filter_extra="item.filter_extra" :filter_extra="item.filter_extra"
:useinput="item.useinput && item.type !== costanti.FieldType.select_by_server" :useinput="
item.useinput && item.type !== costanti.FieldType.select_by_server
"
> >
</CMySelect> </CMySelect>
<CMySelect <CMySelect
v-if="item.type === costanti.FieldType.multiselect_by_server && lengthopt(item, false) > 1" v-if="
item.type === costanti.FieldType.multiselect_by_server &&
lengthopt(item, false) > 1
"
:col="fieldsTable.getColByColumns(mycolumns, item.key)" :col="fieldsTable.getColByColumns(mycolumns, item.key)"
:multiselect_by_server="true" :multiselect_by_server="true"
:label="labelcombo(item)" :label="labelcombo(item)"
@@ -213,7 +226,8 @@
> >
<div <div
v-if=" v-if="
scope.opt[fieldsTable.getLabelByTable(item.table)] || (scope.opt && checkIfShowRec(scope.opt)) scope.opt[fieldsTable.getLabelByTable(item.table)] ||
(scope.opt && checkIfShowRec(scope.opt))
" "
> >
<q-chip <q-chip
@@ -231,14 +245,18 @@
:icon="item.icon" :icon="item.icon"
size="12px" size="12px"
/> />
{{ scope.opt[fieldsTable.getLabelByTable(item.table)] || scope.opt }} {{
scope.opt[fieldsTable.getLabelByTable(item.table)] || scope.opt
}}
</q-chip> </q-chip>
</div> </div>
</template> </template>
<template v-slot:option="{ itemProps, opt, selected, toggleOption }"> <template v-slot:option="{ itemProps, opt, selected, toggleOption }">
<q-item v-bind="itemProps"> <q-item v-bind="itemProps">
<q-item-section> <q-item-section>
<q-item-label>{{ opt[fieldsTable.getLabelByTable(item.table)] }}</q-item-label> <q-item-label>{{
opt[fieldsTable.getLabelByTable(item.table)]
}}</q-item-label>
</q-item-section> </q-item-section>
<q-item-section side> <q-item-section side>
<q-toggle <q-toggle
@@ -341,7 +359,13 @@
<q-space></q-space> <q-space></q-space>
<q-select <q-select
:behavior="$q.platform.is.ios === true ? 'dialog' : 'menu'" :behavior="$q.platform.is.ios === true ? 'dialog' : 'menu'"
v-if="mytable && pagination.rowsNumber > 0 && (prop_search || canEdit) && showCol && myvertical === 0" v-if="
mytable &&
pagination.rowsNumber > 0 &&
(prop_search || canEdit) &&
showCol &&
myvertical === 0
"
v-model="colVisib" v-model="colVisib"
rounded rounded
outlined outlined
@@ -498,7 +522,11 @@
<q-infinite-scroll <q-infinite-scroll
ref="myinfscroll" ref="myinfscroll"
v-else-if="shared_consts.VERTIC_SHOW_GRID.includes(myvertical) && !loading && alreadymounting" v-else-if="
shared_consts.VERTIC_SHOW_GRID.includes(myvertical) &&
!loading &&
alreadymounting
"
:initial-index="0" :initial-index="0"
@load="onLoadScroll" @load="onLoadScroll"
:offset="350" :offset="350"
@@ -608,8 +636,10 @@
</div> </div>
<div <div
v-else-if=" v-else-if="
(showType === costanti.SHOW_USERINFO && myvertical !== costanti.VISUTABLE_SCHEDA_USER) || (showType === costanti.SHOW_USERINFO &&
(myvertical === 2 && shared_consts.TABLES_VISU_LISTA_USER.includes(tablesel)) myvertical !== costanti.VISUTABLE_SCHEDA_USER) ||
(myvertical === 2 &&
shared_consts.TABLES_VISU_LISTA_USER.includes(tablesel))
" "
class="fill-all-width" class="fill-all-width"
> >
@@ -622,7 +652,9 @@
:circuitname="circuitname" :circuitname="circuitname"
:actionType="actionType" :actionType="actionType"
:labelextra="col_title ? row[col_title] : ''" :labelextra="col_title ? row[col_title] : ''"
:labelFooter="col_footer ? tools.getLabelFooterByRow(row, col_footer, tablesel) : ''" :labelFooter="
col_footer ? tools.getLabelFooterByRow(row, col_footer, tablesel) : ''
"
@showInnerDialog="showInnerDialog" @showInnerDialog="showInnerDialog"
> >
</CMyUser> </CMyUser>
@@ -632,7 +664,8 @@
</div> </div>
<div <div
v-else-if=" v-else-if="
(showType === costanti.SHOW_GROUPINFO && myvertical !== costanti.VISUTABLE_SCHEDA_GROUP) || (showType === costanti.SHOW_GROUPINFO &&
myvertical !== costanti.VISUTABLE_SCHEDA_GROUP) ||
(myvertical === 2 && tablesel === 'mygroups') || (myvertical === 2 && tablesel === 'mygroups') ||
myvertical === costanti.VISUTABLE_GROUP_CIRCUIT myvertical === costanti.VISUTABLE_GROUP_CIRCUIT
" "
@@ -648,7 +681,9 @@
/> />
</div> </div>
</div> </div>
<div v-else-if="showType === costanti.SHOW_MOVEMENTS && tablesel === 'movements'"> <div
v-else-if="showType === costanti.SHOW_MOVEMENTS && tablesel === 'movements'"
>
<CSingleMovement :mov="row" /> <CSingleMovement :mov="row" />
</div> </div>
</div> </div>
@@ -663,10 +698,16 @@
</template> </template>
</q-infinite-scroll> </q-infinite-scroll>
<q-table <q-table
v-else-if="!shared_consts.VERTIC_SHOW_GRID.includes(myvertical) && !loading && serverData && mycolumns" v-else-if="
!shared_consts.VERTIC_SHOW_GRID.includes(myvertical) &&
!loading &&
serverData &&
mycolumns
"
:grid="shared_consts.VERTIC_SHOW_GRID.includes(myvertical)" :grid="shared_consts.VERTIC_SHOW_GRID.includes(myvertical)"
:grid-header=" :grid-header="
shared_consts.VERTIC_SHOW_GRID.includes(myvertical) && shared_consts.TABLES_WITH_SORTING.includes(mytable) shared_consts.VERTIC_SHOW_GRID.includes(myvertical) &&
shared_consts.TABLES_WITH_SORTING.includes(mytable)
" "
flat flat
bordered bordered
@@ -802,21 +843,30 @@
size="sm" size="sm"
color="positive" color="positive"
:icon="!showfilteradv ? 'fas fa-arrow-down' : 'fas fa-arrow-up'" :icon="!showfilteradv ? 'fas fa-arrow-down' : 'fas fa-arrow-up'"
:label="!showfilteradv ? t('grid.advanced_filters') : t('grid.hide_advanced_filters')" :label="
!showfilteradv
? t('grid.advanced_filters')
: t('grid.hide_advanced_filters')
"
@click="showfilteradv = !showfilteradv" @click="showfilteradv = !showfilteradv"
></q-btn> ></q-btn>
</div> </div>
<CMySelect <CMySelect
:col="fieldsTable.getColByColumns(mycolumns, item.key)" :col="fieldsTable.getColByColumns(mycolumns, item.key)"
v-if="item.type === costanti.FieldType.select || item.type === costanti.FieldType.select_by_server" v-if="
item.type === costanti.FieldType.select ||
item.type === costanti.FieldType.select_by_server
"
v-show="item.visible" v-show="item.visible"
:label="labelcombo(item)" :label="labelcombo(item)"
v-model:value="item.value" v-model:value="item.value"
@update:value="searchval(item.value, item.table)" @update:value="searchval(item.value, item.table)"
:addall="item.addall" :addall="item.addall"
:addnone="item.addnone" :addnone="item.addnone"
:tablesel="item.type === costanti.FieldType.select_by_server ? item.tablesel : ''" :tablesel="
item.type === costanti.FieldType.select_by_server ? item.tablesel : ''
"
:pickup="item.type === costanti.FieldType.select_by_server" :pickup="item.type === costanti.FieldType.select_by_server"
label-color="primary" label-color="primary"
class="combowidth" class="combowidth"
@@ -827,7 +877,9 @@
:options="valoriopt(item, item.addall, item.addnone)" :options="valoriopt(item, item.addall, item.addnone)"
:filter="item && item.filter ? item.filter : null" :filter="item && item.filter ? item.filter : null"
:filter_extra="item.filter_extra" :filter_extra="item.filter_extra"
:useinput="item.useinput && item.type !== costanti.FieldType.select_by_server" :useinput="
item.useinput && item.type !== costanti.FieldType.select_by_server
"
> >
</CMySelect> </CMySelect>
@@ -895,7 +947,8 @@
> >
<div <div
v-if=" v-if="
scope.opt[fieldsTable.getLabelByTable(item.table)] || (scope.opt && checkIfShowRec(scope.opt)) scope.opt[fieldsTable.getLabelByTable(item.table)] ||
(scope.opt && checkIfShowRec(scope.opt))
" "
> >
<q-chip <q-chip
@@ -913,14 +966,18 @@
:icon="item.icon" :icon="item.icon"
size="12px" size="12px"
/> />
{{ scope.opt[fieldsTable.getLabelByTable(item.table)] || scope.opt }} {{
scope.opt[fieldsTable.getLabelByTable(item.table)] || scope.opt
}}
</q-chip> </q-chip>
</div> </div>
</template> </template>
<template v-slot:option="{ itemProps, opt, selected, toggleOption }"> <template v-slot:option="{ itemProps, opt, selected, toggleOption }">
<q-item v-bind="itemProps"> <q-item v-bind="itemProps">
<q-item-section> <q-item-section>
<q-item-label>{{ opt[fieldsTable.getLabelByTable(item.table)] }}</q-item-label> <q-item-label>{{
opt[fieldsTable.getLabelByTable(item.table)]
}}</q-item-label>
</q-item-section> </q-item-section>
<q-item-section side> <q-item-section side>
<q-toggle <q-toggle
@@ -976,7 +1033,13 @@
<q-space></q-space> <q-space></q-space>
<q-select <q-select
:behavior="$q.platform.is.ios === true ? 'dialog' : 'menu'" :behavior="$q.platform.is.ios === true ? 'dialog' : 'menu'"
v-if="mytable && pagination.rowsNumber > 0 && (prop_search || canEdit) && showCol && myvertical === 0" v-if="
mytable &&
pagination.rowsNumber > 0 &&
(prop_search || canEdit) &&
showCol &&
myvertical === 0
"
v-model="colVisib" v-model="colVisib"
rounded rounded
outlined outlined
@@ -993,8 +1056,12 @@
</q-select> </q-select>
</div> </div>
<div v-if="pagination.rowsNumber === 1 && prop_search">{{ pagination.rowsNumber }} elemento trovato</div> <div v-if="pagination.rowsNumber === 1 && prop_search">
<div v-if="pagination.rowsNumber > 1 && prop_search">{{ pagination.rowsNumber }} elementi trovati</div> {{ pagination.rowsNumber }} elemento trovato
</div>
<div v-if="pagination.rowsNumber > 1 && prop_search">
{{ pagination.rowsNumber }} elementi trovati
</div>
<div <div
v-if="choose_visutype && $q.screen.gt.xs" v-if="choose_visutype && $q.screen.gt.xs"
@@ -1040,7 +1107,29 @@
:props="props" :props="props"
> >
<div <div
v-if="showColCheck(col, tools.TIPOVIS_SHOW_RECORD, true, 1, props.row)" v-if="colExtra.includes(col.name)"
class="tdclass"
>
<div v-if="col.action && visCol(col)">
<q-btn
dense
no-caps
unelevated
:color="col.color"
:icon="col.icon"
size="md"
@click="clickFunz(props.row, col)"
>
<q-tooltip :offset="[10, 10]">
{{ col.label }}
</q-tooltip>
</q-btn>
</div>
</div>
<div
v-else-if="
showColCheck(col, tools.TIPOVIS_SHOW_RECORD, true, 1, props.row)
"
class="tdclass" class="tdclass"
> >
<div :class="getclrow(props.row)"> <div :class="getclrow(props.row)">
@@ -1063,27 +1152,6 @@
</div> </div>
</div> </div>
</q-td> </q-td>
<q-td
v-for="col in mycolumns"
:key="col.name"
:props="props"
>
<div
v-if="colExtra.includes(col.name)"
class="tdclass"
>
<div v-if="col.action && visCol(col)">
<q-btn
flat
round
color="red"
:icon="col.icon"
size="sm"
@click="clickFunz(props.row, col)"
></q-btn>
</div>
</div>
</q-td>
</q-tr> </q-tr>
<br /> <br />
</template> </template>
@@ -1094,11 +1162,17 @@
:style="props.selected ? 'transform: scale(0.95);' : ''" :style="props.selected ? 'transform: scale(0.95);' : ''"
> >
<q-card <q-card
:class="props.selected ? 'bg-grey-2 my-card-withshadow no-padding' : 'my-card-withshadow no-padding'" :class="
props.selected
? 'bg-grey-2 my-card-withshadow no-padding'
: 'my-card-withshadow no-padding'
"
style="background: radial-gradient(circle, #ffffff 0%, #bbddff 100%)" style="background: radial-gradient(circle, #ffffff 0%, #bbddff 100%)"
> >
<q-bar <q-bar
v-if="!visuinpage && (tools.canModifyThisRec(props.row, tablesel) || editOn)" v-if="
!visuinpage && (tools.canModifyThisRec(props.row, tablesel) || editOn)
"
dense dense
class="bg-primary text-white full-height" class="bg-primary text-white full-height"
> >
@@ -1106,7 +1180,9 @@
v-if="props.row['adType']" v-if="props.row['adType']"
:color="fieldsTable.getColByAdType(props.row['adType'])" :color="fieldsTable.getColByAdType(props.row['adType'])"
> >
{{ fieldsTable.getValByTabAndId(tablesel, 'adType', props.row['adType']) }} {{
fieldsTable.getValByTabAndId(tablesel, 'adType', props.row['adType'])
}}
<!--<q-icon <!--<q-icon
:name="fieldsTable.getIconByAdType(props.row['adType'])" :name="fieldsTable.getIconByAdType(props.row['adType'])"
color="white" color="white"
@@ -1126,7 +1202,9 @@
@click=" @click="
clickFunz( clickFunz(
props.row, props.row,
prop_mycolumns.find((rec) => rec.action === lists.MenuAction.CAN_EDIT_TABLE) prop_mycolumns.find(
(rec) => rec.action === lists.MenuAction.CAN_EDIT_TABLE
)
) )
" "
></q-btn> ></q-btn>
@@ -1140,7 +1218,9 @@
@click=" @click="
clickFunz( clickFunz(
props.row, props.row,
prop_mycolumns.find((rec) => rec.action === lists.MenuAction.DELETE_RECTABLE) prop_mycolumns.find(
(rec) => rec.action === lists.MenuAction.DELETE_RECTABLE
)
) )
" "
></q-btn> ></q-btn>
@@ -1190,7 +1270,9 @@
<CMyPopupEdit <CMyPopupEdit
:table="mytable" :table="mytable"
:canEdit="canEdit" :canEdit="canEdit"
:canModify="tools.canModifyThisRec(props.row, tablesel) || editOn" :canModify="
tools.canModifyThisRec(props.row, tablesel) || editOn
"
:disable="disabilita()" :disable="disabilita()"
:mycol="col" :mycol="col"
v-model:row="props.row" v-model:row="props.row"
@@ -1247,9 +1329,14 @@
type="search" type="search"
:hint=" :hint="
pagination.rowsNumber === 1 && prop_search pagination.rowsNumber === 1 && prop_search
? `${pagination.rowsNumber} ` + t('grid.found') + ' ' + getLabelAreaMap(false) ? `${pagination.rowsNumber} ` +
t('grid.found') +
' ' +
getLabelAreaMap(false)
: pagination.rowsNumber > 1 && prop_search : pagination.rowsNumber > 1 && prop_search
? `${pagination.rowsNumber} ${labelElemFind}` + ' ' + getLabelAreaMap(false) ? `${pagination.rowsNumber} ${labelElemFind}` +
' ' +
getLabelAreaMap(false)
: '' : ''
" "
debounce="500" debounce="500"
@@ -1314,7 +1401,9 @@
@hide="hidewindow" @hide="hidewindow"
:maximized="$q.screen.lt.sm" :maximized="$q.screen.lt.sm"
:persistent="false" :persistent="false"
:class="'dialog_annunci ' + ($q.screen.lt.sm ? 'bottom-dialog' : ' right-align-dialog')" :class="
'dialog_annunci ' + ($q.screen.lt.sm ? 'bottom-dialog' : ' right-align-dialog')
"
> >
<CMyCardGrpPopup <CMyCardGrpPopup
v-if="mytable === shared_consts.TABLES_MYGROUPS" v-if="mytable === shared_consts.TABLES_MYGROUPS"
@@ -1446,13 +1535,22 @@
dense dense
rounded rounded
:icon="!showfilteradv ? 'fas fa-arrow-down' : 'fas fa-arrow-up'" :icon="!showfilteradv ? 'fas fa-arrow-down' : 'fas fa-arrow-up'"
:label="showfilteradv ? t('grid.hide_campi_avanzati') : t('grid.show_campi_avanzati')" :label="
showfilteradv
? t('grid.hide_campi_avanzati')
: t('grid.show_campi_avanzati')
"
:class="{ 'q-btn--active': showfilteradv }" :class="{ 'q-btn--active': showfilteradv }"
:aria-expanded="showfilteradv.toString()" :aria-expanded="showfilteradv.toString()"
@click="showfilteradv = !showfilteradv" @click="showfilteradv = !showfilteradv"
></q-btn> ></q-btn>
</div> </div>
<div v-if="showColCheck(col, tools.TIPOVIS_NEW_RECORD, true, 0, newRecord) && col.foredit"> <div
v-if="
showColCheck(col, tools.TIPOVIS_NEW_RECORD, true, 0, newRecord) &&
col.foredit
"
>
<div class=""> <div class="">
<CMyPopupEdit <CMyPopupEdit
:table="mytable" :table="mytable"
@@ -1497,7 +1595,7 @@
</q-dialog> </q-dialog>
<q-dialog <q-dialog
v-model="editRecordBool" v-model="editRecordBool"
@hide="hidewindow" @hide="hidewindowEdit"
:maximized="$q.screen.lt.sm" :maximized="$q.screen.lt.sm"
> >
<q-card class="dialog_card"> <q-card class="dialog_card">
@@ -1529,12 +1627,18 @@
size="md" size="md"
dense dense
:icon="!showfilteradv ? 'fas fa-arrow-down' : 'fas fa-arrow-up'" :icon="!showfilteradv ? 'fas fa-arrow-down' : 'fas fa-arrow-up'"
:label="!showfilteradv ? t('grid.show_campi_avanzati') : t('grid.hide_campi_avanzati')" :label="
!showfilteradv
? t('grid.show_campi_avanzati')
: t('grid.hide_campi_avanzati')
"
@click="showfilteradv = !showfilteradv" @click="showfilteradv = !showfilteradv"
></q-btn> ></q-btn>
</div> </div>
<div <div
v-else-if="showColCheck(col, tools.TIPOVIS_EDIT_RECORD, false) && col.foredit" v-else-if="
showColCheck(col, tools.TIPOVIS_EDIT_RECORD, false) && col.foredit
"
class="tdclass" class="tdclass"
> >
<div> <div>

View File

@@ -53,7 +53,7 @@
</tr> </tr>
<tr v-if="!recOrderCart?.codice_sconto"> <tr v-if="!recOrderCart?.codice_sconto">
<td class="label">{{ t('ecomm.codice_sconto') }}:</td> <td class="label">{{ t('ecomm.add_codice_sconto') }}:</td>
<td> <td>
<q-input <q-input
v-model="codice_sconto" v-model="codice_sconto"
@@ -64,6 +64,7 @@
@keyup.enter="confermaCodiceSconto" @keyup.enter="confermaCodiceSconto"
/> />
<q-btn <q-btn
v-if="codice_sconto"
:disabled="!codice_sconto || codice_sconto.trim() === ''" :disabled="!codice_sconto || codice_sconto.trim() === ''"
:label="$t('ecomm.applica_sconto')" :label="$t('ecomm.applica_sconto')"
icon="fas fa-check-circle" icon="fas fa-check-circle"

View File

@@ -133,7 +133,7 @@ const msg_website_it = {
only_residenti: 'Solo Residenti', only_residenti: 'Solo Residenti',
only_consiglio: 'Solo Consiglieri', only_consiglio: 'Solo Consiglieri',
color: 'Colore', color: 'Colore',
gestoreordini: 'Gestore Ordini', totaliordini: 'Totali Ordini GAS',
gestoreordinigas: 'Gestore Ordini GAS', gestoreordinigas: 'Gestore Ordini GAS',
}, },
msg: { msg: {

View File

@@ -1047,6 +1047,7 @@ export interface IColGridTable {
icon?: string icon?: string
action?: any action?: any
askaction?: string askaction?: string
color?: string
foredit?: boolean foredit?: boolean
isInModif?: boolean isInModif?: boolean
fieldtype?: number fieldtype?: number

View File

@@ -1,8 +1,8 @@
<template> <template>
<CMyPage title="Info Prodotti" imgbackground="/images/prodotti.jpg" sizes="max-height: 120px"> <CMyPage :title="t('pages.totaliordini')" imgbackground="/images/prodotti.jpg" sizes="max-height: 120px">
<span>{{ <span>{{
setmeta({ setmeta({
title: 'Info Prodotti', title: t('pages.totaliordini'),
description: '', description: '',
keywords: '', keywords: '',
}) })
@@ -11,9 +11,9 @@
<div class="q-ma-sm q-gutter-sm q-pa-xs"> <div class="q-ma-sm q-gutter-sm q-pa-xs">
<CTitleBanner title="Info Prodotti"></CTitleBanner> <CTitleBanner :title="t('pages.totaliordini')"></CTitleBanner>
<CGridTableRec prop_mytable="orders" prop_mytitle="Gestore Ordini" :prop_mycolumns="colTableGestoreOrdini" <CGridTableRec prop_mytable="orders" :prop_mytitle="t('pages.totaliordini')" :prop_mycolumns="colTableGestoreOrdini"
:filtercustom="filtroOrdini" prop_colkey="name" nodataLabel="Nessun Ordine" :filtercustom="filtroOrdini" prop_colkey="name" nodataLabel="Nessun Totale Ordine"
noresultLabel="Il filtro selezionato non ha trovato nessun risultato"> noresultLabel="Il filtro selezionato non ha trovato nessun risultato">
</CGridTableRec> </CGridTableRec>

View File

@@ -8,7 +8,7 @@ function getRoutesEcomm(site: ISites) {
active: true, active: true,
order: 30, order: 30,
path: '/products', path: '/products',
materialIcon: 'fas fa-lemon', materialIcon: 'fas fa-list-ul',
name: 'mypages.productslist', name: 'mypages.productslist',
component: () => import('@src/views/ecommerce/productsList/productsList.vue'), component: () => import('@src/views/ecommerce/productsList/productsList.vue'),
inmenu: true, inmenu: true,
@@ -101,8 +101,8 @@ function getRoutesEcomm(site: ISites) {
active: true, active: true,
order: 30, order: 30,
path: '/admin/ecommerce/gestoreordini', path: '/admin/ecommerce/gestoreordini',
materialIcon: 'fas fa-lemon', materialIcon: 'fas fa-chart-pie',
name: 'mypages.gestoreordini', name: 'pages.totaliordini',
component: () => import('@src/views/admin/gestoreordini/gestoreordini.vue'), component: () => import('@src/views/admin/gestoreordini/gestoreordini.vue'),
inmenu: true, inmenu: true,
submenu: true, submenu: true,
@@ -143,7 +143,7 @@ function getRoutesEcomm(site: ISites) {
active: true, active: true,
order: 30, order: 30,
path: '/admin/ecommerce/providers', path: '/admin/ecommerce/providers',
materialIcon: 'fas fa-file-alt', materialIcon: 'fas fa-box-open',
name: 'mypages.providers', name: 'mypages.providers',
component: () => import('@src/rootgen/admin/providers/providers.vue'), component: () => import('@src/rootgen/admin/providers/providers.vue'),
inmenu: true, inmenu: true,
@@ -171,7 +171,7 @@ function getRoutesEcomm(site: ISites) {
active: true, active: true,
order: 31, order: 31,
path: '/admin/ecommerce/departments', path: '/admin/ecommerce/departments',
materialIcon: 'fas fa-file-alt', materialIcon: 'fas fa-building',
name: 'mypages.departments', name: 'mypages.departments',
component: () => import('@src/rootgen/admin/departments/departments.vue'), component: () => import('@src/rootgen/admin/departments/departments.vue'),
inmenu: true, inmenu: true,
@@ -199,7 +199,7 @@ function getRoutesEcomm(site: ISites) {
active: true, active: true,
order: 32, order: 32,
path: '/admin/ecommerce/catprods', path: '/admin/ecommerce/catprods',
materialIcon: 'fas fa-file-alt', materialIcon: 'fas fa-th-list',
name: 'mypages.catprods', name: 'mypages.catprods',
component: () => import('@src/rootgen/admin/catprods/catprods.vue'), component: () => import('@src/rootgen/admin/catprods/catprods.vue'),
inmenu: true, inmenu: true,
@@ -213,7 +213,7 @@ function getRoutesEcomm(site: ISites) {
active: true, active: true,
order: 35, order: 35,
path: '/admin/ecommerce/collane', path: '/admin/ecommerce/collane',
materialIcon: 'fas fa-file-alt', materialIcon: 'fas fa-book-open',
name: 'mypages.collane', name: 'mypages.collane',
component: () => import('@src/rootgen/admin/collane/collane.vue'), component: () => import('@src/rootgen/admin/collane/collane.vue'),
inmenu: true, inmenu: true,

View File

@@ -12,6 +12,8 @@ const msg_it = {
csv: 'Esporta Lista', csv: 'Esporta Lista',
}, },
grid: { grid: {
edit_table: 'Disattiva Modifiche',
disable_edit_table: 'Attiva Modifiche',
show_campi_avanzati: 'Visualizza campi aggiuntivi', show_campi_avanzati: 'Visualizza campi aggiuntivi',
hide_campi_avanzati: 'Nascondi campi aggiuntivi', hide_campi_avanzati: 'Nascondi campi aggiuntivi',
advanced_filters: 'Vedi Altri Filtri ...', advanced_filters: 'Vedi Altri Filtri ...',
@@ -1282,7 +1284,6 @@ const msg_it = {
admin_ecommerce: 'ECommerce', admin_ecommerce: 'ECommerce',
ecommerce: 'Prodotti', ecommerce: 'Prodotti',
ecommerce_menu: 'ECommerce1', ecommerce_menu: 'ECommerce1',
gestoreordini: 'Gestore Ordini',
producer: 'Produttore', producer: 'Produttore',
orderinfo: 'Ordini Effettuati', orderinfo: 'Ordini Effettuati',
products: 'Prodotti', products: 'Prodotti',
@@ -1893,7 +1894,8 @@ const msg_it = {
prezzointero: 'Prezzo Intero', prezzointero: 'Prezzo Intero',
already_in_cart: 'Questo prodotto è stato già aggiunto al Carrello', already_in_cart: 'Questo prodotto è stato già aggiunto al Carrello',
area_personale: 'Per poter fare un Ordine occorre essere Registrati ed accedere con le proprie credenziali (username e password)', area_personale: 'Per poter fare un Ordine occorre essere Registrati ed accedere con le proprie credenziali (username e password)',
codice_sconto: 'Aggiungi il Codice Sconto', add_codice_sconto: 'Hai un codice sconto?',
codice_sconto: 'CODICE SCONTO',
applica_sconto: 'Applica', applica_sconto: 'Applica',
rimuovi_sconto: 'Rimuovi', rimuovi_sconto: 'Rimuovi',
sconto_appl: 'Sconto Applicato', sconto_appl: 'Sconto Applicato',
@@ -2177,7 +2179,7 @@ const msg_it = {
prezzo: 'Prezzo', prezzo: 'Prezzo',
date_extraction: 'Data Estrazione', date_extraction: 'Data Estrazione',
descrizione_lunga: 'Descrizione Lunga', descrizione_lunga: 'Descrizione Lunga',
} },
}, },
}; };

View File

@@ -16,6 +16,7 @@ const DeleteRec = {
field: costanti.NOFIELD, field: costanti.NOFIELD,
sortable: false, sortable: false,
icon: 'fas fa-trash-alt', icon: 'fas fa-trash-alt',
color: 'negative',
action: lists.MenuAction.DELETE_RECTABLE, action: lists.MenuAction.DELETE_RECTABLE,
askaction: 'db.deletetherecord', askaction: 'db.deletetherecord',
// required: true, // required: true,
@@ -31,6 +32,7 @@ const ModifRec = {
icon: 'fas fa-pencil-alt', icon: 'fas fa-pencil-alt',
action: lists.MenuAction.CAN_EDIT_TABLE, action: lists.MenuAction.CAN_EDIT_TABLE,
askaction: '', askaction: '',
color: 'primary',
// required: true, // required: true,
visuonlyEditVal: true, visuonlyEditVal: true,
}; };
@@ -42,6 +44,7 @@ const DuplicateRec = {
field: costanti.NOFIELD, field: costanti.NOFIELD,
sortable: false, sortable: false,
icon: 'fas fa-copy', icon: 'fas fa-copy',
color: 'positive',
action: lists.MenuAction.DUPLICATE_RECTABLE, action: lists.MenuAction.DUPLICATE_RECTABLE,
askaction: 'db.duplicatedrecordquestion', askaction: 'db.duplicatedrecordquestion',
visuonlyEditVal: true, visuonlyEditVal: true,
@@ -100,6 +103,7 @@ function AddCol(params: IColGridTable) {
link: params.link === undefined ? '' : params.link, link: params.link === undefined ? '' : params.link,
typeobj: params.typeobj === undefined ? '' : params.typeobj, typeobj: params.typeobj === undefined ? '' : params.typeobj,
inline: params.inline === undefined ? '' : params.inline, inline: params.inline === undefined ? '' : params.inline,
color: params.color === undefined ? '' : params.color,
askaction: params.askaction === undefined ? '' : params.askaction, askaction: params.askaction === undefined ? '' : params.askaction,
tablesel: params.tablesel === undefined ? '' : params.tablesel, tablesel: params.tablesel === undefined ? '' : params.tablesel,
jointable: params.jointable === undefined ? '' : params.jointable, jointable: params.jointable === undefined ? '' : params.jointable,
@@ -1008,6 +1012,7 @@ export const colmyscrapingbook = [
]; ];
export const colmypage = [ export const colmypage = [
AddCol(ModifRec),
AddCol({ AddCol({
name: '_id', name: '_id',
label_trans: 'index', label_trans: 'index',
@@ -1167,7 +1172,6 @@ export const colmypage = [
fieldtype: costanti.FieldType.string, fieldtype: costanti.FieldType.string,
}), }),
AddCol(DeleteRec), AddCol(DeleteRec),
AddCol(ModifRec),
AddCol(DuplicateRec), AddCol(DuplicateRec),
]; ];
@@ -1357,6 +1361,7 @@ const colTableCard = [
]; ];
export const colTableProducer = [ export const colTableProducer = [
AddCol(ModifRec),
AddCol({ name: 'name', label_trans: 'producer.name' }), AddCol({ name: 'name', label_trans: 'producer.name' }),
AddCol({ name: 'description', label_trans: 'producer.description' }), AddCol({ name: 'description', label_trans: 'producer.description' }),
AddCol({ name: 'referent', label_trans: 'producer.referent' }), AddCol({ name: 'referent', label_trans: 'producer.referent' }),
@@ -1365,7 +1370,6 @@ export const colTableProducer = [
AddCol({ name: 'city', label_trans: 'producer.city' }), AddCol({ name: 'city', label_trans: 'producer.city' }),
AddCol({ name: 'img', label_trans: 'producer.img' }), AddCol({ name: 'img', label_trans: 'producer.img' }),
AddCol({ name: 'website', label_trans: 'reg.website' }), AddCol({ name: 'website', label_trans: 'reg.website' }),
AddCol(ModifRec),
AddCol(DeleteRec), AddCol(DeleteRec),
AddCol(DuplicateRec), AddCol(DuplicateRec),
]; ];
@@ -4460,6 +4464,7 @@ export const colTableOrdersCart = [
]; ];
export const colTableProdShort = [ export const colTableProdShort = [
AddCol(ModifRec),
AddCol({ AddCol({
name: 'active', name: 'active',
label_trans: 'products.active', label_trans: 'products.active',
@@ -4540,6 +4545,10 @@ export const colTableProdShort = [
fieldtype: costanti.FieldType.html, fieldtype: costanti.FieldType.html,
field: 'productInfo', field: 'productInfo',
subfield: 'description', subfield: 'description',
showWhen:
costanti.showWhen.NewRec +
costanti.showWhen.InPage +
costanti.showWhen.InEdit,
}), }),
AddCol({ AddCol({
name: 'productInfo.imagefile', name: 'productInfo.imagefile',
@@ -4755,10 +4764,10 @@ const colcontribtype = [
]; ];
const colpaymenttype = [ const colpaymenttype = [
AddCol(ModifRec),
AddCol({ name: '_id', label_trans: 'others.value' }), AddCol({ name: '_id', label_trans: 'others.value' }),
AddCol({ name: 'key', label_trans: 'reg.key' }), AddCol({ name: 'key', label_trans: 'reg.key' }),
AddCol({ name: 'label', label_trans: 'proj.longdescr' }), AddCol({ name: 'label', label_trans: 'proj.longdescr' }),
AddCol(ModifRec),
AddCol(DeleteRec), AddCol(DeleteRec),
AddCol(DuplicateRec), AddCol(DuplicateRec),
]; ];