#8002 addSupportService #894

Merged
jorgep merged 17 commits from xxxx-addSupportService into dev 2024-12-11 09:49:41 +00:00
151 changed files with 758 additions and 1731 deletions
Showing only changes of commit f7c64fe6ff - Show all commits

View File

@ -4,9 +4,8 @@ import { Router } from 'src/router';
import useNotify from 'src/composables/useNotify.js'; import useNotify from 'src/composables/useNotify.js';
import { useStateQueryStore } from 'src/stores/useStateQueryStore'; import { useStateQueryStore } from 'src/stores/useStateQueryStore';
const session = useSession(); let session, notify, stateQuery;
const { notify } = useNotify();
const stateQuery = useStateQueryStore();
const baseUrl = '/api/'; const baseUrl = '/api/';
axios.defaults.baseURL = baseUrl; axios.defaults.baseURL = baseUrl;
@ -51,9 +50,15 @@ const onResponseError = (error) => {
return Promise.reject(error); return Promise.reject(error);
}; };
export function setupAxios() {
session = useSession();
notify = useNotify().notify;
stateQuery = useStateQueryStore();
axios.interceptors.request.use(onRequest, onRequestError); axios.interceptors.request.use(onRequest, onRequestError);
axios.interceptors.response.use(onResponse, onResponseError); axios.interceptors.response.use(onResponse, onResponseError);
axiosNoError.interceptors.request.use(onRequest); axiosNoError.interceptors.request.use(onRequest);
axiosNoError.interceptors.response.use(onResponse); axiosNoError.interceptors.response.use(onResponse);
}
export { onRequest, onResponseError, axiosNoError }; export { onRequest, onResponseError, axiosNoError };

View File

@ -4,6 +4,7 @@ import { boot } from 'quasar/wrappers';
import qFormMixin from './qformMixin'; import qFormMixin from './qformMixin';
import keyShortcut from './keyShortcut'; import keyShortcut from './keyShortcut';
import { i18n } from './i18n'; import { i18n } from './i18n';
import { setupAxios } from 'src/boot/axios';
import useNotify from 'src/composables/useNotify.js'; import useNotify from 'src/composables/useNotify.js';
import VnInput from 'src/components/common/VnInput.vue'; import VnInput from 'src/components/common/VnInput.vue';
import { useVnConfirm } from 'src/composables/useVnConfirm'; import { useVnConfirm } from 'src/composables/useVnConfirm';
@ -111,4 +112,5 @@ export default boot(({ app }) => {
}; };
jorgep marked this conversation as resolved Outdated
Outdated
Review

Utilizaría otro fichero distinto en boot para poner este codigo, ej. cau.js

Utilizaría otro fichero distinto en boot para poner este codigo, ej. `cau.js`
notify(message ?? 'globals.error', 'negative', 'error', opts); notify(message ?? 'globals.error', 'negative', 'error', opts);
}; };
setupAxios();
}); });

View File

@ -50,25 +50,25 @@ const loading = ref(false);
const tableColumns = computed(() => [ const tableColumns = computed(() => [
{ {
label: t('entry.buys.id'), label: t('globals.id'),
name: 'id', name: 'id',
field: 'id', field: 'id',
align: 'left', align: 'left',
}, },
{ {
label: t('entry.buys.name'), label: t('globals.name'),
name: 'name', name: 'name',
field: 'name', field: 'name',
align: 'left', align: 'left',
}, },
{ {
label: t('entry.buys.size'), label: t('globals.size'),
name: 'size', name: 'size',
field: 'size', field: 'size',
align: 'left', align: 'left',
}, },
{ {
label: t('entry.buys.producer'), label: t('globals.producer'),
name: 'producerName', name: 'producerName',
field: 'producer', field: 'producer',
align: 'left', align: 'left',
@ -152,10 +152,10 @@ const selectItem = ({ id }) => {
</span> </span>
<h1 class="title">{{ t('Filter item') }}</h1> <h1 class="title">{{ t('Filter item') }}</h1>
<VnRow> <VnRow>
<VnInput :label="t('entry.buys.name')" v-model="itemFilterParams.name" /> <VnInput :label="t('globals.name')" v-model="itemFilterParams.name" />
<VnInput :label="t('entry.buys.size')" v-model="itemFilterParams.size" /> <VnInput :label="t('entry.buys.size')" v-model="itemFilterParams.size" />
<VnSelect <VnSelect
:label="t('entry.buys.producer')" :label="t('globals.producer')"
:options="producersOptions" :options="producersOptions"
hide-selected hide-selected
option-label="name" option-label="name"
@ -163,7 +163,7 @@ const selectItem = ({ id }) => {
v-model="itemFilterParams.producerFk" v-model="itemFilterParams.producerFk"
/> />
<VnSelect <VnSelect
:label="t('entry.buys.type')" :label="t('globals.type')"
:options="ItemTypesOptions" :options="ItemTypesOptions"
hide-selected hide-selected
option-label="name" option-label="name"

View File

@ -48,13 +48,13 @@ const loading = ref(false);
const tableColumns = computed(() => [ const tableColumns = computed(() => [
{ {
label: t('entry.basicData.id'), label: t('globals.id'),
name: 'id', name: 'id',
field: 'id', field: 'id',
align: 'left', align: 'left',
}, },
{ {
label: t('entry.basicData.warehouseOut'), label: t('globals.warehouseOut'),
name: 'warehouseOutFk', name: 'warehouseOutFk',
field: 'warehouseOutFk', field: 'warehouseOutFk',
align: 'left', align: 'left',
@ -62,7 +62,7 @@ const tableColumns = computed(() => [
warehousesOptions.value.find((warehouse) => warehouse.id === val).name, warehousesOptions.value.find((warehouse) => warehouse.id === val).name,
}, },
{ {
label: t('entry.basicData.warehouseIn'), label: t('globals.warehouseIn'),
name: 'warehouseInFk', name: 'warehouseInFk',
field: 'warehouseInFk', field: 'warehouseInFk',
align: 'left', align: 'left',
@ -70,14 +70,14 @@ const tableColumns = computed(() => [
warehousesOptions.value.find((warehouse) => warehouse.id === val).name, warehousesOptions.value.find((warehouse) => warehouse.id === val).name,
}, },
{ {
label: t('entry.basicData.shipped'), label: t('globals.shipped'),
name: 'shipped', name: 'shipped',
field: 'shipped', field: 'shipped',
align: 'left', align: 'left',
format: (val) => toDate(val), format: (val) => toDate(val),
}, },
{ {
label: t('entry.basicData.landed'), label: t('globals.landed'),
name: 'landed', name: 'landed',
field: 'landed', field: 'landed',
align: 'left', align: 'left',
@ -146,7 +146,7 @@ const selectTravel = ({ id }) => {
<h1 class="title">{{ t('Filter travels') }}</h1> <h1 class="title">{{ t('Filter travels') }}</h1>
<VnRow> <VnRow>
<VnSelect <VnSelect
:label="t('entry.basicData.agency')" :label="t('globals.agency')"
:options="agenciesOptions" :options="agenciesOptions"
hide-selected hide-selected
option-label="name" option-label="name"
@ -154,7 +154,7 @@ const selectTravel = ({ id }) => {
v-model="travelFilterParams.agencyModeFk" v-model="travelFilterParams.agencyModeFk"
/> />
<VnSelect <VnSelect
:label="t('entry.basicData.warehouseOut')" :label="t('globals.warehouseOut')"
:options="warehousesOptions" :options="warehousesOptions"
hide-selected hide-selected
option-label="name" option-label="name"
@ -162,7 +162,7 @@ const selectTravel = ({ id }) => {
v-model="travelFilterParams.warehouseOutFk" v-model="travelFilterParams.warehouseOutFk"
/> />
<VnSelect <VnSelect
:label="t('entry.basicData.warehouseIn')" :label="t('globals.warehouseIn')"
:options="warehousesOptions" :options="warehousesOptions"
hide-selected hide-selected
option-label="name" option-label="name"
@ -170,11 +170,11 @@ const selectTravel = ({ id }) => {
v-model="travelFilterParams.warehouseInFk" v-model="travelFilterParams.warehouseInFk"
/> />
<VnInputDate <VnInputDate
:label="t('entry.basicData.shipped')" :label="t('globals.shipped')"
v-model="travelFilterParams.shipped" v-model="travelFilterParams.shipped"
/> />
<VnInputDate <VnInputDate
:label="t('entry.basicData.landed')" :label="t('globals.landed')"
v-model="travelFilterParams.landed" v-model="travelFilterParams.landed"
/> />
</VnRow> </VnRow>

View File

@ -248,7 +248,7 @@ const removeTag = (index, params, search) => {
> >
<QItemSection class="col"> <QItemSection class="col">
<VnSelect <VnSelect
:label="t('components.itemsFilterPanel.tag')" :label="t('globals.tag')"
v-model="value.selectedTag" v-model="value.selectedTag"
:options="tagOptions" :options="tagOptions"
option-label="name" option-label="name"

View File

@ -163,7 +163,7 @@ function addDefaultData(data) {
/> />
<QFile <QFile
ref="inputFileRef" ref="inputFileRef"
:label="t('entry.buys.file')" :label="t('globals.file')"
v-model="dms.files" v-model="dms.files"
:multiple="false" :multiple="false"
:accept="allowedContentTypes" :accept="allowedContentTypes"

View File

@ -8,9 +8,13 @@ import useNotify from './useNotify';
import { useTokenConfig } from './useTokenConfig'; import { useTokenConfig } from './useTokenConfig';
const TOKEN_MULTIMEDIA = 'tokenMultimedia'; const TOKEN_MULTIMEDIA = 'tokenMultimedia';
const TOKEN = 'token'; const TOKEN = 'token';
let router;
export default {
setup() {
router = useRouter();
},
};
export function useSession() { export function useSession() {
const router = useRouter();
const { notify } = useNotify(); const { notify } = useNotify();
let isCheckingToken = false; let isCheckingToken = false;
let intervalId = null; let intervalId = null;

View File

@ -59,7 +59,7 @@ globals:
downloadCSVSuccess: CSV downloaded successfully downloadCSVSuccess: CSV downloaded successfully
reference: Reference reference: Reference
agency: Agency agency: Agency
wareHouseOut: Warehouse Out warehouseOut: Warehouse Out
wareHouseIn: Warehouse In wareHouseIn: Warehouse In
landed: Landed landed: Landed
shipped: Shipped shipped: Shipped
@ -106,6 +106,26 @@ globals:
weight: Weight weight: Weight
error: Ups! Something went wrong error: Ups! Something went wrong
recalc: Recalculate recalc: Recalculate
alias: Alias
vat: VAT
intrastat: Intrastat
tags: Tags
size: Size
producer: Producer
origin: Origin
state: State
subtotal: Subtotal
visible: Visible
price: Price
client: Client
country: Country
phone: Phone
mobile: Mobile
postcode: Postcode
street: Street
tag: Tag
ticketId: Ticket ID
confirmed: Confirmed
small: Small small: Small
medium: Medium medium: Medium
big: Big big: Big
@ -300,13 +320,10 @@ globals:
maxTemperature: Max maxTemperature: Max
minTemperature: Min minTemperature: Min
params: params:
id: ID
clientFk: Client id clientFk: Client id
salesPersonFk: Sales person salesPersonFk: Sales person
warehouseFk: Warehouse warehouseFk: Warehouse
provinceFk: Province provinceFk: Province
from: From
To: To
stateFk: State stateFk: State
email: Email email: Email
SSN: SSN SSN: SSN
@ -336,16 +353,12 @@ login:
loginError: Invalid username or password loginError: Invalid username or password
fieldRequired: This field is required fieldRequired: This field is required
twoFactorRequired: Two-factor verification required twoFactorRequired: Two-factor verification required
twoFactor: twoFactorRequired:
code: Code
validate: Validate validate: Validate
insert: Enter the verification code insert: Enter the verification code
explanation: >- explanation: >-
Please, enter the verification code that we have sent to your email in the Please, enter the verification code that we have sent to your email in the
next 5 minutes next 5 minutes
verifyEmail:
pageTitles:
verifyEmail: Email verification
recoverPassword: recoverPassword:
userOrEmail: User or recovery email userOrEmail: User or recovery email
explanation: >- explanation: >-
@ -362,15 +375,7 @@ cau:
entry: entry:
list: list:
newEntry: New entry newEntry: New entry
landed: Landed
invoiceNumber: Invoice number
supplier: Supplier
booked: Booked
confirmed: Confirmed
ordered: Ordered
tableVisibleColumns: tableVisibleColumns:
id: Id
reference: Reference
created: Creation created: Creation
supplierFk: Supplier supplierFk: Supplier
isBooked: Booked isBooked: Booked
@ -383,236 +388,117 @@ entry:
summary: summary:
commission: Commission commission: Commission
currency: Currency currency: Currency
company: Company
reference: Reference
invoiceNumber: Invoice number invoiceNumber: Invoice number
ordered: Ordered ordered: Ordered
confirmed: Confirmed
booked: Booked booked: Booked
excludedFromAvailable: Inventory excludedFromAvailable: Inventory
travelReference: Reference travelReference: Reference
travelAgency: Agency travelAgency: Agency
travelShipped: Shipped travelShipped: Shipped
travelWarehouseOut: Warehouse Out
travelDelivered: Delivered travelDelivered: Delivered
travelLanded: Landed travelLanded: Landed
travelWarehouseIn: Warehouse In
travelReceived: Received travelReceived: Received
buys: Buys buys: Buys
quantity: Quantity
stickers: Stickers stickers: Stickers
package: Package package: Package
weight: Weight
packing: Packing packing: Packing
grouping: Grouping grouping: Grouping
buyingValue: Buying value buyingValue: Buying value
import: Import import: Import
pvp: PVP pvp: PVP
item: Item
basicData: basicData:
supplier: Supplier
travel: Travel travel: Travel
reference: Reference
invoiceNumber: Invoice number
company: Company
currency: Currency currency: Currency
commission: Commission commission: Commission
observation: Observation observation: Observation
ordered: Ordered
confirmed: Confirmed
booked: Booked booked: Booked
excludedFromAvailable: Inventory excludedFromAvailable: Inventory
agency: Agency
warehouseOut: Warehouse Out
warehouseIn: Warehouse In
shipped: Shipped
landed: Landed
id: ID
buys: buys:
groupingPrice: Grouping price
packingPrice: Packing price
reference: Reference
observations: Observations observations: Observations
item: Item
size: Size
packing: Packing
grouping: Grouping
buyingValue: Buying value
packagingFk: Box packagingFk: Box
file: File
name: Name
producer: Producer
type: Type
color: Color color: Color
id: ID
printedStickers: Printed stickers printedStickers: Printed stickers
notes: notes:
observationType: Observation type observationType: Observation type
descriptor:
agency: Agency
landed: Landed
warehouseOut: Warehouse Out
latestBuys: latestBuys:
tableVisibleColumns: tableVisibleColumns:
image: Picture image: Picture
itemFk: Item ID itemFk: Item ID
packing: Packing
grouping: Grouping
quantity: Quantity
size: Size
tags: Tags
type: Type
intrastat: Intrastat
origin: Origin
weightByPiece: Weight/Piece weightByPiece: Weight/Piece
isActive: Active isActive: Active
family: Family family: Family
entryFk: Entry entryFk: Entry
buyingValue: Buying value
freightValue: Freight value freightValue: Freight value
comissionValue: Commission value comissionValue: Commission value
description: Description
packageValue: Package value packageValue: Package value
isIgnored: Is ignored isIgnored: Is ignored
price2: Grouping price2: Grouping
price3: Packing price3: Packing
minPrice: Min minPrice: Min
ektFk: Ekt ektFk: Ekt
weight: Weight
packagingFk: Package
packingOut: Package out packingOut: Package out
landing: Landing landing: Landing
isExcludedFromAvailable: Es inventory isExcludedFromAvailable: Es inventory
ticket: ticket:
pageTitles:
tickets: Tickets
list: List
ticketCreate: New ticket
summary: Summary
basicData: Basic Data
boxing: Boxing
sms: Sms
notes: Notes
sale: Sale
dms: File management
volume: Volume
observation: Notes
ticketAdvance: Advance tickets
futureTickets: Future tickets
purchaseRequest: Purchase request
weeklyTickets: Weekly tickets
list:
nickname: Nickname
state: State
shipped: Shipped
landed: Landed
salesPerson: Sales person
total: Total
card: card:
ticketId: Ticket ID
state: State
customerId: Customer ID customerId: Customer ID
salesPerson: Sales person
agency: Agency
shipped: Shipped
warehouse: Warehouse
customerCard: Customer card customerCard: Customer card
alias: Alias
ticketList: Ticket List ticketList: Ticket List
newOrder: New Order newOrder: New Order
boxing: boxing:
expedition: Expedition expedition: Expedition
item: Item
created: Created created: Created
worker: Worker
selectTime: 'Select time:' selectTime: 'Select time:'
selectVideo: 'Select video:' selectVideo: 'Select video:'
notFound: No videos available notFound: No videos available
summary: summary:
state: State
salesPerson: Sales person
agency: Agency
zone: Zone zone: Zone
warehouse: Warehouse
collection: Collection collection: Collection
route: Route route: Route
invoice: Invoice invoice: Invoice
shipped: Shipped shipped: Shipped
landed: Landed
consigneePhone: Consignee phone consigneePhone: Consignee phone
consigneeMobile: Consignee mobile consigneeMobile: Consignee mobile
consigneeAddress: Consignee address consigneeAddress: Consignee address
clientPhone: Client phone clientPhone: Client phone
clientMobile: Client mobile clientMobile: Client mobile
consignee: Consignee consignee: Consignee
subtotal: Subtotal
vat: VAT
total: Total total: Total
saleLines: Line items saleLines: Line items
item: Item
visible: Visible
available: Available available: Available
quantity: Quantity
price: Price
discount: Discount discount: Discount
packing: Packing packing: Packing
hasComponentLack: Component lack hasComponentLack: Component lack
itemShortage: Not visible itemShortage: Not visible
claim: Claim claim: Claim
reserved: Reserved reserved: Reserved
created: Created
package: Package package: Package
taxClass: Tax class taxClass: Tax class
services: Services services: Services
requester: Requester requester: Requester
atender: Atender atender: Atender
request: Request request: Request
weight: Weight
goTo: Go to goTo: Go to
summaryAmount: Summary summaryAmount: Summary
purchaseRequest: Purchase request purchaseRequest: Purchase request
service: Service service: Service
description: Description
attender: Attender attender: Attender
ok: Ok ok: Ok
create: create:
client: Client
address: Address address: Address
landed: Landed
warehouse: Warehouse
agency: Agency
invoiceOut: invoiceOut:
list:
ref: Reference
issued: Issued
shortIssued: Issued
client: Client
created: Created
shortCreated: Created
company: Company
dued: Due date
shortDued: Due date
amount: Amount
card: card:
issued: Issued issued: Issued
client: Client
company: Company
customerCard: Customer card customerCard: Customer card
summary: summary:
issued: Issued issued: Issued
created: Created
dued: Due dued: Due
booked: Booked booked: Booked
company: Company
taxBreakdown: Tax breakdown taxBreakdown: Tax breakdown
type: Type
taxableBase: Taxable base taxableBase: Taxable base
rate: Rate rate: Rate
fee: Fee fee: Fee
tickets: Tickets tickets: Tickets
ticketId: Ticket id
nickname: Alias
shipped: Shipped
totalWithVat: Amount totalWithVat: Amount
globalInvoices: globalInvoices:
errors: errors:
@ -626,22 +512,14 @@ invoiceOut:
noTicketsToInvoice: There are not tickets to invoice noTicketsToInvoice: There are not tickets to invoice
criticalInvoiceError: 'Critical invoicing error, process stopped' criticalInvoiceError: 'Critical invoicing error, process stopped'
table: table:
client: Client
addressId: Address id addressId: Address id
streetAddress: Street streetAddress: Street
statusCard: statusCard:
percentageText: '{getPercentage}% {getAddressNumber} of {getNAddresses}' percentageText: '{getPercentage}% {getAddressNumber} of {getNAddresses}'
pdfsNumberText: '{nPdfs} of {totalPdfs} PDFs' pdfsNumberText: '{nPdfs} of {totalPdfs} PDFs'
negativeBases: negativeBases:
from: From
to: To
company: Company
country: Country
clientId: Client Id clientId: Client Id
client: Client
amount: Amount
base: Base base: Base
ticketId: Ticket Id
active: Active active: Active
hasToInvoice: Has to Invoice hasToInvoice: Has to Invoice
verifiedData: Verified Data verifiedData: Verified Data
@ -654,15 +532,6 @@ shelving:
priority: Priority priority: Priority
newShelving: New Shelving newShelving: New Shelving
summary: summary:
code: Code
parking: Parking
priority: Priority
worker: Worker
recyclable: Recyclable
basicData:
code: Code
parking: Parking
priority: Priority
recyclable: Recyclable recyclable: Recyclable
parking: parking:
pickingOrder: Picking order pickingOrder: Picking order
@ -675,56 +544,27 @@ parking:
order: order:
field: field:
salesPersonFk: Sales Person salesPersonFk: Sales Person
clientFk: Client
isConfirmed: Confirmed
created: Created
landed: Landed
hour: Hour
agency: Agency
total: Total
form: form:
clientFk: Client clientFk: Client
addressFk: Address addressFk: Address
landed: Landed
agencyModeFk: Agency agencyModeFk: Agency
list: list:
newOrder: New Order newOrder: New Order
summary: summary:
basket: Basket basket: Basket
nickname: Nickname
company: Company
confirmed: Confirmed
notConfirmed: Not confirmed notConfirmed: Not confirmed
created: Created created: Created
landed: Landed
phone: Phone
createdFrom: Created From createdFrom: Created From
address: Address address: Address
notes: Notes
subtotal: Subtotal
total: Total total: Total
vat: VAT
state: State
alias: Alias
items: Items items: Items
orderTicketList: Order Ticket List orderTicketList: Order Ticket List
details: Details
item: Item
quantity: Quantity
price: Price
amount: Amount amount: Amount
confirm: Confirm confirm: Confirm
confirmLines: Confirm lines confirmLines: Confirm lines
department: department:
pageTitles:
basicData: Basic data
department: Department
summary: Summary
name: Name
code: Code
chat: Chat chat: Chat
bossDepartment: Boss Department bossDepartment: Boss Department
email: Email
selfConsumptionCustomer: Self-consumption customer selfConsumptionCustomer: Self-consumption customer
telework: Telework telework: Telework
notifyOnErrors: Notify on errors notifyOnErrors: Notify on errors
@ -733,47 +573,11 @@ department:
hasToSendMail: Send check-ins by email hasToSendMail: Send check-ins by email
departmentRemoved: Department removed departmentRemoved: Department removed
worker: worker:
pageTitles:
workers: Workers
list: List
basicData: Basic data
summary: Summary
notifications: Notifications
workerCreate: New worker
department: Department
pda: PDA
notes: Notas
dms: My documentation
pbx: Private Branch Exchange
log: Log
calendar: Calendar
timeControl: Time control
locker: Locker
balance: Balance
medical: Medical
operator: Operator
list: list:
name: Name
email: Email
phone: Phone
mobile: Mobile
active: Active
department: Department department: Department
schedule: Schedule schedule: Schedule
newWorker: New worker newWorker: New worker
card:
workerId: Worker ID
user: User
name: Name
email: Email
phone: Phone
mobile: Mobile
active: Active
warehouse: Warehouse
agency: Agency
salesPerson: Sales person
summary: summary:
basicData: Basic data
boss: Boss boss: Boss
phoneExtension: Phone extension phoneExtension: Phone extension
entPhone: Enterprise phone entPhone: Enterprise phone
@ -805,19 +609,12 @@ worker:
serialNumber: Serial number serialNumber: Serial number
removePDA: Deallocate PDA removePDA: Deallocate PDA
create: create:
name: Name
lastName: Last name lastName: Last name
birth: Birth birth: Birth
fi: Fi fi: Fi
code: Worker code code: Worker code
phone: Phone
postcode: Postcode
province: Province
city: City
street: Street
webUser: Web user webUser: Web user
personalEmail: Personal email personalEmail: Personal email
company: Company
boss: Boss boss: Boss
payMethods: Pay method payMethods: Pay method
iban: IBAN iban: IBAN
@ -829,16 +626,13 @@ worker:
endDate: End date endDate: End date
center: Training center center: Training center
invoice: Invoice invoice: Invoice
amount: Amount
remark: Remark remark: Remark
hasDiploma: Has diploma hasDiploma: Has diploma
medical: medical:
tableVisibleColumns: tableVisibleColumns:
date: Date
time: Hour time: Hour
center: Formation Center center: Formation Center
invoice: Invoice invoice: Invoice
amount: Amount
isFit: Fit isFit: Fit
remark: Observations remark: Observations
imageNotFound: Image not found imageNotFound: Image not found
@ -862,18 +656,7 @@ worker:
isOnReservationMode: Reservation mode isOnReservationMode: Reservation mode
machine: Machine machine: Machine
wagon: wagon:
pageTitles:
wagons: Wagons
wagonsList: Wagons List
wagonCreate: Create wagon
wagonEdit: Edit wagon
typesList: Types List
typeCreate: Create type
typeEdit: Edit type
wagonCounter: Trolley counter
wagonTray: Tray List
type: type:
name: Name
submit: Submit submit: Submit
reset: Reset reset: Reset
trayColor: Tray color trayColor: Tray color
@ -881,13 +664,10 @@ wagon:
list: list:
plate: Plate plate: Plate
volume: Volume volume: Volume
type: Type
remove: Remove remove: Remove
removeItem: Wagon removed successfully removeItem: Wagon removed successfully
create: create:
plate: Plate plate: Plate
volume: Volume
type: Type
label: Label label: Label
warnings: warnings:
noData: No data available noData: No data available
@ -904,26 +684,17 @@ wagon:
supplier: supplier:
list: list:
payMethod: Pay method payMethod: Pay method
payDeadline: Pay deadline
payDay: Pay day
account: Account account: Account
newSupplier: New supplier newSupplier: New supplier
tableVisibleColumns: tableVisibleColumns:
id: Id
name: Name
nif: NIF/CIF nif: NIF/CIF
nickname: Alias
account: Account account: Account
payMethod: Pay Method
payDay: Pay Day payDay: Pay Day
country: Country
summary: summary:
responsible: Responsible responsible: Responsible
notes: Notes
verified: Verified verified: Verified
isActive: Is active isActive: Is active
billingData: Billing data billingData: Billing data
payMethod: Pay method
payDeadline: Pay deadline payDeadline: Pay deadline
payDay: Pay day payDay: Pay day
account: Account account: Account
@ -936,15 +707,10 @@ supplier:
fiscalAddress: Fiscal address fiscalAddress: Fiscal address
socialName: Social name socialName: Social name
taxNumber: Tax number taxNumber: Tax number
street: Street
city: City city: City
postCode: Postcode
province: Province
country: Country
create: create:
supplierName: Supplier name supplierName: Supplier name
basicData: basicData:
alias: Alias
workerFk: Responsible workerFk: Responsible
isSerious: Verified isSerious: Verified
isActive: Active isActive: Active
@ -959,36 +725,18 @@ supplier:
sageWithholdingFk: Sage withholding sageWithholdingFk: Sage withholding
sageTransactionTypeFk: Sage transaction type sageTransactionTypeFk: Sage transaction type
supplierActivityFk: Supplier activity supplierActivityFk: Supplier activity
healthRegister: Health register
street: Street
postcode: Postcode
city: City *
provinceFk: Province
country: Country
isTrucker: Trucker isTrucker: Trucker
isVies: Vies isVies: Vies
billingData: billingData:
payMethodFk: Billing data payMethodFk: Billing data
payDemFk: Payment deadline payDemFk: Payment deadline
payDay: Pay day
accounts: accounts:
iban: Iban iban: Iban
bankEntity: Bank entity bankEntity: Bank entity
beneficiary: Beneficiary beneficiary: Beneficiary
contacts: contacts:
name: Name
phone: Phone
mobile: Mobile
email: Email email: Email
observation: Notes observation: Notes
addresses:
street: Street
postcode: Postcode
phone: Phone
name: Name
city: City
province: Province
mobile: Mobile
agencyTerms: agencyTerms:
agencyFk: Agency agencyFk: Agency
minimumM3: Minimum M3 minimumM3: Minimum M3
@ -1000,25 +748,16 @@ supplier:
addRow: Add row addRow: Add row
consumption: consumption:
entry: Entry entry: Entry
date: Date
reference: Reference
travel: travel:
travelList: travelList:
tableVisibleColumns: tableVisibleColumns:
id: Id
ref: Reference ref: Reference
agency: Agency
shipped: Shipped
landed: Landed
shipHour: Shipment Hour shipHour: Shipment Hour
landHour: Landing Hour landHour: Landing Hour
warehouseIn: Warehouse in
warehouseOut: Warehouse out
totalEntries: Total entries totalEntries: Total entries
totalEntriesTooltip: Total entries totalEntriesTooltip: Total entries
daysOnward: Landed days onwards daysOnward: Landed days onwards
summary: summary:
confirmed: Confirmed
entryId: Entry Id entryId: Entry Id
freight: Freight freight: Freight
package: Package package: Package
@ -1031,64 +770,89 @@ travel:
AddEntry: Add entry AddEntry: Add entry
thermographs: Thermographs thermographs: Thermographs
hb: HB hb: HB
variables:
search: Id/Reference
agencyModeFk: Agency
warehouseInFk: ' Warehouse In'
warehouseOutFk: Warehouse Out
landedFrom: Landed from
landedTo: Landed to
continent: Continent out
totalEntries: Total entries
basicData: basicData:
reference: Reference
agency: Agency
shipped: Shipped
landed: Landed
warehouseOut: Warehouse Out
warehouseIn: Warehouse In
delivered: Delivered
received: Received
daysInForward: Days in forward daysInForward: Days in forward
thermographs: thermographs:
code: Code
temperature: Temperature temperature: Temperature
state: State
destination: Destination destination: Destination
created: Created
thermograph: Thermograph thermograph: Thermograph
reference: Reference
type: Type
company: Company
warehouse: Warehouse
travelFileDescription: 'Travel id { travelId }' travelFileDescription: 'Travel id { travelId }'
file: File item:
descriptor:
buyer: Buyer
color: Color
category: Category
available: Available
warehouseText: 'Calculated on the warehouse of { warehouseName }'
itemDiary: Item diary
list:
id: Identifier
stems: Stems
category: Category
typeName: Type
isActive: Active
userName: Buyer
weightByPiece: Weight/Piece
stemMultiplier: Multiplier
fixedPrice:
itemFk: Item ID
groupingPrice: Grouping price
packingPrice: Packing price
hasMinPrice: Has min price
minPrice: Min price
started: Started
ended: Ended
create:
priority: Priority
buyRequest:
requester: Requester
requested: Requested
attender: Atender
achieved: Achieved
concept: Concept
summary:
otherData: Other data
tax: Tax
botanical: Botanical
barcode: Barcode
completeName: Complete name
family: Familiy
stems: Stems
multiplier: Multiplier
buyer: Buyer
doPhoto: Do photo
intrastatCode: Intrastat code
ref: Reference
relevance: Relevance
weight: Weight (gram)/stem
units: Units/box
expense: Expense
generic: Generic
recycledPlastic: Recycled plastic
nonRecycledPlastic: Non recycled plastic
minSalesQuantity: Min sales quantity
genus: Genus
specie: Specie
components: components:
topbar: {} topbar: {}
itemsFilterPanel: itemsFilterPanel:
typeFk: Type typeFk: Type
tag: Tag
value: Value value: Value
# ItemFixedPriceFilter # ItemFixedPriceFilter
buyerFk: Buyer buyerFk: Buyer
warehouseFk: Warehouse
started: From started: From
ended: To ended: To
mine: For me mine: For me
hasMinPrice: Minimum price hasMinPrice: Minimum price
# LatestBuysFilter # LatestBuysFilter
salesPersonFk: Buyer salesPersonFk: Buyer
supplierFk: Supplier
from: From from: From
to: To
active: Is active active: Is active
visible: Is visible
floramondo: Is floramondo floramondo: Is floramondo
showBadDates: Show future items showBadDates: Show future items
userPanel: userPanel:
copyToken: Token copied to clipboard copyToken: Token copied to clipboard
settings: Settings settings: Settings
logOut: Log Out
localWarehouse: Local warehouse localWarehouse: Local warehouse
localBank: Local bank localBank: Local bank
localCompany: Local company localCompany: Local company
@ -1096,7 +860,6 @@ components:
userCompany: User company userCompany: User company
smartCard: smartCard:
downloadFile: Download file downloadFile: Download file
clone: Clone
openCard: View openCard: View
openSummary: Summary openSummary: Summary
cardDescriptor: cardDescriptor:

View File

@ -58,8 +58,8 @@ globals:
downloadCSVSuccess: Descarga de CSV exitosa downloadCSVSuccess: Descarga de CSV exitosa
reference: Referencia reference: Referencia
agency: Agencia agency: Agencia
wareHouseOut: Alm. salida warehouseOut: Alm. salida
wareHouseIn: Alm. entrada warehouseIn: Alm. entrada
landed: F. entrega landed: F. entrega
shipped: F. envío shipped: F. envío
totalEntries: Ent. totales totalEntries: Ent. totales
@ -108,6 +108,26 @@ globals:
weight: Peso weight: Peso
error: ¡Ups! Algo salió mal error: ¡Ups! Algo salió mal
recalc: Recalcular recalc: Recalcular
alias: Alias
vat: IVA
intrastat: Intrastat
tags: Etiquetas
size: Medida
producer: Productor
origin: Origen
state: Estado
subtotal: Subtotal
visible: Visible
price: Precio
client: Cliente
country: País
phone: Teléfono
mobile: Móvil
postcode: Código postal
street: Dirección
tag: Etiqueta
ticketId: ID ticket
confirmed: Confirmado
small: Pequeño/a small: Pequeño/a
medium: Mediano/a medium: Mediano/a
big: Grande big: Grande
@ -304,13 +324,10 @@ globals:
maxTemperature: Máx maxTemperature: Máx
minTemperature: Mín minTemperature: Mín
params: params:
id: Id
clientFk: Id cliente clientFk: Id cliente
salesPersonFk: Comercial salesPersonFk: Comercial
warehouseFk: Almacén warehouseFk: Almacén
provinceFk: Provincia provinceFk: Provincia
from: Desde
To: Hasta
stateFk: Estado stateFk: Estado
departmentFk: Departamento departmentFk: Departamento
email: Correo email: Correo
@ -341,13 +358,9 @@ login:
fieldRequired: Este campo es obligatorio fieldRequired: Este campo es obligatorio
twoFactorRequired: Verificación de doble factor requerida twoFactorRequired: Verificación de doble factor requerida
twoFactor: twoFactor:
code: Código
validate: Validar validate: Validar
insert: Introduce el código de verificación insert: Introduce el código de verificación
explanation: Por favor introduce el código de verificación que te hemos enviado a tu email en los próximos 5 minutos explanation: Por favor introduce el código de verificación que te hemos enviado a tu email en los próximos 5 minutos
verifyEmail:
pageTitles:
verifyEmail: Verificación de correo
recoverPassword: recoverPassword:
userOrEmail: Usuario o correo de recuperación userOrEmail: Usuario o correo de recuperación
explanation: >- explanation: >-
@ -364,15 +377,7 @@ cau:
entry: entry:
list: list:
newEntry: Nueva entrada newEntry: Nueva entrada
landed: F. entrega
invoiceNumber: Núm. factura
supplier: Proveedor
booked: Asentado
confirmed: Confirmado
ordered: Pedida
tableVisibleColumns: tableVisibleColumns:
id: Id
reference: Referencia
created: Creación created: Creación
supplierFk: Proveedor supplierFk: Proveedor
isBooked: Asentado isBooked: Asentado
@ -385,11 +390,8 @@ entry:
summary: summary:
commission: Comisión commission: Comisión
currency: Moneda currency: Moneda
company: Empresa
reference: Referencia
invoiceNumber: Núm. factura invoiceNumber: Núm. factura
ordered: Pedida ordered: Pedida
confirmed: Confirmada
booked: Contabilizada booked: Contabilizada
excludedFromAvailable: Inventario excludedFromAvailable: Inventario
travelReference: Referencia travelReference: Referencia
@ -398,230 +400,108 @@ entry:
travelWarehouseOut: Alm. salida travelWarehouseOut: Alm. salida
travelDelivered: Enviada travelDelivered: Enviada
travelLanded: F. entrega travelLanded: F. entrega
travelWarehouseIn: Alm. entrada
travelReceived: Recibida travelReceived: Recibida
buys: Compras buys: Compras
quantity: Cantidad
stickers: Etiquetas stickers: Etiquetas
package: Embalaje package: Embalaje
weight: Peso
packing: Packing packing: Packing
grouping: Grouping grouping: Grouping
buyingValue: Coste buyingValue: Coste
import: Importe import: Importe
pvp: PVP pvp: PVP
item: Artículo
basicData: basicData:
supplier: Proveedor
travel: Envío travel: Envío
reference: Referencia
invoiceNumber: Núm. factura
company: Empresa
currency: Moneda currency: Moneda
observation: Observación observation: Observación
commission: Comisión commission: Comisión
ordered: Pedida
confirmed: Confirmado
booked: Asentado booked: Asentado
excludedFromAvailable: Inventario excludedFromAvailable: Inventario
agency: Agencia
warehouseOut: Alm. salida
warehouseIn: Alm. entrada
shipped: F. envío
landed: F. entrega
id: ID
buys: buys:
groupingPrice: Precio grouping
packingPrice: Precio packing
reference: Referencia
observations: Observaciónes observations: Observaciónes
item: Artículo
size: Medida
packing: Packing
grouping: Grouping
buyingValue: Coste
packagingFk: Embalaje packagingFk: Embalaje
file: Fichero
name: Nombre
producer: Productor
type: Tipo
color: Color color: Color
id: ID
printedStickers: Etiquetas impresas printedStickers: Etiquetas impresas
notes: notes:
observationType: Tipo de observación observationType: Tipo de observación
descriptor:
agency: Agencia
landed: F. entrega
warehouseOut: Alm. salida
latestBuys: latestBuys:
tableVisibleColumns: tableVisibleColumns:
image: Foto image: Foto
itemFk: Id Artículo itemFk: Id Artículo
packing: packing
grouping: Grouping
quantity: Cantidad
size: Medida
tags: Etiquetas
type: Tipo
intrastat: Intrastat
origin: Origen
weightByPiece: Peso (gramos)/tallo weightByPiece: Peso (gramos)/tallo
isActive: Activo isActive: Activo
family: Familia family: Familia
entryFk: Entrada entryFk: Entrada
buyingValue: Coste
freightValue: Porte freightValue: Porte
comissionValue: Comisión comissionValue: Comisión
description: Descripción
packageValue: Embalaje packageValue: Embalaje
isIgnored: Ignorado isIgnored: Ignorado
price2: Grouping price2: Grouping
price3: Packing price3: Packing
minPrice: Min minPrice: Min
ektFk: Ekt ektFk: Ekt
weight: Peso
packagingFk: Embalaje
packingOut: Embalaje envíos packingOut: Embalaje envíos
landing: Llegada landing: Llegada
isExcludedFromAvailable: Es inventario isExcludedFromAvailable: Es inventario
ticket: ticket:
pageTitles:
tickets: Tickets
list: Listado
ticketCreate: Nuevo ticket
summary: Resumen
basicData: Datos básicos
boxing: Encajado
sms: Sms
notes: Notas
sale: Lineas del pedido
dms: Gestión documental
volume: Volumen
observation: Notas
ticketAdvance: Adelantar tickets
futureTickets: Tickets a futuro
expedition: Expedición
purchaseRequest: Petición de compra
weeklyTickets: Tickets programados
saleTracking: Líneas preparadas
services: Servicios
tracking: Estados
components: Componentes
pictures: Fotos
packages: Embalajes
list:
nickname: Alias
state: Estado
shipped: Enviado
landed: Entregado
salesPerson: Comercial
total: Total
card: card:
ticketId: ID ticket
state: Estado
customerId: ID cliente customerId: ID cliente
salesPerson: Comercial
agency: Agencia
shipped: Enviado
warehouse: Almacén
customerCard: Ficha del cliente customerCard: Ficha del cliente
alias: Alias
ticketList: Listado de tickets ticketList: Listado de tickets
newOrder: Nuevo pedido newOrder: Nuevo pedido
boxing: boxing:
expedition: Expedición expedition: Expedición
item: Artículo
created: Creado created: Creado
worker: Trabajador
selectTime: 'Seleccionar hora:' selectTime: 'Seleccionar hora:'
selectVideo: 'Seleccionar vídeo:' selectVideo: 'Seleccionar vídeo:'
notFound: No hay vídeos disponibles notFound: No hay vídeos disponibles
summary: summary:
state: Estado
salesPerson: Comercial
agency: Agencia
zone: Zona zone: Zona
warehouse: Almacén
collection: Colección collection: Colección
route: Ruta route: Ruta
invoice: Factura invoice: Factura
shipped: Enviado shipped: Enviado
landed: Entregado
consigneePhone: Tel. consignatario consigneePhone: Tel. consignatario
consigneeMobile: Móv. consignatario consigneeMobile: Móv. consignatario
consigneeAddress: Dir. consignatario consigneeAddress: Dir. consignatario
clientPhone: Tel. cliente clientPhone: Tel. cliente
clientMobile: Móv. cliente clientMobile: Móv. cliente
consignee: Consignatario consignee: Consignatario
subtotal: Subtotal
vat: IVA
total: Total total: Total
saleLines: Líneas del pedido saleLines: Líneas del pedido
item: Artículo
visible: Visible
available: Disponible available: Disponible
quantity: Cantidad
price: Precio
discount: Descuento discount: Descuento
packing: Encajado packing: Encajado
hasComponentLack: Faltan componentes hasComponentLack: Faltan componentes
itemShortage: No visible itemShortage: No visible
claim: Reclamación claim: Reclamación
reserved: Reservado reserved: Reservado
created: Fecha creación
package: Embalaje package: Embalaje
taxClass: Tipo IVA taxClass: Tipo IVA
services: Servicios services: Servicios
requester: Solicitante requester: Solicitante
atender: Comprador atender: Comprador
request: Petición de compra request: Petición de compra
weight: Peso
goTo: Ir a goTo: Ir a
summaryAmount: Resumen summaryAmount: Resumen
purchaseRequest: Petición de compra purchaseRequest: Petición de compra
service: Servicio service: Servicio
description: Descripción
attender: Consignatario attender: Consignatario
create: create:
client: Cliente
address: Dirección address: Dirección
landed: F. entrega
warehouse: Almacén
agency: Agencia
invoiceOut: invoiceOut:
list:
ref: Referencia
issued: Fecha emisión
shortIssued: F. emisión
client: Cliente
created: Fecha creación
shortCreated: F. creación
company: Empresa
dued: Fecha vencimineto
shortDued: F. vencimiento
amount: Importe
card: card:
issued: Fecha emisión issued: Fecha emisión
client: Cliente
company: Empresa
customerCard: Ficha del cliente customerCard: Ficha del cliente
ticketList: Listado de tickets ticketList: Listado de tickets
summary: summary:
issued: Fecha issued: Fecha
created: Fecha creación
dued: Vencimiento dued: Vencimiento
booked: Contabilizada booked: Contabilizada
company: Empresa
taxBreakdown: Desglose impositivo taxBreakdown: Desglose impositivo
type: Tipo
taxableBase: Base imp. taxableBase: Base imp.
rate: Tarifa rate: Tarifa
fee: Cuota fee: Cuota
tickets: Tickets tickets: Tickets
ticketId: Id ticket
nickname: Alias
shipped: F. envío
totalWithVat: Importe totalWithVat: Importe
globalInvoices: globalInvoices:
errors: errors:
@ -635,20 +515,14 @@ invoiceOut:
noTicketsToInvoice: No existen tickets para facturar noTicketsToInvoice: No existen tickets para facturar
criticalInvoiceError: Error crítico en la facturación proceso detenido criticalInvoiceError: Error crítico en la facturación proceso detenido
table: table:
client: Cliente
addressId: Id dirección addressId: Id dirección
streetAddress: Dirección fiscal streetAddress: Dirección fiscal
statusCard: statusCard:
percentageText: '{getPercentage}% {getAddressNumber} de {getNAddresses}' percentageText: '{getPercentage}% {getAddressNumber} de {getNAddresses}'
pdfsNumberText: '{nPdfs} de {totalPdfs} PDFs' pdfsNumberText: '{nPdfs} de {totalPdfs} PDFs'
negativeBases: negativeBases:
company: Empresa
country: País
clientId: Id cliente clientId: Id cliente
client: Cliente
amount: Importe
base: Base base: Base
ticketId: Id ticket
active: Activo active: Activo
hasToInvoice: Facturar hasToInvoice: Facturar
verifiedData: Datos comprobados verifiedData: Datos comprobados
@ -658,43 +532,24 @@ invoiceOut:
order: order:
field: field:
salesPersonFk: Comercial salesPersonFk: Comercial
clientFk: Cliente
isConfirmed: Confirmada
created: Creado
landed: F. entrega
hour: Hora
agency: Agencia
total: Total
form: form:
clientFk: Cliente clientFk: Cliente
addressFk: Dirección addressFk: Dirección
landed: F. entrega
agencyModeFk: Agencia agencyModeFk: Agencia
list: list:
newOrder: Nuevo Pedido newOrder: Nuevo Pedido
summary: summary:
basket: Cesta basket: Cesta
nickname: Alias
company: Empresa
confirmed: Confirmada
notConfirmed: No confirmada notConfirmed: No confirmada
created: Creado created: Creado
landed: F. entrega
phone: Teléfono
createdFrom: Creado desde createdFrom: Creado desde
address: Dirección address: Dirección
notes: Notas
subtotal: Subtotal
total: Total total: Total
vat: IVA vat: IVA
state: Estado state: Estado
alias: Alias alias: Alias
items: Artículos items: Artículos
orderTicketList: Tickets del pedido orderTicketList: Tickets del pedido
details: Detalles
item: Item
quantity: Cantidad
price: Precio
amount: Monto amount: Monto
confirm: Confirmar confirm: Confirmar
confirmLines: Confirmar lineas confirmLines: Confirmar lineas
@ -704,15 +559,6 @@ shelving:
priority: Prioridad priority: Prioridad
newShelving: Nuevo Carro newShelving: Nuevo Carro
summary: summary:
code: Código
parking: Parking
priority: Prioridad
worker: Trabajador
recyclable: Reciclable
basicData:
code: Código
parking: Parking
priority: Prioridad
recyclable: Reciclable recyclable: Reciclable
parking: parking:
pickingOrder: Orden de recogida pickingOrder: Orden de recogida
@ -722,15 +568,8 @@ parking:
info: Puedes buscar por código de parking info: Puedes buscar por código de parking
label: Buscar parking... label: Buscar parking...
department: department:
pageTitles:
basicData: Basic data
department: Departamentos
summary: Resumen
name: Nombre
code: Código
chat: Chat chat: Chat
bossDepartment: Jefe de departamento bossDepartment: Jefe de departamento
email: Email
selfConsumptionCustomer: Cliente autoconsumo selfConsumptionCustomer: Cliente autoconsumo
telework: Teletrabaja telework: Teletrabaja
notifyOnErrors: Notificar errores notifyOnErrors: Notificar errores
@ -739,48 +578,11 @@ department:
hasToSendMail: Enviar fichadas por mail hasToSendMail: Enviar fichadas por mail
departmentRemoved: Departamento eliminado departmentRemoved: Departamento eliminado
worker: worker:
pageTitles:
workers: Trabajadores
list: Listado
basicData: Datos básicos
summary: Resumen
notifications: Notificaciones
workerCreate: Nuevo trabajador
department: Departamentos
pda: PDA
notes: Notas
dms: Mi documentación
pbx: Centralita
log: Historial
calendar: Calendario
timeControl: Control de horario
locker: Taquilla
balance: Balance
formation: Formación
medical: Mutua
operator: Operario
list: list:
name: Nombre
email: Email
phone: Teléfono
mobile: Móvil
active: Activo
department: Departamento department: Departamento
schedule: Horario schedule: Horario
newWorker: Nuevo trabajador newWorker: Nuevo trabajador
card:
workerId: ID Trabajador
user: Usuario
name: Nombre
email: Correo personal
phone: Teléfono
mobile: Móvil
active: Activo
warehouse: Almacén
agency: Empresa
salesPerson: Comercial
summary: summary:
basicData: Datos básicos
boss: Jefe boss: Jefe
phoneExtension: Extensión de teléfono phoneExtension: Extensión de teléfono
entPhone: Teléfono de empresa entPhone: Teléfono de empresa
@ -803,19 +605,12 @@ worker:
serialNumber: Número de serie serialNumber: Número de serie
removePDA: Desasignar PDA removePDA: Desasignar PDA
create: create:
name: Nombre
lastName: Apellido lastName: Apellido
birth: Fecha de nacimiento birth: Fecha de nacimiento
fi: DNI/NIF/NIE fi: DNI/NIF/NIE
code: Código de trabajador code: Código de trabajador
phone: Teléfono
postcode: Código postal
province: Provincia
city: Población
street: Dirección
webUser: Usuario Web webUser: Usuario Web
personalEmail: Correo personal personalEmail: Correo personal
company: Empresa
boss: Jefe boss: Jefe
payMethods: Método de pago payMethods: Método de pago
iban: IBAN iban: IBAN
@ -827,16 +622,13 @@ worker:
endDate: Fecha Fin endDate: Fecha Fin
center: Centro Formación center: Centro Formación
invoice: Factura invoice: Factura
amount: Importe
remark: Bonficado remark: Bonficado
hasDiploma: Diploma hasDiploma: Diploma
medical: medical:
tableVisibleColumns: tableVisibleColumns:
date: Fecha
time: Hora time: Hora
center: Centro de Formación center: Centro de Formación
invoice: Factura invoice: Factura
amount: Importe
isFit: Apto isFit: Apto
remark: Observaciones remark: Observaciones
imageNotFound: No se ha encontrado la imagen imageNotFound: No se ha encontrado la imagen
@ -861,18 +653,7 @@ worker:
machine: Máquina machine: Máquina
wagon: wagon:
pageTitles:
wagons: Vagones
wagonsList: Listado vagones
wagonCreate: Crear tipo
wagonEdit: Editar tipo
typesList: Listado tipos
typeCreate: Crear tipo
typeEdit: Editar tipo
wagonCounter: Contador de carros
wagonTray: Listado bandejas
type: type:
name: Nombre
submit: Guardar submit: Guardar
reset: Deshacer cambios reset: Deshacer cambios
trayColor: Color de la bandeja trayColor: Color de la bandeja
@ -880,13 +661,9 @@ wagon:
list: list:
plate: Matrícula plate: Matrícula
volume: Volumen volume: Volumen
type: Tipo
remove: Borrar remove: Borrar
removeItem: Vagón borrado correctamente removeItem: Vagón borrado correctamente
create: create:
plate: Matrícula
volume: Volumen
type: Tipo
label: Etiqueta label: Etiqueta
warnings: warnings:
noData: Sin datos disponibles noData: Sin datos disponibles
@ -902,26 +679,16 @@ wagon:
supplier: supplier:
list: list:
payMethod: Método de pago payMethod: Método de pago
payDeadline: Plazo de pago
payDay: Día de pago
account: Cuenta account: Cuenta
newSupplier: Nuevo proveedor newSupplier: Nuevo proveedor
tableVisibleColumns: tableVisibleColumns:
id: Id
name: Nombre
nif: NIF/CIF nif: NIF/CIF
nickname: Alias
account: Cuenta account: Cuenta
payMethod: Método de pago
payDay: Dia de pago
country: País
summary: summary:
responsible: Responsable responsible: Responsable
notes: Notas
verified: Verificado verified: Verificado
isActive: Está activo isActive: Está activo
billingData: Forma de pago billingData: Forma de pago
payMethod: Método de pago
payDeadline: Plazo de pago payDeadline: Plazo de pago
payDay: Día de pago payDay: Día de pago
account: Cuenta account: Cuenta
@ -934,15 +701,11 @@ supplier:
fiscalAddress: Dirección fiscal fiscalAddress: Dirección fiscal
socialName: Razón social socialName: Razón social
taxNumber: NIF/CIF taxNumber: NIF/CIF
street: Dirección
city: Población city: Población
postCode: Código postal
province: Provincia province: Provincia
country: País
create: create:
supplierName: Nombre del proveedor supplierName: Nombre del proveedor
basicData: basicData:
alias: Alias
workerFk: Responsable workerFk: Responsable
isSerious: Verificado isSerious: Verificado
isActive: Activo isActive: Activo
@ -957,36 +720,17 @@ supplier:
sageWithholdingFk: Retención sage sageWithholdingFk: Retención sage
sageTransactionTypeFk: Tipo de transacción sage sageTransactionTypeFk: Tipo de transacción sage
supplierActivityFk: Actividad proveedor supplierActivityFk: Actividad proveedor
healthRegister: Pasaporte sanitario
street: Calle
postcode: Código postal
city: Población *
provinceFk: Provincia
country: País
isTrucker: Transportista isTrucker: Transportista
isVies: Vies isVies: Vies
billingData: billingData:
payMethodFk: Forma de pago payMethodFk: Forma de pago
payDemFk: Plazo de pago payDemFk: Plazo de pago
payDay: Día de pago
accounts: accounts:
iban: Iban iban: Iban
bankEntity: Entidad bancaria bankEntity: Entidad bancaria
beneficiary: Beneficiario beneficiary: Beneficiario
contacts: contacts:
name: Nombre
phone: Teléfono
mobile: Móvil
email: Email
observation: Notas observation: Notas
addresses:
street: Dirección
postcode: Código postal
phone: Teléfono
name: Nombre
city: Población
province: Provincia
mobile: Móvil
agencyTerms: agencyTerms:
agencyFk: Agencia agencyFk: Agencia
minimumM3: M3 mínimos minimumM3: M3 mínimos
@ -998,25 +742,16 @@ supplier:
addRow: Añadir fila addRow: Añadir fila
consumption: consumption:
entry: Entrada entry: Entrada
date: Fecha
reference: Referencia
travel: travel:
travelList: travelList:
tableVisibleColumns: tableVisibleColumns:
id: Id
ref: Referencia ref: Referencia
agency: Agencia
shipped: F.envío
shipHour: Hora de envío shipHour: Hora de envío
landHour: Hora de llegada landHour: Hora de llegada
landed: F.entrega
warehouseIn: Alm.salida
warehouseOut: Alm.entrada
totalEntries: totalEntries:
totalEntriesTooltip: Entradas totales totalEntriesTooltip: Entradas totales
daysOnward: Días de llegada en adelante daysOnward: Días de llegada en adelante
summary: summary:
confirmed: Confirmado
entryId: Id entrada entryId: Id entrada
freight: Porte freight: Porte
package: Embalaje package: Embalaje
@ -1029,62 +764,88 @@ travel:
AddEntry: Añadir entrada AddEntry: Añadir entrada
thermographs: Termógrafos thermographs: Termógrafos
hb: HB hb: HB
variables:
search: Id/Referencia
agencyModeFk: Agencia
warehouseInFk: Alm. entrada
warehouseOutFk: ' Alm. salida'
landedFrom: Llegada desde
landedTo: Llegada hasta
continent: Cont. Salida
totalEntries: Ent. totales
basicData: basicData:
reference: Referencia
agency: Agencia
shipped: F. Envío
landed: F. entrega
warehouseOut: Alm. salida
warehouseIn: Alm. entrada
delivered: Enviada
received: Recibida
daysInForward: Días redada daysInForward: Días redada
thermographs: thermographs:
code: Código
temperature: Temperatura temperature: Temperatura
state: Estado
destination: Destino destination: Destino
created: Fecha creación
thermograph: Termógrafo thermograph: Termógrafo
reference: Referencia
type: Tipo
company: Empresa
warehouse: Almacén
travelFileDescription: 'Id envío { travelId }' travelFileDescription: 'Id envío { travelId }'
file: Fichero item:
descriptor:
buyer: Comprador
color: Color
category: Categoría
available: Disponible
warehouseText: 'Calculado sobre el almacén de { warehouseName }'
itemDiary: Registro de compra-venta
list:
id: Identificador
stems: Tallos
category: Reino
typeName: Tipo
isActive: Activo
weightByPiece: Peso (gramos)/tallo
userName: Comprador
stemMultiplier: Multiplicador
fixedPrice:
itemFk: ID Artículo
groupingPrice: Precio grouping
packingPrice: Precio packing
hasMinPrice: Tiene precio mínimo
minPrice: Precio min
started: Inicio
ended: Fin
create:
priority: Prioridad
summary:
otherData: Otros datos
tax: IVA
botanical: Botánico
barcode: Código de barras
completeName: Nombre completo
family: Familia
stems: Tallos
multiplier: Multiplicador
buyer: Comprador
doPhoto: Hacer foto
intrastatCode: Código intrastat
ref: Referencia
relevance: Relevancia
weight: Peso (gramos)/tallo
units: Unidades/caja
expense: Gasto
generic: Genérico
recycledPlastic: Plástico reciclado
nonRecycledPlastic: Plástico no reciclado
minSalesQuantity: Cantidad mínima de venta
genus: Genus
specie: Specie
buyRequest:
requester: Solicitante
requested: Solicitado
attender: Comprador
achieved: Conseguido
concept: Concepto
components: components:
topbar: {} topbar: {}
itemsFilterPanel: itemsFilterPanel:
typeFk: Tipo typeFk: Tipo
tag: Etiqueta
value: Valor value: Valor
# ItemFixedPriceFilter # ItemFixedPriceFilter
buyerFk: Comprador buyerFk: Comprador
warehouseFk: Almacén
started: Desde started: Desde
ended: Hasta ended: Hasta
mine: Para mi mine: Para mi
hasMinPrice: Precio mínimo hasMinPrice: Precio mínimo
# LatestBuysFilter # LatestBuysFilter
salesPersonFk: Comprador salesPersonFk: Comprador
supplierFk: Proveedor
active: Activo active: Activo
visible: Visible
floramondo: Floramondo floramondo: Floramondo
showBadDates: Ver items a futuro showBadDates: Ver items a futuro
userPanel: userPanel:
copyToken: Token copiado al portapapeles copyToken: Token copiado al portapapeles
settings: Configuración settings: Configuración
logOut: Cerrar sesión
localWarehouse: Almacén local localWarehouse: Almacén local
localBank: Banco local localBank: Banco local
localCompany: Empresa local localCompany: Empresa local
@ -1092,7 +853,6 @@ components:
userCompany: Empresa del usuario userCompany: Empresa del usuario
smartCard: smartCard:
downloadFile: Descargar archivo downloadFile: Descargar archivo
clone: Clonar
openCard: Ficha openCard: Ficha
openSummary: Detalles openSummary: Detalles
viewSummary: Vista previa viewSummary: Vista previa

View File

@ -37,7 +37,7 @@ const redirectToAccountBasicData = (_, { id }) => {
<div class="column q-gutter-sm"> <div class="column q-gutter-sm">
<VnInput <VnInput
v-model="data.name" v-model="data.name"
:label="t('account.create.name')" :label="t('globals.name')"
:rules="validate('VnUser.name')" :rules="validate('VnUser.name')"
/> />
<VnInput <VnInput
@ -47,12 +47,12 @@ const redirectToAccountBasicData = (_, { id }) => {
/> />
<VnInput <VnInput
v-model="data.email" v-model="data.email"
:label="t('account.create.email')" :label="t('globals.params.email')"
type="email" type="email"
:rules="validate('VnUser.email')" :rules="validate('VnUser.email')"
/> />
<VnSelect <VnSelect
:label="t('account.create.role')" :label="t('account.card.role')"
v-model="data.roleFk" v-model="data.roleFk"
:options="rolesOptions" :options="rolesOptions"
option-value="id" option-value="id"
@ -63,7 +63,7 @@ const redirectToAccountBasicData = (_, { id }) => {
/> />
<VnInput <VnInput
v-model="data.password" v-model="data.password"
:label="t('account.create.password')" :label="t('ldap.password')"
type="password" type="password"
:rules="validate('VnUser.password')" :rules="validate('VnUser.password')"
/> />

View File

@ -45,7 +45,7 @@ const rolesOptions = ref([]);
<QItem class="q-my-sm"> <QItem class="q-my-sm">
<QItemSection> <QItemSection>
<VnInput <VnInput
:label="t('account.card.name')" :label="t('globals.name')"
v-model="params.name" v-model="params.name"
lazy-rules lazy-rules
is-outlined is-outlined

View File

@ -102,11 +102,11 @@ onMounted(async () => await getInitialLdapConfig());
<QBtn <QBtn
class="q-ml-none" class="q-ml-none"
color="primary" color="primary"
:label="t('ldap.testConnection')" :label="t('account.card.testConnection')"
@click="onTestConection()" @click="onTestConection()"
> >
<QTooltip> <QTooltip>
{{ t('ldap.testConnection') }} {{ t('account.card.testConnection') }}
</QTooltip> </QTooltip>
</QBtn> </QBtn>
</template> </template>
@ -114,7 +114,7 @@ onMounted(async () => await getInitialLdapConfig());
<VnRow class="row q-gutter-md"> <VnRow class="row q-gutter-md">
<div class="col"> <div class="col">
<QCheckbox <QCheckbox
:label="t('ldap.enableSync')" :label="t('account.card.enableSync')"
v-model="data.hasData" v-model="data.hasData"
@update:model-value="($event) => (hasData = $event)" @update:model-value="($event) => (hasData = $event)"
:toggle-indeterminate="false" :toggle-indeterminate="false"
@ -146,7 +146,7 @@ onMounted(async () => await getInitialLdapConfig());
/> />
<VnInput :label="t('ldap.userDN')" clearable v-model="data.userDn" /> <VnInput :label="t('ldap.userDN')" clearable v-model="data.userDn" />
<VnInput <VnInput
:label="t('ldap.groupDN')" :label="t('account.card.groupDN')"
clearable clearable
v-model="data.groupDn" v-model="data.groupDn"
/> />

View File

@ -110,12 +110,12 @@ onMounted(async () => await getInitialSambaConfig());
<QBtn <QBtn
class="q-ml-none" class="q-ml-none"
color="primary" color="primary"
:label="t('samba.testConnection')" :label="t('account.card.testConnection')"
:disable="formModel.hasChanges" :disable="formModel.hasChanges"
@click="onTestConection()" @click="onTestConection()"
> >
<QTooltip> <QTooltip>
{{ t('samba.testConnection') }} {{ t('account.card.testConnection') }}
</QTooltip> </QTooltip>
</QBtn> </QBtn>
</template> </template>
@ -123,7 +123,7 @@ onMounted(async () => await getInitialSambaConfig());
<VnRow class="row q-gutter-md"> <VnRow class="row q-gutter-md">
<div class="col"> <div class="col">
<QCheckbox <QCheckbox
:label="t('samba.enableSync')" :label="t('account.card.enableSync')"
v-model="data.hasData" v-model="data.hasData"
@update:model-value="($event) => (hasData = $event)" @update:model-value="($event) => (hasData = $event)"
:toggle-indeterminate="false" :toggle-indeterminate="false"

View File

@ -36,15 +36,12 @@ const onDataSaved = ({ id }) => {
<template #form-inputs="{ data }"> <template #form-inputs="{ data }">
<VnRow> <VnRow>
<div class="col"> <div class="col">
<VnInput v-model="data.alias" :label="t('mailAlias.name')" /> <VnInput v-model="data.alias" :label="t('globals.name')" />
</div> </div>
</VnRow> </VnRow>
<VnRow> <VnRow>
<div class="col"> <div class="col">
<VnInput <VnInput v-model="data.description" :label="t('role.description')" />
v-model="data.description"
:label="t('mailAlias.description')"
/>
</div> </div>
</VnRow> </VnRow>
</template> </template>

View File

@ -11,8 +11,8 @@ const { t } = useI18n();
<FormModel model="Alias"> <FormModel model="Alias">
<template #form="{ data }"> <template #form="{ data }">
<div class="column q-gutter-y-md"> <div class="column q-gutter-y-md">
<VnInput v-model="data.alias" :label="t('mailAlias.name')" /> <VnInput v-model="data.alias" :label="t('globals.name')" />
<VnInput v-model="data.description" :label="t('mailAlias.description')" /> <VnInput v-model="data.description" :label="t('role.description')" />
<QCheckbox :label="t('mailAlias.isPublic')" v-model="data.isPublic" /> <QCheckbox :label="t('mailAlias.isPublic')" v-model="data.isPublic" />
</div> </div>
</template> </template>

View File

@ -71,7 +71,7 @@ const removeAlias = () => {
</QItem> </QItem>
</template> </template>
<template #body="{ entity }"> <template #body="{ entity }">
<VnLv :label="t('mailAlias.description')" :value="entity.description" /> <VnLv :label="t('role.description')" :value="entity.description" />
</template> </template>
</CardDescriptor> </CardDescriptor>
</template> </template>

View File

@ -42,8 +42,8 @@ const entityId = computed(() => $props.id || route.params.id);
<QIcon name="open_in_new" /> <QIcon name="open_in_new" />
</router-link> </router-link>
</QCardSection> </QCardSection>
<VnLv :label="t('mailAlias.id')" :value="alias.id" /> <VnLv :label="t('role.id')" :value="alias.id" />
<VnLv :label="t('mailAlias.description')" :value="alias.description" /> <VnLv :label="t('role.description')" :value="alias.description" />
</QCard> </QCard>
</template> </template>
</CardSummary> </CardSummary>

View File

@ -36,7 +36,7 @@ watch(
<div class="q-gutter-y-sm"> <div class="q-gutter-y-sm">
<VnInput v-model="data.name" :label="t('account.card.nickname')" /> <VnInput v-model="data.name" :label="t('account.card.nickname')" />
<VnInput v-model="data.nickname" :label="t('account.card.alias')" /> <VnInput v-model="data.nickname" :label="t('account.card.alias')" />
<VnInput v-model="data.email" :label="t('account.card.email')" /> <VnInput v-model="data.email" :label="t('globals.params.email')" />
<VnSelect <VnSelect
url="Languages" url="Languages"
v-model="data.lang" v-model="data.lang"

View File

@ -54,7 +54,7 @@ const hasAccount = ref(false);
</template> </template>
<template #before> <template #before>
<!-- falla id :id="entityId.value" collection="user" size="160x160" --> <!-- falla id :id="entityId.value" collection="user" size="160x160" -->
<VnImg :id="entityId" collection="user" resolution="160x160" class="photo"> <VnImg :id="entityId" collection="user" resolution="520x520" class="photo">
<template #error> <template #error>
<div <div
class="absolute-full picture text-center q-pa-md flex flex-center" class="absolute-full picture text-center q-pa-md flex flex-center"

View File

@ -29,7 +29,7 @@ const props = defineProps({
<QItem class="q-my-sm"> <QItem class="q-my-sm">
<QItemSection> <QItemSection>
<VnInput <VnInput
:label="t('role.name')" :label="t('globals.name')"
v-model="params.name" v-model="params.name"
lazy-rules lazy-rules
is-outlined is-outlined

View File

@ -12,15 +12,12 @@ const { t } = useI18n();
<template #form="{ data }"> <template #form="{ data }">
<VnRow> <VnRow>
<div class="col"> <div class="col">
<VnInput v-model="data.name" :label="t('role.card.name')" /> <VnInput v-model="data.name" :label="t('globals.name')" />
</div> </div>
</VnRow> </VnRow>
<VnRow> <VnRow>
<div class="col"> <div class="col">
<VnInput <VnInput v-model="data.description" :label="t('role.description')" />
v-model="data.description"
:label="t('role.card.description')"
/>
</div> </div>
</VnRow> </VnRow>
</template> </template>

View File

@ -58,7 +58,7 @@ const removeRole = async () => {
</QItem> </QItem>
</template> </template>
<template #body="{ entity }"> <template #body="{ entity }">
<VnLv :label="t('role.card.description')" :value="entity.description" /> <VnLv :label="t('role.description')" :value="entity.description" />
</template> </template>
</CardDescriptor> </CardDescriptor>
</template> </template>

View File

@ -22,15 +22,12 @@ const { t } = useI18n();
<template #form-inputs="{ data }"> <template #form-inputs="{ data }">
<VnRow> <VnRow>
<div class="col"> <div class="col">
<VnInput v-model="data.name" :label="t('role.card.name')" /> <VnInput v-model="data.name" :label="t('globals.name')" />
</div> </div>
</VnRow> </VnRow>
<VnRow> <VnRow>
<div class="col"> <div class="col">
<VnInput <VnInput v-model="data.description" :label="t('role.description')" />
v-model="data.description"
:label="t('role.card.description')"
/>
</div> </div>
</VnRow> </VnRow>
</template> </template>

View File

@ -44,9 +44,9 @@ const filter = {
<QIcon name="open_in_new" /> <QIcon name="open_in_new" />
</a> </a>
</QCardSection> </QCardSection>
<VnLv :label="t('role.card.id')" :value="role.id" /> <VnLv :label="t('role.id')" :value="role.id" />
<VnLv :label="t('role.card.name')" :value="role.name" /> <VnLv :label="t('globals.name')" :value="role.name" />
<VnLv :label="t('role.card.description')" :value="role.description" /> <VnLv :label="t('role.description')" :value="role.description" />
</QCard> </QCard>
</template> </template>
</CardSummary> </CardSummary>

View File

@ -1,32 +1,15 @@
account: account:
pageTitles:
users: Users
list: Users
roles: Roles
alias: Mail aliasses
accounts: Accounts
ldap: LDAP
samba: Samba
acls: ACLs
connections: Connections
inheritedRoles: Inherited Roles
subRoles: Sub Roles
newRole: New role
privileges: Privileges
mailAlias: Mail Alias
mailForwarding: Mail Forwarding
accountCreate: New user
aliasUsers: Users
card: card:
name: Name
nickname: User nickname: User
role: Role role: Role
email: Email
alias: Alias alias: Alias
lang: Language lang: Language
roleFk: Role roleFk: Role
newUser: New user newUser: New user
ticketTracking: Ticket tracking ticketTracking: Ticket tracking
enableSync: Habilitar sincronización
groupDN: DN grupos
testConnection: Probar conexión
privileges: privileges:
delegate: Can delegate privileges delegate: Can delegate privileges
enabled: Account enabled! enabled: Account enabled!
@ -74,11 +57,7 @@ account:
search: Search user search: Search user
searchInfo: You can search by id, name or nickname searchInfo: You can search by id, name or nickname
create: create:
name: Name
nickname: Nickname nickname: Nickname
email: Email
role: Role
password: Password
active: Active active: Active
mailForwarding: mailForwarding:
forwardingMail: Forward email forwardingMail: Forward email
@ -86,50 +65,30 @@ account:
enableMailForwarding: Enable mail forwarding enableMailForwarding: Enable mail forwarding
mailInputInfo: All emails will be forwarded to the specified address. mailInputInfo: All emails will be forwarded to the specified address.
role: role:
pageTitles:
inheritedRoles: Inherited Roles
subRoles: Sub Roles
card:
description: Description
id: Id
name: Name
newRole: New role newRole: New role
searchRoles: Search role searchRoles: Search role
searchInfo: Search role by id or name searchInfo: Search role by id or name
name: Name
description: Description description: Description
id: Id id: Id
mailAlias: mailAlias:
pageTitles:
aliasUsers: Users
search: Search mail alias search: Search mail alias
searchInfo: Search alias by id or name searchInfo: Search alias by id or name
alias: Alias
description: Description
id: Id
newAlias: New alias newAlias: New alias
name: Name
isPublic: Public isPublic: Public
ldap: ldap:
enableSync: Enable synchronization
server: Server server: Server
rdn: RDN rdn: RDN
userDN: User DN userDN: User DN
filter: Filter filter: Filter
groupDN: Group DN
testConnection: Test connection
success: LDAP connection established! success: LDAP connection established!
password: Password password: Password
samba: samba:
enableSync: Enable synchronization
domainController: Domain controller domainController: Domain controller
domainAD: AD domain domainAD: AD domain
userAD: AD user userAD: AD user
groupDN: Group DN
passwordAD: AD password passwordAD: AD password
domainPart: User DN (without domain part) domainPart: User DN (without domain part)
verifyCertificate: Verify certificate verifyCertificate: Verify certificate
testConnection: Test connection
success: Samba connection established! success: Samba connection established!
accounts: accounts:
homedir: Homedir base homedir: Homedir base
@ -147,8 +106,6 @@ connections:
created: Created created: Created
killSession: Kill session killSession: Kill session
acls: acls:
role: Role
accessType: Access type
permissions: Permission permissions: Permission
search: Search acls search: Search acls
searchInfo: Search acls by model name searchInfo: Search acls by model name

View File

@ -1,27 +1,7 @@
account: account:
pageTitles:
users: Usuarios
list: Usuarios
roles: Roles
alias: Alias de correo
accounts: Cuentas
ldap: LDAP
samba: Samba
acls: ACLs
connections: Conexiones
inheritedRoles: Roles heredados
newRole: Nuevo rol
subRoles: Subroles
privileges: Privilegios
mailAlias: Alias de correo
mailForwarding: Reenvío de correo
accountCreate: Nuevo usuario
aliasUsers: Usuarios
card: card:
nickname: Usuario nickname: Usuario
name: Nombre
role: Rol role: Rol
email: Mail
alias: Alias alias: Alias
lang: Idioma lang: Idioma
roleFk: Rol roleFk: Rol
@ -33,6 +13,9 @@ account:
deactivated: ¡Usuario desactivado! deactivated: ¡Usuario desactivado!
newUser: Nuevo usuario newUser: Nuevo usuario
twoFactor: Doble factor twoFactor: Doble factor
enableSync: Habilitar sincronización
groupDN: DN grupos
testConnection: Probar conexión
privileges: privileges:
delegate: Puede delegar privilegios delegate: Puede delegar privilegios
actions: actions:
@ -73,11 +56,7 @@ account:
search: Buscar usuario search: Buscar usuario
searchInfo: Puedes buscar por id, nombre o usuario searchInfo: Puedes buscar por id, nombre o usuario
create: create:
name: Nombre
nickname: Nombre mostrado nickname: Nombre mostrado
email: Email
role: Rol
password: Contraseña
active: Activo active: Activo
mailForwarding: mailForwarding:
forwardingMail: Dirección de reenvío forwardingMail: Dirección de reenvío
@ -85,51 +64,30 @@ account:
enableMailForwarding: Habilitar redirección de correo enableMailForwarding: Habilitar redirección de correo
mailInputInfo: Todos los correos serán reenviados a la dirección especificada, no se mantendrá copia de los mismos en el buzón del usuario. mailInputInfo: Todos los correos serán reenviados a la dirección especificada, no se mantendrá copia de los mismos en el buzón del usuario.
role: role:
pageTitles:
inheritedRoles: Roles heredados
subRoles: Subroles
newRole: Nuevo rol
card:
description: Descripción
id: Id
name: Nombre
newRole: Nuevo rol newRole: Nuevo rol
searchRoles: Buscar roles searchRoles: Buscar roles
searchInfo: Buscar rol por id o nombre searchInfo: Buscar rol por id o nombre
name: Nombre
description: Descripción description: Descripción
id: Id id: Id
mailAlias: mailAlias:
pageTitles:
aliasUsers: Usuarios
search: Buscar alias de correo search: Buscar alias de correo
searchInfo: Buscar alias por id o nombre searchInfo: Buscar alias por id o nombre
alias: Alias
description: Descripción
id: Id
newAlias: Nuevo alias newAlias: Nuevo alias
name: Nombre
isPublic: Público isPublic: Público
ldap: ldap:
password: Contraseña password: Contraseña
enableSync: Habilitar sincronización
server: Servidor server: Servidor
rdn: RDN rdn: RDN
userDN: DN usuarios userDN: DN usuarios
filter: Filtro filter: Filtro
groupDN: DN grupos
testConnection: Probar conexión
success: ¡Conexión con LDAP establecida! success: ¡Conexión con LDAP establecida!
samba: samba:
enableSync: Habilitar sincronización
domainController: Controlador de dominio domainController: Controlador de dominio
domainAD: Dominio AD domainAD: Dominio AD
groupDN: DN grupos
userAD: Usuario AD userAD: Usuario AD
passwordAD: Contraseña AD passwordAD: Contraseña AD
domainPart: DN usuarios (sin la parte del dominio) domainPart: DN usuarios (sin la parte del dominio)
verifyCertificate: Verificar certificado verifyCertificate: Verificar certificado
testConnection: Probar conexión
success: ¡Conexión con Samba establecida! success: ¡Conexión con Samba establecida!
accounts: accounts:
homedir: Directorio base para carpetas de usuario homedir: Directorio base para carpetas de usuario
@ -147,8 +105,6 @@ connections:
created: Creado created: Creado
killSession: Matar sesión killSession: Matar sesión
acls: acls:
role: Rol
accessType: Tipo de acceso
permissions: Permiso permissions: Permiso
search: Buscar acls search: Buscar acls
searchInfo: Buscar acls por nombre searchInfo: Buscar acls por nombre

View File

@ -55,7 +55,7 @@ const exprBuilder = (param, value) => {
/> />
<VnSelect <VnSelect
:input-debounce="0" :input-debounce="0"
:label="t('customer.basicData.businessType')" :label="t('customer.summary.businessType')"
:options="businessTypes" :options="businessTypes"
:rules="validate('client.businessTypeFk')" :rules="validate('client.businessTypeFk')"
emit-value emit-value
@ -67,13 +67,13 @@ const exprBuilder = (param, value) => {
</VnRow> </VnRow>
<VnRow> <VnRow>
<VnInput <VnInput
:label="t('customer.basicData.contact')" :label="t('customer.summary.contact')"
:rules="validate('client.contact')" :rules="validate('client.contact')"
clearable clearable
v-model="data.contact" v-model="data.contact"
/> />
<VnInput <VnInput
:label="t('customer.basicData.email')" :label="t('globals.params.email')"
:rules="validate('client.email')" :rules="validate('client.email')"
clearable clearable
type="email" type="email"
@ -90,13 +90,13 @@ const exprBuilder = (param, value) => {
</VnRow> </VnRow>
<VnRow> <VnRow>
<VnInput <VnInput
:label="t('customer.basicData.phone')" :label="t('customer.extendedList.tableVisibleColumns.phone')"
:rules="validate('client.phone')" :rules="validate('client.phone')"
clearable clearable
v-model="data.phone" v-model="data.phone"
/> />
<VnInput <VnInput
:label="t('customer.basicData.mobile')" :label="t('customer.summary.mobile')"
:rules="validate('client.mobile')" :rules="validate('client.mobile')"
clearable clearable
v-model="data.mobile" v-model="data.mobile"
@ -106,7 +106,7 @@ const exprBuilder = (param, value) => {
<VnSelect <VnSelect
url="Workers/search" url="Workers/search"
v-model="data.salesPersonFk" v-model="data.salesPersonFk"
:label="t('customer.basicData.salesPerson')" :label="t('customer.summary.salesPerson')"
:params="{ :params="{
departmentCodes: ['VT', 'shopping'], departmentCodes: ['VT', 'shopping'],
}" }"
@ -144,7 +144,7 @@ const exprBuilder = (param, value) => {
option-value="id" option-value="id"
option-label="name" option-label="name"
emit-value emit-value
:label="t('customer.basicData.contactChannel')" :label="t('customer.summary.contactChannel')"
map-options map-options
:rules="validate('client.contactChannelFk')" :rules="validate('client.contactChannelFk')"
:input-debounce="0" :input-debounce="0"

View File

@ -53,11 +53,17 @@ const setData = (entity) => (data.value = useCardDescription(entity?.name, entit
<CustomerDescriptorMenu :customer="entity" /> <CustomerDescriptorMenu :customer="entity" />
</template> </template>
<template #body="{ entity }"> <template #body="{ entity }">
<VnLv :label="t('customer.card.payMethod')" :value="entity.payMethod.name" />
<VnLv :label="t('customer.card.credit')" :value="toCurrency(entity.credit)" />
<VnLv <VnLv
:label="t('customer.card.securedCredit')" :label="t('customer.summary.payMethod')"
:value="entity.payMethod.name"
/>
<VnLv
:label="t('customer.summary.credit')"
:value="toCurrency(entity.credit)"
/>
<VnLv
:label="t('customer.summary.securedCredit')"
:value="toCurrency(entity.creditInsurance)" :value="toCurrency(entity.creditInsurance)"
/> />
@ -66,7 +72,7 @@ const setData = (entity) => (data.value = useCardDescription(entity?.name, entit
:value="toCurrency(entity.debt)" :value="toCurrency(entity.debt)"
:info="t('customer.summary.riskInfo')" :info="t('customer.summary.riskInfo')"
/> />
<VnLv :label="t('customer.card.salesPerson')"> <VnLv :label="t('customer.summary.salesPerson')">
<template #value> <template #value>
<VnUserLink <VnUserLink
v-if="entity.salesPersonUser" v-if="entity.salesPersonUser"
@ -77,7 +83,7 @@ const setData = (entity) => (data.value = useCardDescription(entity?.name, entit
</template> </template>
</VnLv> </VnLv>
<VnLv <VnLv
:label="t('customer.card.businessTypeFk')" :label="t('customer.extendedList.tableVisibleColumns.businessTypeFk')"
:value="entity.businessType.description" :value="entity.businessType.description"
/> />
</template> </template>

View File

@ -87,7 +87,7 @@ const sumRisk = ({ clientRisks }) => {
<VnLv :label="t('customer.summary.contact')" :value="entity.contact" /> <VnLv :label="t('customer.summary.contact')" :value="entity.contact" />
<VnLv :value="entity.phone"> <VnLv :value="entity.phone">
<template #label> <template #label>
{{ t('customer.summary.phone') }} {{ t('customer.extendedList.tableVisibleColumns.phone') }}
<VnLinkPhone :phone-number="entity.phone" /> <VnLinkPhone :phone-number="entity.phone" />
</template> </template>
</VnLv> </VnLv>
@ -105,7 +105,7 @@ const sumRisk = ({ clientRisks }) => {
</VnLv> </VnLv>
<VnLv :value="entity.email" copy <VnLv :value="entity.email" copy
><template #label> ><template #label>
{{ t('customer.summary.email') }} {{ t('globals.params.email') }}
<VnLinkMail email="entity.email"></VnLinkMail> </template <VnLinkMail email="entity.email"></VnLinkMail> </template
></VnLv> ></VnLv>
<VnLv <VnLv
@ -219,7 +219,7 @@ const sumRisk = ({ clientRisks }) => {
:value="entity.defaultAddress.city" :value="entity.defaultAddress.city"
/> />
<VnLv <VnLv
:label="t('customer.summary.addressStreet')" :label="t('customer.summary.street')"
:value="entity.defaultAddress.street" :value="entity.defaultAddress.street"
/> />
</QCard> </QCard>

View File

@ -34,7 +34,7 @@ defineProps({
<QItem class="q-mb-sm"> <QItem class="q-mb-sm">
<QItemSection> <QItemSection>
<VnInput <VnInput
:label="t('customerFilter.filter.name')" :label="t('globals.name')"
v-model="params.name" v-model="params.name"
is-outlined is-outlined
/> />
@ -43,7 +43,7 @@ defineProps({
<QItem class="q-mb-sm"> <QItem class="q-mb-sm">
<QItemSection> <QItemSection>
<VnInput <VnInput
:label="t('customerFilter.filter.socialName')" :label="t('customer.summary.socialName')"
v-model="params.socialName" v-model="params.socialName"
is-outlined is-outlined
/> />

View File

@ -77,7 +77,7 @@ const columns = computed(() => [
}, },
{ {
align: 'left', align: 'left',
label: t('customer.extendedList.tableVisibleColumns.credit'), label: t('customer.summary.credit'),
name: 'credit', name: 'credit',
columnFilter: { columnFilter: {
component: 'number', component: 'number',
@ -115,7 +115,7 @@ const columns = computed(() => [
}, },
{ {
align: 'left', align: 'left',
label: t('customer.extendedList.tableVisibleColumns.mobile'), label: t('customer.summary.mobile'),
name: 'mobile', name: 'mobile',
cardVisible: true, cardVisible: true,
columnFilter: { columnFilter: {
@ -162,17 +162,17 @@ const columns = computed(() => [
}, },
{ {
align: 'left', align: 'left',
label: t('customer.extendedList.tableVisibleColumns.city'), label: t('customer.summary.city'),
name: 'city', name: 'city',
}, },
{ {
align: 'left', align: 'left',
label: t('customer.extendedList.tableVisibleColumns.postcode'), label: t('customer.summary.postcode'),
name: 'postcode', name: 'postcode',
}, },
{ {
align: 'left', align: 'left',
label: t('customer.extendedList.tableVisibleColumns.email'), label: t('globals.params.email'),
name: 'email', name: 'email',
cardVisible: true, cardVisible: true,
}, },
@ -207,7 +207,7 @@ const columns = computed(() => [
}, },
{ {
align: 'left', align: 'left',
label: t('customer.extendedList.tableVisibleColumns.payMethodFk'), label: t('customer.summary.payMethodFk'),
name: 'payMethodFk', name: 'payMethodFk',
columnFilter: { columnFilter: {
component: 'select', component: 'select',
@ -250,7 +250,7 @@ const columns = computed(() => [
}, },
{ {
align: 'left', align: 'left',
label: t('customer.extendedList.tableVisibleColumns.isActive'), label: t('customer.summary.isActive'),
name: 'isActive', name: 'isActive',
chip: { chip: {
color: null, color: null,
@ -279,7 +279,7 @@ const columns = computed(() => [
}, },
{ {
align: 'left', align: 'left',
label: t('customer.extendedList.tableVisibleColumns.isEqualizated'), label: t('customer.summary.isEqualizated'),
name: 'isEqualizated', name: 'isEqualizated',
create: true, create: true,
columnFilter: { columnFilter: {
@ -325,7 +325,7 @@ const columns = computed(() => [
}, },
{ {
align: 'left', align: 'left',
label: t('customer.extendedList.tableVisibleColumns.hasLcr'), label: t('customer.summary.hasLcr'),
name: 'hasLcr', name: 'hasLcr',
columnFilter: { columnFilter: {
inWhere: true, inWhere: true,
@ -333,7 +333,7 @@ const columns = computed(() => [
}, },
{ {
align: 'left', align: 'left',
label: t('customer.extendedList.tableVisibleColumns.hasCoreVnl'), label: t('customer.summary.hasCoreVnl'),
name: 'hasCoreVnl', name: 'hasCoreVnl',
columnFilter: { columnFilter: {
inWhere: true, inWhere: true,
@ -424,7 +424,7 @@ function handleLocation(data, location) {
<VnSelect <VnSelect
url="Workers/search" url="Workers/search"
v-model="data.salesPersonFk" v-model="data.salesPersonFk"
:label="t('customer.basicData.salesPerson')" :label="t('customer.summary.salesPerson')"
:params="{ :params="{
departmentCodes: ['VT', 'shopping'], departmentCodes: ['VT', 'shopping'],
}" }"

View File

@ -1,21 +1,5 @@
customerFilter:
filter:
name: Name
socialName: Social name
customer: customer:
list:
phone: Phone
email: Email
customerOrders: Display customer orders
moreOptions: More options
card: card:
customerList: Customer list
customerId: Claim ID
salesPerson: Sales person
credit: Credit
risk: Risk
securedCredit: Secured credit
payMethod: Pay method
debt: Debt debt: Debt
isFrozen: Customer frozen isFrozen: Customer frozen
hasDebt: Customer has debt hasDebt: Customer has debt
@ -23,9 +7,7 @@ customer:
notChecked: Customer no checked notChecked: Customer no checked
webAccountInactive: Web account inactive webAccountInactive: Web account inactive
noWebAccess: Web access is disabled noWebAccess: Web access is disabled
businessType: Business type
passwordRequirements: 'The password must have at least { length } length characters, {nAlpha} alphabetic characters, {nUpper} capital letters, {nDigits} digits and {nPunct} symbols (Ex: $%&.)\n' passwordRequirements: 'The password must have at least { length } length characters, {nAlpha} alphabetic characters, {nUpper} capital letters, {nDigits} digits and {nPunct} symbols (Ex: $%&.)\n'
businessTypeFk: Business type
summary: summary:
basicData: Basic data basicData: Basic data
fiscalAddress: Fiscal address fiscalAddress: Fiscal address
@ -37,9 +19,7 @@ customer:
customerId: Customer ID customerId: Customer ID
name: Name name: Name
contact: Contact contact: Contact
phone: Phone
mobile: Mobile mobile: Mobile
email: Email
salesPerson: Sales person salesPerson: Sales person
contactChannel: Contact channel contactChannel: Contact channel
socialName: Social name socialName: Social name
@ -63,7 +43,6 @@ customer:
hasB2BVnl: Has B2B VNL hasB2BVnl: Has B2B VNL
addressName: Address name addressName: Address name
addressCity: City addressCity: City
addressStreet: Street
username: Username username: Username
webAccess: Web access webAccess: Web access
totalGreuge: Total greuge totalGreuge: Total greuge
@ -92,45 +71,27 @@ customer:
goToLines: Go to lines goToLines: Go to lines
basicData: basicData:
socialName: Fiscal name socialName: Fiscal name
businessType: Business type
contact: Contact
youCanSaveMultipleEmails: You can save multiple emails youCanSaveMultipleEmails: You can save multiple emails
email: Email
phone: Phone
mobile: Mobile
salesPerson: Sales person
contactChannel: Contact channel
previousClient: Previous client previousClient: Previous client
extendedList: extendedList:
tableVisibleColumns: tableVisibleColumns:
id: Identifier id: Identifier
name: Name
socialName: Social name socialName: Social name
fi: Tax number fi: Tax number
salesPersonFk: Salesperson salesPersonFk: Salesperson
credit: Credit
creditInsurance: Credit insurance creditInsurance: Credit insurance
phone: Phone phone: Phone
mobile: Mobile
street: Street street: Street
countryFk: Country countryFk: Country
provinceFk: Province provinceFk: Province
city: City
postcode: Postcode
email: Email
created: Created created: Created
businessTypeFk: Business type businessTypeFk: Business type
payMethodFk: Billing data
sageTaxTypeFk: Sage tax type sageTaxTypeFk: Sage tax type
sageTransactionTypeFk: Sage tr. type sageTransactionTypeFk: Sage tr. type
isActive: Active
isVies: Vies isVies: Vies
isTaxDataChecked: Verified data isTaxDataChecked: Verified data
isEqualizated: Is equalizated
isFreezed: Freezed isFreezed: Freezed
hasToInvoice: Invoice hasToInvoice: Invoice
hasToInvoiceByAddress: Invoice by address hasToInvoiceByAddress: Invoice by address
isToBeMailed: Mailing isToBeMailed: Mailing
hasLcr: Received LCR
hasCoreVnl: VNL core received
hasSepaVnl: VNL B2B received hasSepaVnl: VNL B2B received

View File

@ -1,22 +1,7 @@
Search customer: Buscar cliente Search customer: Buscar cliente
You can search by customer id or name: Puedes buscar por id o nombre del cliente You can search by customer id or name: Puedes buscar por id o nombre del cliente
customerFilter:
filter:
name: Nombre
socialName: Razón Social
customer: customer:
list:
phone: Teléfono
email: Email
customerOrders: Mostrar órdenes del cliente
moreOptions: Más opciones
card: card:
customerId: ID cliente
salesPerson: Comercial
credit: Crédito
risk: Riesgo
securedCredit: Crédito asegurado
payMethod: Método de pago
debt: Riesgo debt: Riesgo
isFrozen: Cliente congelado isFrozen: Cliente congelado
hasDebt: Cliente con riesgo hasDebt: Cliente con riesgo
@ -24,9 +9,7 @@ customer:
notChecked: Cliente no comprobado notChecked: Cliente no comprobado
webAccountInactive: Sin acceso web webAccountInactive: Sin acceso web
noWebAccess: El acceso web está desactivado noWebAccess: El acceso web está desactivado
businessType: Tipo de negocio
passwordRequirements: 'La contraseña debe tener al menos { length } caracteres de longitud, {nAlpha} caracteres alfabéticos, {nUpper} letras mayúsculas, {nDigits} dígitos y {nPunct} símbolos (Ej: $%&.)' passwordRequirements: 'La contraseña debe tener al menos { length } caracteres de longitud, {nAlpha} caracteres alfabéticos, {nUpper} letras mayúsculas, {nDigits} dígitos y {nPunct} símbolos (Ej: $%&.)'
businessTypeFk: Tipo de negocio
summary: summary:
basicData: Datos básicos basicData: Datos básicos
fiscalAddress: Dirección fiscal fiscalAddress: Dirección fiscal
@ -38,9 +21,7 @@ customer:
customerId: ID cliente customerId: ID cliente
name: Nombre name: Nombre
contact: Contacto contact: Contacto
phone: Teléfono
mobile: Móvil mobile: Móvil
email: Email
salesPerson: Comercial salesPerson: Comercial
contactChannel: Canal de contacto contactChannel: Canal de contacto
socialName: Razón social socialName: Razón social
@ -64,7 +45,6 @@ customer:
hasB2BVnl: Recibido B2B VNL hasB2BVnl: Recibido B2B VNL
addressName: Nombre de la dirección addressName: Nombre de la dirección
addressCity: Ciudad addressCity: Ciudad
addressStreet: Calle
username: Usuario username: Usuario
webAccess: Acceso web webAccess: Acceso web
totalGreuge: Greuge total totalGreuge: Greuge total
@ -93,45 +73,27 @@ customer:
goToLines: Ir a líneas goToLines: Ir a líneas
basicData: basicData:
socialName: Nombre fiscal socialName: Nombre fiscal
businessType: Tipo de negocio
contact: Contacto
youCanSaveMultipleEmails: Puede guardar varios correos electrónicos encadenándolos mediante comas sin espacios{','} ejemplo{':'} user{'@'}dominio{'.'}com, user2{'@'}dominio{'.'}com siendo el primer correo electrónico el principal youCanSaveMultipleEmails: Puede guardar varios correos electrónicos encadenándolos mediante comas sin espacios{','} ejemplo{':'} user{'@'}dominio{'.'}com, user2{'@'}dominio{'.'}com siendo el primer correo electrónico el principal
email: Email
phone: Teléfono
mobile: Móvil
salesPerson: Comercial
contactChannel: Canal de contacto
previousClient: Cliente anterior previousClient: Cliente anterior
extendedList: extendedList:
tableVisibleColumns: tableVisibleColumns:
id: Identificador id: Identificador
name: Nombre
socialName: Razón social socialName: Razón social
fi: NIF / CIF fi: NIF / CIF
salesPersonFk: Comercial salesPersonFk: Comercial
credit: Crédito
creditInsurance: Crédito asegurado creditInsurance: Crédito asegurado
phone: Teléfono phone: Teléfono
mobile: Móvil
street: Dirección fiscal street: Dirección fiscal
countryFk: País countryFk: País
provinceFk: Provincia provinceFk: Provincia
city: Población
postcode: Código postal
email: Email
created: Fecha creación created: Fecha creación
businessTypeFk: Tipo de negocio businessTypeFk: Tipo de negocio
payMethodFk: Forma de pago
sageTaxTypeFk: Tipo de impuesto Sage sageTaxTypeFk: Tipo de impuesto Sage
sageTransactionTypeFk: Tipo tr. sage sageTransactionTypeFk: Tipo tr. sage
isActive: Activo
isVies: Vies isVies: Vies
isTaxDataChecked: Datos comprobados isTaxDataChecked: Datos comprobados
isEqualizated: Recargo de equivalencias
isFreezed: Congelado isFreezed: Congelado
hasToInvoice: Factura hasToInvoice: Factura
hasToInvoiceByAddress: Factura por consigna hasToInvoiceByAddress: Factura por consigna
isToBeMailed: Env. emails isToBeMailed: Env. emails
hasLcr: Recibido LCR
hasCoreVnl: Recibido core VNL
hasSepaVnl: Recibido B2B VNL hasSepaVnl: Recibido B2B VNL

View File

@ -20,16 +20,16 @@ const { t } = useI18n();
<template #form="{ data, validate }"> <template #form="{ data, validate }">
<VnRow> <VnRow>
<VnInput <VnInput
:label="t('department.name')" :label="t('globals.name')"
v-model="data.name" v-model="data.name"
:rules="validate('department.name')" :rules="validate('globals.name')"
clearable clearable
autofocus autofocus
/> />
<VnInput <VnInput
v-model="data.code" v-model="data.code"
:label="t('department.code')" :label="t('globals.code')"
:rules="validate('department.code')" :rules="validate('globals.code')"
clearable clearable
/> />
</VnRow> </VnRow>
@ -42,8 +42,8 @@ const { t } = useI18n();
/> />
<VnInput <VnInput
v-model="data.notificationEmail" v-model="data.notificationEmail"
:label="t('department.email')" :label="t('globals.params.email')"
:rules="validate('department.email')" :rules="validate('globals.params.email')"
clearable clearable
/> />
</VnRow> </VnRow>

View File

@ -45,16 +45,8 @@ onMounted(async () => {
/> />
<div class="full-width row wrap justify-between content-between"> <div class="full-width row wrap justify-between content-between">
<div class="column" style="min-width: 50%"> <div class="column" style="min-width: 50%">
<VnLv <VnLv :label="t('globals.name')" :value="department.name" dash />
:label="t('department.name')" <VnLv :label="t('globals.code')" :value="department.code" dash />
:value="department.name"
dash
/>
<VnLv
:label="t('department.code')"
:value="department.code"
dash
/>
<VnLv <VnLv
:label="t('department.chat')" :label="t('department.chat')"
:value="department.chatName" :value="department.chatName"

View File

@ -52,7 +52,7 @@ const onFilterTravelSelected = (formData, id) => {
<template #form="{ data }"> <template #form="{ data }">
<VnRow> <VnRow>
<VnSelect <VnSelect
:label="t('entry.basicData.supplier')" :label="t('globals.supplier')"
v-model="data.supplierFk" v-model="data.supplierFk"
url="Suppliers" url="Suppliers"
option-value="id" option-value="id"
@ -107,18 +107,15 @@ const onFilterTravelSelected = (formData, id) => {
</VnSelectDialog> </VnSelectDialog>
</VnRow> </VnRow>
<VnRow> <VnRow>
<VnInput <VnInput v-model="data.reference" :label="t('globals.reference')" />
v-model="data.reference"
:label="t('entry.basicData.reference')"
/>
</VnRow> </VnRow>
<VnRow> <VnRow>
<VnInput <VnInput
v-model="data.invoiceNumber" v-model="data.invoiceNumber"
:label="t('entry.basicData.invoiceNumber')" :label="t('entry.summary.invoiceNumber')"
/> />
<VnSelect <VnSelect
:label="t('entry.basicData.company')" :label="t('globals.company')"
v-model="data.companyFk" v-model="data.companyFk"
:options="companiesOptions" :options="companiesOptions"
option-value="id" option-value="id"
@ -130,14 +127,14 @@ const onFilterTravelSelected = (formData, id) => {
</VnRow> </VnRow>
<VnRow> <VnRow>
<VnSelect <VnSelect
:label="t('entry.basicData.currency')" :label="t('entry.summary.currency')"
v-model="data.currencyFk" v-model="data.currencyFk"
:options="currenciesOptions" :options="currenciesOptions"
option-value="id" option-value="id"
option-label="code" option-label="code"
/> />
<QInput <QInput
:label="t('entry.basicData.commission')" :label="t('entry.summary.commission')"
v-model="data.commission" v-model="data.commission"
type="number" type="number"
autofocus autofocus
@ -155,17 +152,11 @@ const onFilterTravelSelected = (formData, id) => {
/> />
</VnRow> </VnRow>
<VnRow> <VnRow>
<QCheckbox <QCheckbox v-model="data.isOrdered" :label="t('entry.summary.ordered')" />
v-model="data.isOrdered" <QCheckbox v-model="data.isConfirmed" :label="t('globals.confirmed')" />
:label="t('entry.basicData.ordered')"
/>
<QCheckbox
v-model="data.isConfirmed"
:label="t('entry.basicData.confirmed')"
/>
<QCheckbox <QCheckbox
v-model="data.isExcludedFromAvailable" v-model="data.isExcludedFromAvailable"
:label="t('entry.basicData.excludedFromAvailable')" :label="t('entry.summary.excludedFromAvailable')"
/> />
<QCheckbox <QCheckbox
v-if="isAdministrative()" v-if="isAdministrative()"

View File

@ -5,7 +5,6 @@ import { useI18n } from 'vue-i18n';
import { QBtn } from 'quasar'; import { QBtn } from 'quasar';
import VnPaginate from 'src/components/ui/VnPaginate.vue'; import VnPaginate from 'src/components/ui/VnPaginate.vue';
import FetchData from 'src/components/FetchData.vue';
import VnSelect from 'components/common/VnSelect.vue'; import VnSelect from 'components/common/VnSelect.vue';
import VnInput from 'src/components/common/VnInput.vue'; import VnInput from 'src/components/common/VnInput.vue';
import FetchedTags from 'components/ui/FetchedTags.vue'; import FetchedTags from 'components/ui/FetchedTags.vue';
@ -157,13 +156,13 @@ const tableColumnComponents = computed(() => ({
const entriesTableColumns = computed(() => { const entriesTableColumns = computed(() => {
return [ return [
{ {
label: t('entry.summary.item'), label: t('globals.item'),
field: 'itemFk', field: 'itemFk',
name: 'item', name: 'item',
align: 'left', align: 'left',
}, },
{ {
label: t('entry.summary.quantity'), label: t('globals.quantity'),
field: 'quantity', field: 'quantity',
name: 'quantity', name: 'quantity',
align: 'left', align: 'left',
@ -187,7 +186,7 @@ const entriesTableColumns = computed(() => {
align: 'left', align: 'left',
}, },
{ {
label: t('entry.summary.weight'), label: t('globals.weight'),
field: 'weight', field: 'weight',
name: 'weight', name: 'weight',
align: 'left', align: 'left',
@ -212,13 +211,13 @@ const entriesTableColumns = computed(() => {
format: (value) => toCurrency(value), format: (value) => toCurrency(value),
}, },
{ {
label: t('entry.buys.groupingPrice'), label: t('item.fixedPrice.groupingPrice'),
field: 'price2', field: 'price2',
name: 'price2', name: 'price2',
align: 'left', align: 'left',
}, },
{ {
label: t('entry.buys.packingPrice'), label: t('item.fixedPrice.packingPrice'),
field: 'price3', field: 'price3',
name: 'price3', name: 'price3',
align: 'left', align: 'left',

View File

@ -35,7 +35,7 @@ const packagingsOptions = ref([]);
const columns = computed(() => [ const columns = computed(() => [
{ {
label: t('entry.buys.item'), label: t('globals.item'),
name: 'item', name: 'item',
field: 'itemFk', field: 'itemFk',
options: lastItemBuysOptions.value, options: lastItemBuysOptions.value,
@ -56,19 +56,19 @@ const columns = computed(() => [
align: 'left', align: 'left',
}, },
{ {
label: t('entry.buys.packing'), label: t('entry.summary.packing'),
name: 'packing', name: 'packing',
field: 'packing', field: 'packing',
align: 'left', align: 'left',
}, },
{ {
label: t('entry.buys.grouping'), label: t('entry.summary.grouping'),
name: 'grouping', name: 'grouping',
field: 'grouping', field: 'grouping',
align: 'left', align: 'left',
}, },
{ {
label: t('entry.buys.buyingValue'), label: t('entry.summary.buyingValue'),
name: 'buyingValue', name: 'buyingValue',
field: 'buyingValue', field: 'buyingValue',
align: 'left', align: 'left',
@ -200,7 +200,7 @@ const redirectToBuysView = () => {
<VnRow> <VnRow>
<QFile <QFile
ref="inputFileRef" ref="inputFileRef"
:label="t('entry.buys.file')" :label="t('globals.file')"
v-model="importData.file" v-model="importData.file"
:multiple="false" :multiple="false"
accept=".json" accept=".json"
@ -220,10 +220,7 @@ const redirectToBuysView = () => {
</VnRow> </VnRow>
<div v-if="importData.file"> <div v-if="importData.file">
<VnRow> <VnRow>
<VnInput <VnInput :label="t('globals.reference')" v-model="importData.ref" />
:label="t('entry.buys.reference')"
v-model="importData.ref"
/>
</VnRow> </VnRow>
<VnRow> <VnRow>
<VnInput <VnInput

View File

@ -73,14 +73,11 @@ const showEntryReport = () => {
</QItem> </QItem>
</template> </template>
<template #body="{ entity }"> <template #body="{ entity }">
<VnLv <VnLv :label="t('globals.agency')" :value="entity.travel?.agency?.name" />
:label="t('entry.descriptor.agency')"
:value="entity.travel?.agency?.name"
/>
<VnLv :label="t('shipped')" :value="toDate(entity.travel?.shipped)" /> <VnLv :label="t('shipped')" :value="toDate(entity.travel?.shipped)" />
<VnLv :label="t('landed')" :value="toDate(entity.travel?.landed)" /> <VnLv :label="t('landed')" :value="toDate(entity.travel?.landed)" />
<VnLv <VnLv
:label="t('entry.descriptor.warehouseOut')" :label="t('globals.warehouseOut')"
:value="entity.travel?.warehouseOut?.name" :value="entity.travel?.warehouseOut?.name"
/> />
</template> </template>

View File

@ -84,7 +84,7 @@ const tableColumnComponents = {
const entriesTableColumns = computed(() => { const entriesTableColumns = computed(() => {
return [ return [
{ {
label: t('entry.summary.quantity'), label: t('globals.quantity'),
field: 'quantity', field: 'quantity',
name: 'quantity', name: 'quantity',
align: 'left', align: 'left',
@ -102,7 +102,7 @@ const entriesTableColumns = computed(() => {
align: 'left', align: 'left',
}, },
{ {
label: t('entry.summary.weight'), label: t('globals.weight'),
field: 'weight', field: 'weight',
name: 'weight', name: 'weight',
align: 'left', align: 'left',
@ -188,8 +188,8 @@ const fetchEntryBuys = async () => {
:label="t('entry.summary.currency')" :label="t('entry.summary.currency')"
:value="entry.currency?.name" :value="entry.currency?.name"
/> />
<VnLv :label="t('entry.summary.company')" :value="entry.company.code" /> <VnLv :label="t('globals.company')" :value="entry.company.code" />
<VnLv :label="t('entry.summary.reference')" :value="entry.reference" /> <VnLv :label="t('globals.reference')" :value="entry.reference" />
<VnLv <VnLv
:label="t('entry.summary.invoiceNumber')" :label="t('entry.summary.invoiceNumber')"
:value="entry.invoiceNumber" :value="entry.invoiceNumber"
@ -217,7 +217,7 @@ const fetchEntryBuys = async () => {
/> />
<VnLv :label="t('shipped')" :value="toDate(entry.travel.shipped)" /> <VnLv :label="t('shipped')" :value="toDate(entry.travel.shipped)" />
<VnLv <VnLv
:label="t('entry.summary.travelWarehouseOut')" :label="t('globals.warehouseOut')"
:value="entry.travel.warehouseOut?.name" :value="entry.travel.warehouseOut?.name"
/> />
<QCheckbox <QCheckbox
@ -227,7 +227,7 @@ const fetchEntryBuys = async () => {
/> />
<VnLv :label="t('landed')" :value="toDate(entry.travel.landed)" /> <VnLv :label="t('landed')" :value="toDate(entry.travel.landed)" />
<VnLv <VnLv
:label="t('entry.summary.travelWarehouseIn')" :label="t('globals.warehouseIn')"
:value="entry.travel.warehouseIn?.name" :value="entry.travel.warehouseIn?.name"
/> />
<QCheckbox <QCheckbox
@ -250,7 +250,7 @@ const fetchEntryBuys = async () => {
:disable="true" :disable="true"
/> />
<QCheckbox <QCheckbox
:label="t('entry.summary.confirmed')" :label="t('globals.confirmed')"
v-model="entry.isConfirmed" v-model="entry.isConfirmed"
:disable="true" :disable="true"
/> />

View File

@ -35,7 +35,7 @@ const entriesTableColumns = computed(() => [
{ {
align: 'left', align: 'left',
name: 'item', name: 'item',
label: t('entry.summary.item'), label: t('globals.item'),
field: (row) => row.item.name, field: (row) => row.item.name,
}, },
{ {

View File

@ -40,7 +40,7 @@ const columns = [
}, },
{ {
align: 'left', align: 'left',
label: t('entry.latestBuys.tableVisibleColumns.packing'), label: t('entry.summary.packing'),
name: 'packing', name: 'packing',
columnFilter: { columnFilter: {
component: 'number', component: 'number',
@ -49,7 +49,7 @@ const columns = [
}, },
{ {
align: 'left', align: 'left',
label: t('entry.latestBuys.tableVisibleColumns.grouping'), label: t('entry.summary.grouping'),
name: 'grouping', name: 'grouping',
columnFilter: { columnFilter: {
component: 'number', component: 'number',
@ -58,7 +58,7 @@ const columns = [
}, },
{ {
align: 'left', align: 'left',
label: t('entry.latestBuys.tableVisibleColumns.quantity'), label: t('globals.quantity'),
name: 'quantity', name: 'quantity',
columnFilter: { columnFilter: {
component: 'number', component: 'number',
@ -67,12 +67,12 @@ const columns = [
}, },
{ {
align: 'left', align: 'left',
label: t('entry.latestBuys.tableVisibleColumns.description'), label: t('globals.description'),
name: 'description', name: 'description',
}, },
{ {
align: 'left', align: 'left',
label: t('entry.latestBuys.tableVisibleColumns.size'), label: t('globals.size'),
name: 'size', name: 'size',
columnFilter: { columnFilter: {
component: 'number', component: 'number',
@ -81,27 +81,27 @@ const columns = [
}, },
{ {
align: 'left', align: 'left',
label: t('entry.latestBuys.tableVisibleColumns.tags'), label: t('globals.tags'),
name: 'tags', name: 'tags',
}, },
{ {
align: 'left', align: 'left',
label: t('entry.latestBuys.tableVisibleColumns.type'), label: t('globals.type'),
name: 'type', name: 'type',
}, },
{ {
align: 'left', align: 'left',
label: t('entry.latestBuys.tableVisibleColumns.intrastat'), label: t('globals.intrastat'),
name: 'intrastat', name: 'intrastat',
}, },
{ {
align: 'left', align: 'left',
label: t('entry.latestBuys.tableVisibleColumns.origin'), label: t('globals.origin'),
name: 'origin', name: 'origin',
}, },
{ {
align: 'left', align: 'left',
label: t('entry.latestBuys.tableVisibleColumns.weightByPiece'), label: t('globals.weightByPiece'),
name: 'weightByPiece', name: 'weightByPiece',
columnFilter: { columnFilter: {
component: 'number', component: 'number',
@ -129,7 +129,7 @@ const columns = [
}, },
{ {
align: 'left', align: 'left',
label: t('entry.latestBuys.tableVisibleColumns.buyingValue'), label: t('entry.summary.buyingValue'),
name: 'buyingValue', name: 'buyingValue',
columnFilter: { columnFilter: {
component: 'number', component: 'number',
@ -156,7 +156,7 @@ const columns = [
}, },
{ {
align: 'left', align: 'left',
label: t('entry.latestBuys.tableVisibleColumns.packageValue'), label: t('entry.buys.packageValue'),
name: 'packageValue', name: 'packageValue',
columnFilter: { columnFilter: {
component: 'number', component: 'number',
@ -202,7 +202,7 @@ const columns = [
}, },
{ {
align: 'left', align: 'left',
label: t('entry.latestBuys.tableVisibleColumns.weight'), label: t('globals.weight'),
name: 'weight', name: 'weight',
columnFilter: { columnFilter: {
component: 'number', component: 'number',
@ -211,7 +211,7 @@ const columns = [
}, },
{ {
align: 'left', align: 'left',
label: t('entry.latestBuys.tableVisibleColumns.packagingFk'), label: t('entry.buys.packagingFk'),
name: 'packagingFk', name: 'packagingFk',
columnFilter: { columnFilter: {
component: 'number', component: 'number',

View File

@ -47,14 +47,14 @@ const columns = computed(() => [
}, },
{ {
align: 'left', align: 'left',
label: t('entry.list.tableVisibleColumns.id'), label: t('globals.id'),
name: 'id', name: 'id',
isTitle: true, isTitle: true,
cardVisible: true, cardVisible: true,
}, },
{ {
align: 'left', align: 'left',
label: t('entry.list.tableVisibleColumns.reference'), label: t('globals.reference'),
name: 'reference', name: 'reference',
isTitle: true, isTitle: true,
component: 'input', component: 'input',

View File

@ -355,10 +355,10 @@ const createInvoiceInCorrection = async () => {
</QItem> </QItem>
</template> </template>
<template #body="{ entity }"> <template #body="{ entity }">
<VnLv :label="t('invoiceIn.card.issued')" :value="toDate(entity.issued)" /> <VnLv :label="t('invoiceIn.list.issued')" :value="toDate(entity.issued)" />
<VnLv :label="t('invoiceIn.summary.booked')" :value="toDate(entity.booked)" /> <VnLv :label="t('invoiceIn.summary.booked')" :value="toDate(entity.booked)" />
<VnLv :label="t('invoiceIn.card.amount')" :value="toCurrency(totalAmount)" /> <VnLv :label="t('invoiceIn.list.amount')" :value="toCurrency(totalAmount)" />
<VnLv :label="t('invoiceIn.summary.supplier')"> <VnLv :label="t('invoiceIn.list.supplier')">
<template #value> <template #value>
<span class="link"> <span class="link">
{{ entity?.supplier?.nickname }} {{ entity?.supplier?.nickname }}

View File

@ -95,7 +95,7 @@ const dueDayColumns = ref([
}, },
{ {
name: 'amount', name: 'amount',
label: 'invoiceIn.summary.amount', label: 'invoiceIn.list.amount',
field: (row) => row.amount, field: (row) => row.amount,
format: (value) => toCurrency(value), format: (value) => toCurrency(value),
sortable: true, sortable: true,
@ -123,7 +123,7 @@ const intrastatColumns = ref([
}, },
{ {
name: 'amount', name: 'amount',
label: 'invoiceIn.summary.amount', label: 'invoiceIn.list.amount',
field: (row) => toCurrency(row.amount), field: (row) => toCurrency(row.amount),
sortable: true, sortable: true,
align: 'left', align: 'left',
@ -210,7 +210,7 @@ const getLink = (param) => `#/invoice-in/${entityId.value}/${param}`;
/> />
</QCardSection> </QCardSection>
<VnLv <VnLv
:label="t('invoiceIn.summary.supplier')" :label="t('invoiceIn.list.supplier')"
:value="entity.supplier?.name" :value="entity.supplier?.name"
> >
<template #value> <template #value>
@ -221,7 +221,7 @@ const getLink = (param) => `#/invoice-in/${entityId.value}/${param}`;
</template> </template>
</VnLv> </VnLv>
<VnLv <VnLv
:label="t('invoiceIn.summary.supplierRef')" :label="t('invoiceIn.list.supplierRef')"
:value="entity.supplierRef" :value="entity.supplierRef"
/> />
<VnLv <VnLv
@ -271,7 +271,7 @@ const getLink = (param) => `#/invoice-in/${entityId.value}/${param}`;
:value="entity.expenseDeductible?.name" :value="entity.expenseDeductible?.name"
/> />
<VnLv <VnLv
:label="t('invoiceIn.summary.company')" :label="t('invoiceIn.card.company')"
:value="entity.company?.code" :value="entity.company?.code"
/> />
<VnLv :label="t('invoiceIn.isBooked')" :value="invoiceIn?.isBooked" /> <VnLv :label="t('invoiceIn.isBooked')" :value="invoiceIn?.isBooked" />

View File

@ -83,7 +83,7 @@ const redirectToInvoiceInBasicData = (__, { id }) => {
</template> </template>
</VnSelect> </VnSelect>
<VnInput <VnInput
:label="t('invoiceIn.summary.supplierRef')" :label="t('invoiceIn.list.supplierRef')"
v-model="data.supplierRef" v-model="data.supplierRef"
/> />
</VnRow> </VnRow>

View File

@ -50,7 +50,7 @@ const cols = computed(() => [
{ {
align: 'left', align: 'left',
name: 'serial', name: 'serial',
label: t('invoiceIn.list.serial'), label: t('invoiceIn.serial'),
}, },
{ {
align: 'left', align: 'left',
@ -151,7 +151,7 @@ const cols = computed(() => [
</template> </template>
</VnSelect> </VnSelect>
<VnInput <VnInput
:label="t('invoiceIn.summary.supplierRef')" :label="t('invoiceIn.list.supplierRef')"
v-model="data.supplierRef" v-model="data.supplierRef"
/> />
<VnSelect <VnSelect

View File

@ -5,14 +5,11 @@ invoiceIn:
ref: Reference ref: Reference
supplier: Supplier supplier: Supplier
supplierRef: Supplier ref. supplierRef: Supplier ref.
serial: Serial
file: File file: File
issued: Issued issued: Issued
awb: AWB awb: AWB
amount: Amount amount: Amount
card: card:
issued: Issued
amount: Amount
client: Client client: Client
company: Company company: Company
customerCard: Customer card customerCard: Customer card
@ -21,8 +18,6 @@ invoiceIn:
dueDay: Due day dueDay: Due day
intrastat: Intrastat intrastat: Intrastat
summary: summary:
supplier: Supplier
supplierRef: Supplier ref.
currency: Currency currency: Currency
issued: Expedition date issued: Expedition date
operated: Operation date operated: Operation date
@ -30,7 +25,6 @@ invoiceIn:
bookedDate: Booked date bookedDate: Booked date
sage: Sage withholding sage: Sage withholding
vat: Undeductible VAT vat: Undeductible VAT
company: Company
expense: Expense expense: Expense
taxableBase: Taxable base taxableBase: Taxable base
rate: Rate rate: Rate
@ -38,7 +32,6 @@ invoiceIn:
sageTransaction: Sage transaction sageTransaction: Sage transaction
dueDay: Date dueDay: Date
bank: Bank bank: Bank
amount: Amount
foreignValue: Foreign value foreignValue: Foreign value
dueTotal: Due day dueTotal: Due day
noMatch: Do not match noMatch: Do not match

View File

@ -11,8 +11,6 @@ invoiceIn:
awb: AWB awb: AWB
amount: Importe amount: Importe
card: card:
issued: Fecha emisión
amount: Importe
client: Cliente client: Cliente
company: Empresa company: Empresa
customerCard: Ficha del cliente customerCard: Ficha del cliente
@ -20,8 +18,6 @@ invoiceIn:
vat: Iva vat: Iva
dueDay: Fecha de vencimiento dueDay: Fecha de vencimiento
summary: summary:
supplier: Proveedor
supplierRef: Ref. proveedor
currency: Divisa currency: Divisa
docNumber: Número documento docNumber: Número documento
issued: Fecha de expedición issued: Fecha de expedición
@ -30,14 +26,12 @@ invoiceIn:
bookedDate: Fecha contable bookedDate: Fecha contable
sage: Retención sage sage: Retención sage
vat: Iva no deducible vat: Iva no deducible
company: Empresa
expense: Gasto expense: Gasto
taxableBase: Base imp. taxableBase: Base imp.
rate: Tasa rate: Tasa
sageTransaction: Sage transación sageTransaction: Sage transación
dueDay: Fecha dueDay: Fecha
bank: Caja bank: Caja
amount: Importe
foreignValue: Divisa foreignValue: Divisa
dueTotal: Vencimiento dueTotal: Vencimiento
code: Código code: Código

View File

@ -69,7 +69,7 @@ const setData = (entity) => (data.value = useCardDescription(entity.ref, entity.
<template #body="{ entity }"> <template #body="{ entity }">
<VnLv :label="t('invoiceOut.card.issued')" :value="toDate(entity.issued)" /> <VnLv :label="t('invoiceOut.card.issued')" :value="toDate(entity.issued)" />
<VnLv :label="t('globals.amount')" :value="toCurrency(entity.amount)" /> <VnLv :label="t('globals.amount')" :value="toCurrency(entity.amount)" />
<VnLv v-if="entity.client" :label="t('invoiceOut.card.client')"> <VnLv v-if="entity.client" :label="t('globals.client')">
<template #value> <template #value>
<span class="link"> <span class="link">
{{ entity.client.name }} {{ entity.client.name }}
@ -79,7 +79,7 @@ const setData = (entity) => (data.value = useCardDescription(entity.ref, entity.
</VnLv> </VnLv>
<VnLv <VnLv
v-if="entity.company" v-if="entity.company"
:label="t('invoiceOut.card.company')" :label="t('globals.company')"
:value="entity.company.code" :value="entity.company.code"
/> />
</template> </template>

View File

@ -42,7 +42,7 @@ function fetch() {
const taxColumns = ref([ const taxColumns = ref([
{ {
name: 'item', name: 'item',
label: 'invoiceOut.summary.type', label: 'globals.type',
field: (row) => row.name, field: (row) => row.name,
sortable: true, sortable: true,
}, },
@ -72,21 +72,21 @@ const taxColumns = ref([
const ticketsColumns = ref([ const ticketsColumns = ref([
{ {
name: 'item', name: 'item',
label: t('invoiceOut.summary.ticketId'), label: t('globals.ticketId'),
field: (row) => row.id, field: (row) => row.id,
sortable: true, sortable: true,
align: 'left', align: 'left',
}, },
{ {
name: 'nickname', name: 'nickname',
label: t('invoiceOut.summary.nickname'), label: t('globals.alias'),
field: (row) => row.nickname, field: (row) => row.nickname,
sortable: true, sortable: true,
align: 'left', align: 'left',
}, },
{ {
name: 'landed', name: 'landed',
label: t('invoiceOut.summary.shipped'), label: t('globals.shipped'),
field: (row) => row.shipped, field: (row) => row.shipped,
format: (value) => toDate(value), format: (value) => toDate(value),
sortable: true, sortable: true,
@ -124,18 +124,12 @@ const ticketsColumns = ref([
:label="t('invoiceOut.summary.dued')" :label="t('invoiceOut.summary.dued')"
:value="toDate(invoiceOut.dued)" :value="toDate(invoiceOut.dued)"
/> />
<VnLv <VnLv :label="t('globals.created')" :value="toDate(invoiceOut.created)" />
:label="t('invoiceOut.summary.created')"
:value="toDate(invoiceOut.created)"
/>
<VnLv <VnLv
:label="t('invoiceOut.summary.booked')" :label="t('invoiceOut.summary.booked')"
:value="toDate(invoiceOut.booked)" :value="toDate(invoiceOut.booked)"
/> />
<VnLv <VnLv :label="t('globals.company')" :value="invoiceOut.company.code" />
:label="t('invoiceOut.summary.company')"
:value="invoiceOut.company.code"
/>
</QCard> </QCard>
<QCard class="vn-three"> <QCard class="vn-three">
<VnTitle :text="t('invoiceOut.summary.taxBreakdown')" /> <VnTitle :text="t('invoiceOut.summary.taxBreakdown')" />

View File

@ -59,7 +59,7 @@ const columns = computed(() => [
field: 'clientId', field: 'clientId',
}, },
{ {
label: t('invoiceOut.globalInvoices.table.client'), label: t('globals.client'),
field: 'clientName', field: 'clientName',
name: 'clientName', name: 'clientName',
align: 'left', align: 'left',

View File

@ -33,7 +33,7 @@ const props = defineProps({
<QItemSection> <QItemSection>
<VnInputDate <VnInputDate
v-model="params.from" v-model="params.from"
:label="t('invoiceOut.negativeBases.from')" :label="t('globals.from')"
is-outlined is-outlined
/> />
</QItemSection> </QItemSection>
@ -42,7 +42,7 @@ const props = defineProps({
<QItemSection> <QItemSection>
<VnInputDate <VnInputDate
v-model="params.to" v-model="params.to"
:label="t('invoiceOut.negativeBases.to')" :label="t('globals.to')"
is-outlined is-outlined
/> />
</QItemSection> </QItemSection>
@ -51,7 +51,7 @@ const props = defineProps({
<QItemSection> <QItemSection>
<VnInput <VnInput
v-model="params.company" v-model="params.company"
:label="t('invoiceOut.negativeBases.company')" :label="t('globals.company')"
is-outlined is-outlined
/> />
</QItemSection> </QItemSection>
@ -60,7 +60,7 @@ const props = defineProps({
<QItemSection> <QItemSection>
<VnInput <VnInput
v-model="params.country" v-model="params.country"
:label="t('invoiceOut.negativeBases.country')" :label="t('globals.country')"
is-outlined is-outlined
/> />
</QItemSection> </QItemSection>
@ -79,7 +79,7 @@ const props = defineProps({
<QItemSection> <QItemSection>
<VnInput <VnInput
v-model="params.clientSocialName" v-model="params.clientSocialName"
:label="t('invoiceOut.negativeBases.client')" :label="t('globals.client')"
is-outlined is-outlined
/> />
</QItemSection> </QItemSection>
@ -88,7 +88,7 @@ const props = defineProps({
<QItemSection> <QItemSection>
<VnInputNumber <VnInputNumber
v-model="params.amount" v-model="params.amount"
:label="t('invoiceOut.negativeBases.amount')" :label="t('globals.amount')"
is-outlined is-outlined
/> />
</QItemSection> </QItemSection>

View File

@ -9,9 +9,6 @@ invoiceOutList:
id: ID id: ID
ref: Referencia ref: Referencia
issued: Fecha emisión issued: Fecha emisión
customer: Cliente
company: Empresa
amount: Importe
created: F. creación created: F. creación
dueDate: F. máxima dueDate: F. máxima
invoiceOutSerial: Serial invoiceOutSerial: Serial

View File

@ -42,7 +42,7 @@ onMounted(async () => {
:required="true" :required="true"
/> />
<VnInput <VnInput
:label="t('createIntrastatForm.description')" :label="t('itemBasicData.description')"
v-model="data.description" v-model="data.description"
:required="true" :required="true"
/> />

View File

@ -140,10 +140,7 @@ const openRegularizeStockForm = () => {
</span> </span>
</template> </template>
</VnLv> </VnLv>
<VnLv <VnLv :label="t('globals.producer')" :value="dashIfEmpty(entity.subName)" />
:label="t('item.descriptor.producer')"
:value="dashIfEmpty(entity.subName)"
/>
<VnLv <VnLv
v-if="entity.value5" v-if="entity.value5"
:label="t('item.descriptor.color')" :label="t('item.descriptor.color')"
@ -157,7 +154,7 @@ const openRegularizeStockForm = () => {
/> />
<VnLv <VnLv
v-if="entity.value7" v-if="entity.value7"
:label="t('item.descriptor.stems')" :label="t('item.list.stems')"
:value="entity.value7" :value="entity.value7"
/> />
</template> </template>

View File

@ -75,7 +75,7 @@ const handlePhotoUpdated = (evt = false) => {
<QIcon name="vn:item" /> <QIcon name="vn:item" />
</div> </div>
<div class="text-grey-5" style="opacity: 0.4"> <div class="text-grey-5" style="opacity: 0.4">
{{ t('item.descriptor.item') }} {{ t('globals.item') }}
</div> </div>
</div> </div>
</div> </div>
@ -107,7 +107,7 @@ const handlePhotoUpdated = (evt = false) => {
> >
<div class="col column items-center"> <div class="col column items-center">
<span class="text-uppercase color-vn-white" style="font-size: 11px"> <span class="text-uppercase color-vn-white" style="font-size: 11px">
{{ t('item.descriptor.visible') }} {{ t('globals.visible') }}
</span> </span>
<span class="text-weight-bold text-h5 color-vn-white">{{ visible }}</span> <span class="text-weight-bold text-h5 color-vn-white">{{ visible }}</span>
</div> </div>

View File

@ -90,7 +90,7 @@ const columns = computed(() => [
format: (val) => dashIfEmpty(val), format: (val) => dashIfEmpty(val),
}, },
{ {
label: t('itemDiary.reference'), label: t('itemBasicData.reference'),
field: 'reference', field: 'reference',
name: 'reference', name: 'reference',
align: 'left', align: 'left',

View File

@ -59,7 +59,7 @@ const columns = computed(() => [
align: 'center', align: 'center',
}, },
{ {
label: t('lastEntries.warehouse'), label: t('itemDiary.warehouse'),
name: 'warehouse', name: 'warehouse',
field: 'warehouse', field: 'warehouse',
align: 'left', align: 'left',
@ -94,7 +94,7 @@ const columns = computed(() => [
format: (val) => dashIfEmpty(val), format: (val) => dashIfEmpty(val),
}, },
{ {
label: t('lastEntries.packing'), label: t('shelvings.packing'),
name: 'packing', name: 'packing',
align: 'center', align: 'center',
}, },
@ -104,7 +104,7 @@ const columns = computed(() => [
align: 'center', align: 'center',
}, },
{ {
label: t('lastEntries.stems'), label: t('itemBasicData.stems'),
name: 'stems', name: 'stems',
field: 'stems', field: 'stems',
align: 'center', align: 'center',
@ -188,7 +188,7 @@ onUnmounted(() => (stateStore.rightDrawer = false));
<VnSubToolbar> <VnSubToolbar>
<template #st-data> <template #st-data>
<VnInputDate <VnInputDate
:label="t('lastEntries.since')" :label="t('itemDiary.since')"
dense dense
v-model="from" v-model="from"
class="q-mr-lg" class="q-mr-lg"

View File

@ -55,13 +55,13 @@ const getUrl = (id, param) => `#/Item/${id}/${param}`;
<QCard class="vn-one"> <QCard class="vn-one">
<VnTitle <VnTitle
:url="getUrl(entityId, 'basic-data')" :url="getUrl(entityId, 'basic-data')"
:text="t('item.summary.basicData')" :text="t('globals.summary.basicData')"
/> />
<VnLv :label="t('item.summary.name')" :value="item.name" /> <VnLv :label="t('globals.name')" :value="item.name" />
<VnLv :label="t('item.summary.completeName')" :value="item.longName" /> <VnLv :label="t('item.summary.completeName')" :value="item.longName" />
<VnLv :label="t('item.summary.family')" :value="item.itemType.name" /> <VnLv :label="t('item.summary.family')" :value="item.itemType.name" />
<VnLv :label="t('item.summary.size')" :value="item.size" /> <VnLv :label="t('globals.size')" :value="item.size" />
<VnLv :label="t('item.summary.origin')" :value="item.origin.name" /> <VnLv :label="t('globals.origin')" :value="item.origin.name" />
<VnLv :label="t('item.summary.stems')" :value="item.stems" /> <VnLv :label="t('item.summary.stems')" :value="item.stems" />
<VnLv <VnLv
:label="t('item.summary.multiplier')" :label="t('item.summary.multiplier')"
@ -96,7 +96,7 @@ const getUrl = (id, param) => `#/Item/${id}/${param}`;
:value="item.intrastat.id" :value="item.intrastat.id"
/> />
<VnLv <VnLv
:label="t('item.summary.intrastat')" :label="t('globals.intrastat')"
:value="item.intrastat.description" :value="item.intrastat.description"
/> />
<VnLv :label="t('item.summary.ref')" :value="item.comment" /> <VnLv :label="t('item.summary.ref')" :value="item.comment" />
@ -115,7 +115,7 @@ const getUrl = (id, param) => `#/Item/${id}/${param}`;
/> />
</QCard> </QCard>
<QCard class="vn-one"> <QCard class="vn-one">
<VnTitle :url="getUrl(entityId, 'tags')" :text="t('item.summary.tags')" /> <VnTitle :url="getUrl(entityId, 'tags')" :text="t('globals.tags')" />
<VnLv <VnLv
v-for="(tag, index) in tags" v-for="(tag, index) in tags"
:key="index" :key="index"
@ -126,7 +126,7 @@ const getUrl = (id, param) => `#/Item/${id}/${param}`;
<QCard class="vn-one" v-if="item.description"> <QCard class="vn-one" v-if="item.description">
<VnTitle <VnTitle
:url="getUrl(entityId, 'basic-data')" :url="getUrl(entityId, 'basic-data')"
:text="t('item.summary.description')" :text="t('globals.description')"
/> />
<p v-text="item.description" /> <p v-text="item.description" />
</QCard> </QCard>

View File

@ -151,7 +151,7 @@ const insertTag = (rows) => {
:is-clearable="false" :is-clearable="false"
/> />
<VnInput <VnInput
:label="t('itemTags.relevancy')" :label="t('itemBasicData.relevancy')"
type="number" type="number"
v-model="row.priority" v-model="row.priority"
:required="true" :required="true"

View File

@ -86,12 +86,9 @@ onBeforeMount(async () => {
> >
<template #form="{ data }"> <template #form="{ data }">
<VnRow> <VnRow>
<VnInput <VnInput v-model="data.provisionalName" :label="t('globals.name')" />
v-model="data.provisionalName"
:label="t('item.create.name')"
/>
<VnSelect <VnSelect
:label="t('item.create.tag')" :label="t('globals.tag')"
v-model="data.tag" v-model="data.tag"
:options="tagsOptions" :options="tagsOptions"
option-value="id" option-value="id"
@ -109,7 +106,7 @@ onBeforeMount(async () => {
</VnRow> </VnRow>
<VnRow> <VnRow>
<VnSelect <VnSelect
:label="t('item.create.type')" :label="t('globals.type')"
v-model="data.typeFk" v-model="data.typeFk"
:options="itemTypesOptions" :options="itemTypesOptions"
option-label="name" option-label="name"
@ -133,7 +130,7 @@ onBeforeMount(async () => {
</template> </template>
</VnSelect> </VnSelect>
<VnSelect <VnSelect
:label="t('item.create.intrastat')" :label="t('globals.intrastat')"
v-model="data.intrastatFk" v-model="data.intrastatFk"
:options="intrastatsOptions" :options="intrastatsOptions"
option-label="description" option-label="description"
@ -156,7 +153,7 @@ onBeforeMount(async () => {
</VnRow> </VnRow>
<VnRow> <VnRow>
<VnSelect <VnSelect
:label="t('item.create.origin')" :label="t('globals.origin')"
v-model="data.originFk" v-model="data.originFk"
:options="originsOptions" :options="originsOptions"
option-value="id" option-value="id"

View File

@ -132,7 +132,7 @@ const columns = computed(() => [
}, },
{ {
label: t('item.fixedPrice.warehouse'), label: t('globals.warehouse'),
field: 'warehouseFk', field: 'warehouseFk',
name: 'warehouseFk', name: 'warehouseFk',
...defaultColumnAttrs, ...defaultColumnAttrs,
@ -192,7 +192,7 @@ const editTableFieldsOptions = [
}, },
{ {
field: 'warehouseFk', field: 'warehouseFk',
label: t('item.fixedPrice.warehouse'), label: t('globals.warehouse'),
component: 'select', component: 'select',
attrs: { attrs: {
options: [], options: [],

View File

@ -80,7 +80,7 @@ const columns = computed(() => [
cardVisible: true, cardVisible: true,
}, },
{ {
label: t('item.list.grouping'), label: t('entry.summary.grouping'),
name: 'grouping', name: 'grouping',
align: 'left', align: 'left',
columnFilter: { columnFilter: {
@ -89,7 +89,7 @@ const columns = computed(() => [
}, },
}, },
{ {
label: t('item.list.packing'), label: t('entry.summary.packing'),
name: 'packing', name: 'packing',
align: 'left', align: 'left',
columnFilter: { columnFilter: {
@ -118,7 +118,7 @@ const columns = computed(() => [
cardVisible: true, cardVisible: true,
}, },
{ {
label: t('item.list.size'), label: t('globals.size'),
name: 'size', name: 'size',
align: 'left', align: 'left',
columnFilter: { columnFilter: {
@ -165,7 +165,7 @@ const columns = computed(() => [
}, },
}, },
{ {
label: t('item.list.intrastat'), label: t('globals.intrastat'),
name: 'intrastat', name: 'intrastat',
align: 'left', align: 'left',
component: 'select', component: 'select',
@ -184,7 +184,7 @@ const columns = computed(() => [
cardVisible: true, cardVisible: true,
}, },
{ {
label: t('item.list.origin'), label: t('globals.origin'),
name: 'origin', name: 'origin',
align: 'left', align: 'left',
component: 'select', component: 'select',
@ -258,7 +258,7 @@ const columns = computed(() => [
component: 'checkbox', component: 'checkbox',
}, },
{ {
label: t('item.list.producer'), label: t('globals.producer'),
name: 'producer', name: 'producer',
align: 'left', align: 'left',
component: 'select', component: 'select',
@ -275,7 +275,7 @@ const columns = computed(() => [
}, },
}, },
{ {
label: t('item.list.landed'), label: t('globals.landed'),
name: 'landed', name: 'landed',
align: 'left', align: 'left',
component: 'date', component: 'date',

View File

@ -40,7 +40,7 @@ watch(
const columns = computed(() => [ const columns = computed(() => [
{ {
label: t('item.buyRequest.ticketId'), label: t('globals.ticketId'),
name: 'ticketFk', name: 'ticketFk',
align: 'left', align: 'left',
isId: true, isId: true,
@ -50,7 +50,7 @@ const columns = computed(() => [
cardVisible: true, cardVisible: true,
}, },
{ {
label: t('item.buyRequest.shipped'), label: t('globals.shipped'),
name: 'shipped', name: 'shipped',
align: 'left', align: 'left',
component: 'date', component: 'date',
@ -90,7 +90,7 @@ const columns = computed(() => [
columnClass: 'shrink', columnClass: 'shrink',
}, },
{ {
label: t('item.buyRequest.price'), label: t('globals.price'),
name: 'price', name: 'price',
align: 'left', align: 'left',
format: (row) => toCurrency(row.price), format: (row) => toCurrency(row.price),
@ -115,7 +115,7 @@ const columns = computed(() => [
columnClass: 'shrink', columnClass: 'shrink',
}, },
{ {
label: t('item.buyRequest.item'), label: t('globals.item'),
name: 'item', name: 'item',
align: 'left', align: 'left',
component: 'input', component: 'input',
@ -137,7 +137,7 @@ const columns = computed(() => [
columnClass: 'expand', columnClass: 'expand',
}, },
{ {
label: t('item.buyRequest.state'), label: t('globals.state'),
name: 'state', name: 'state',
format: (row) => getState(row.isOk), format: (row) => getState(row.isOk),
align: 'left', align: 'left',

View File

@ -10,11 +10,6 @@ shared:
fragile: Frágil fragile: Frágil
summary: summary:
id: id id: id
code: Código
name: Nombre
worker: Trabajador
category: Reino
temperature: Temperatura
life: Vida life: Vida
promo: Promoción promo: Promoción
itemPackingType: Tipo de embalaje itemPackingType: Tipo de embalaje

View File

@ -16,7 +16,6 @@ itemDiary:
date: Date date: Date
origin: Origin origin: Origin
state: State state: State
reference: Reference
entity: Entity entity: Entity
in: In in: In
out: Out out: Out
@ -48,22 +47,17 @@ itemBasicData:
createIntrastatForm: createIntrastatForm:
title: New intrastat title: New intrastat
identifier: Identifier identifier: Identifier
description: Description
tax: tax:
country: Country country: Country
class: Class class: Class
lastEntries: lastEntries:
since: Since
to: To to: To
ig: Ig ig: Ig
warehouse: Warehouse
landed: Landed landed: Landed
entry: Entry entry: Entry
pvp: PVP pvp: PVP
label: Label label: Label
packing: Packing
grouping: Grouping grouping: Grouping
stems: Stems
quantity: Quantity quantity: Quantity
cost: Cost cost: Cost
kg: Kg. kg: Kg.
@ -77,7 +71,6 @@ itemTags:
addTag: Add tag addTag: Add tag
tag: Tag tag: Tag
value: Value value: Value
relevancy: Relevancy
searchbar: searchbar:
label: Search item label: Search item
info: Search by item id info: Search by item id

View File

@ -16,7 +16,6 @@ itemDiary:
date: Fecha date: Fecha
origin: Origen origin: Origen
state: Estado state: Estado
reference: Referencia
entity: Entidad entity: Entidad
in: Entrada in: Entrada
out: Salida out: Salida
@ -48,22 +47,17 @@ itemBasicData:
createIntrastatForm: createIntrastatForm:
title: Nuevo intrastat title: Nuevo intrastat
identifier: Identificador identifier: Identificador
description: Descripción
tax: tax:
country: País country: País
class: Clase class: Clase
lastEntries: lastEntries:
since: Desde
to: Hasta to: Hasta
ig: Ig ig: Ig
warehouse: Almacén
landed: F. Entrega landed: F. Entrega
entry: Entrada entry: Entrada
pvp: PVP pvp: PVP
label: Etiquetas label: Etiquetas
packing: Packing
grouping: Grouping grouping: Grouping
stems: Tallos
quantity: Cantidad quantity: Cantidad
cost: Coste cost: Coste
kg: Kg. kg: Kg.
@ -77,7 +71,6 @@ itemTags:
addTag: Añadir etiqueta addTag: Añadir etiqueta
tag: Etiqueta tag: Etiqueta
value: Valor value: Valor
relevancy: Relevancia
searchbar: searchbar:
label: Buscar artículo label: Buscar artículo
info: Buscar por id de artículo info: Buscar por id de artículo

View File

@ -44,7 +44,7 @@ const columns = computed(() => [
format: (row) => toDateTimeFormat(row.date_make), format: (row) => toDateTimeFormat(row.date_make),
}, },
{ {
label: t('salesOrdersTable.client'), label: t('salesClientsTable.client'),
name: 'clientFk', name: 'clientFk',
align: 'left', align: 'left',
columnFilter: { columnFilter: {
@ -63,7 +63,7 @@ const columns = computed(() => [
columnFilter: false, columnFilter: false,
}, },
{ {
label: t('salesOrdersTable.salesPerson'), label: t('salesClientsTable.salesPerson'),
name: 'salesPersonFk', name: 'salesPersonFk',
align: 'left', align: 'left',
optionFilter: 'firstName', optionFilter: 'firstName',

View File

@ -77,7 +77,7 @@ const columns = computed(() => [
}, },
}, },
{ {
label: t('salesTicketsTable.client'), label: t('salesClientsTable.client'),
name: 'clientFk', name: 'clientFk',
align: 'left', align: 'left',
field: 'nickname', field: 'nickname',
@ -91,7 +91,7 @@ const columns = computed(() => [
}, },
}, },
{ {
label: t('salesTicketsTable.salesPerson'), label: t('salesClientsTable.salesPerson'),
name: 'salesPersonFk', name: 'salesPersonFk',
field: 'userName', field: 'userName',
align: 'left', align: 'left',
@ -108,7 +108,7 @@ const columns = computed(() => [
}, },
}, },
{ {
label: t('salesTicketsTable.date'), label: t('salesClientsTable.date'),
name: 'shippedDate', name: 'shippedDate',
align: 'left', align: 'left',
columnFilter: { columnFilter: {

View File

@ -13,8 +13,6 @@ salesOrdersTable:
delete: Delete delete: Delete
dateSend: Send date dateSend: Send date
dateMake: Make date dateMake: Make date
client: Client
salesPerson: Salesperson
deleteConfirmMessage: All the selected elements will be deleted. Are you sure you want to continue? deleteConfirmMessage: All the selected elements will be deleted. Are you sure you want to continue?
agency: Agency agency: Agency
import: Import import: Import
@ -29,9 +27,6 @@ salesTicketsTable:
componentLack: Component lack componentLack: Component lack
tooLittle: Ticket too little tooLittle: Ticket too little
identifier: Identifier identifier: Identifier
client: Client
salesPerson: Salesperson
date: Date
theoretical: Theoretical theoretical: Theoretical
practical: Practical practical: Practical
province: Province province: Province

View File

@ -13,8 +13,6 @@ salesOrdersTable:
delete: Eliminar delete: Eliminar
dateSend: Fecha de envío dateSend: Fecha de envío
dateMake: Fecha de realización dateMake: Fecha de realización
client: Cliente
salesPerson: Comercial
deleteConfirmMessage: Todos los elementos seleccionados serán eliminados. ¿Seguro que quieres continuar? deleteConfirmMessage: Todos los elementos seleccionados serán eliminados. ¿Seguro que quieres continuar?
agency: Agencia agency: Agencia
import: Importe import: Importe
@ -29,9 +27,6 @@ salesTicketsTable:
componentLack: Faltan componentes componentLack: Faltan componentes
tooLittle: Ticket demasiado pequeño tooLittle: Ticket demasiado pequeño
identifier: Identificador identifier: Identificador
client: Cliente
salesPerson: Comercial
date: Fecha
theoretical: Teórica theoretical: Teórica
practical: Práctica practical: Práctica
province: Provincia province: Provincia

View File

@ -162,7 +162,7 @@ const onClientChange = async (clientId) => {
<VnRow> <VnRow>
<VnInputDate <VnInputDate
placeholder="dd-mm-aaa" placeholder="dd-mm-aaa"
:label="t('order.form.landed')" :label="t('globals.landed')"
v-model="data.landed" v-model="data.landed"
@update:model-value=" @update:model-value="
() => fetchAgencyList(data.landed, data.addressFk) () => fetchAgencyList(data.landed, data.addressFk)

View File

@ -185,7 +185,7 @@ onMounted(async () => {
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<VnInputDate <VnInputDate
placeholder="dd-mm-aaa" placeholder="dd-mm-aaa"
:label="t('order.form.landed')" :label="t('globals.landed')"
v-model="data.landed" v-model="data.landed"
@update:model-value=" @update:model-value="
() => fetchAgencyList(data.landed, data.addressId) () => fetchAgencyList(data.landed, data.addressId)

View File

@ -67,7 +67,7 @@ const setData = (entity) => {
}; };
const getConfirmationValue = (isConfirmed) => { const getConfirmationValue = (isConfirmed) => {
return t(isConfirmed ? 'order.summary.confirmed' : 'order.summary.notConfirmed'); return t(isConfirmed ? 'globals.confirmed' : 'order.summary.notConfirmed');
}; };
const total = ref(null); const total = ref(null);
@ -94,7 +94,7 @@ const total = ref(null);
</template> </template>
<template #body="{ entity }"> <template #body="{ entity }">
<VnLv <VnLv
:label="t('order.summary.state')" :label="t('globals.state')"
:value="getConfirmationValue(entity.isConfirmed)" :value="getConfirmationValue(entity.isConfirmed)"
/> />
<VnLv :label="t('order.field.salesPersonFk')"> <VnLv :label="t('order.field.salesPersonFk')">
@ -105,9 +105,9 @@ const total = ref(null);
</span> </span>
</template> </template>
</VnLv> </VnLv>
<VnLv :label="t('order.summary.landed')" :value="toDate(entity?.landed)" /> <VnLv :label="t('globals.landed')" :value="toDate(entity?.landed)" />
<VnLv :label="t('order.field.agency')" :value="entity?.agencyMode?.name" /> <VnLv :label="t('globals.agency')" :value="entity?.agencyMode?.name" />
<VnLv :label="t('order.summary.alias')" :value="entity?.address?.nickname" /> <VnLv :label="t('globals.alias')" :value="entity?.address?.nickname" />
<VnLv <VnLv
:label="t('order.summary.items')" :label="t('order.summary.items')"
:value="(entity?.rows?.length || DEFAULT_ITEMS).toString()" :value="(entity?.rows?.length || DEFAULT_ITEMS).toString()"

View File

@ -30,7 +30,7 @@ const descriptorData = useArrayData('orderData');
const detailsColumns = ref([ const detailsColumns = ref([
{ {
name: 'item', name: 'item',
label: t('order.summary.item'), label: t('globals.item'),
field: (row) => row?.item?.id, field: (row) => row?.item?.id,
sortable: true, sortable: true,
}, },
@ -41,12 +41,12 @@ const detailsColumns = ref([
}, },
{ {
name: 'quantity', name: 'quantity',
label: t('order.summary.quantity'), label: t('globals.quantity'),
field: (row) => row?.quantity, field: (row) => row?.quantity,
}, },
{ {
name: 'price', name: 'price',
label: t('order.summary.price'), label: t('globals.price'),
field: (row) => toCurrency(row?.price), field: (row) => toCurrency(row?.price),
}, },
{ {
@ -98,7 +98,7 @@ async function handleConfirm() {
:text="t('globals.pageTitles.basicData')" :text="t('globals.pageTitles.basicData')"
/> />
<VnLv label="ID" :value="entity.id" /> <VnLv label="ID" :value="entity.id" />
<VnLv :label="t('order.summary.nickname')" dash> <VnLv :label="t('globals.alias')" dash>
<template #value> <template #value>
<span class="link"> <span class="link">
{{ dashIfEmpty(entity?.address?.nickname) }} {{ dashIfEmpty(entity?.address?.nickname) }}
@ -107,11 +107,11 @@ async function handleConfirm() {
</template> </template>
</VnLv> </VnLv>
<VnLv <VnLv
:label="t('order.summary.company')" :label="t('globals.company')"
:value="entity?.address?.companyFk" :value="entity?.address?.companyFk"
/> />
<VnLv <VnLv
:label="t('order.summary.confirmed')" :label="t('globals.confirmed')"
:value="Boolean(entity?.isConfirmed)" :value="Boolean(entity?.isConfirmed)"
/> />
</QCard> </QCard>
@ -125,14 +125,14 @@ async function handleConfirm() {
:value="toDateHourMinSec(entity?.created)" :value="toDateHourMinSec(entity?.created)"
/> />
<VnLv <VnLv
:label="t('order.summary.confirmed')" :label="t('globals.confirmed')"
:value="toDateHourMinSec(entity?.confirmed)" :value="toDateHourMinSec(entity?.confirmed)"
/> />
<VnLv <VnLv
:label="t('order.summary.landed')" :label="t('globals.landed')"
:value="toDateHourMinSec(entity?.landed)" :value="toDateHourMinSec(entity?.landed)"
/> />
<VnLv :label="t('order.summary.phone')"> <VnLv :label="t('globals.phone')">
<template #value> <template #value>
{{ dashIfEmpty(entity?.address?.phone) }} {{ dashIfEmpty(entity?.address?.phone) }}
<a <a
@ -164,7 +164,7 @@ async function handleConfirm() {
<VnTitle :text="t('order.summary.total')" /> <VnTitle :text="t('order.summary.total')" />
<VnLv> <VnLv>
<template #label> <template #label>
<span class="text-h6">{{ t('order.summary.subtotal') }}</span> <span class="text-h6">{{ t('globals.subtotal') }}</span>
</template> </template>
<template #value> <template #value>
<span class="text-h6">{{ <span class="text-h6">{{
@ -174,7 +174,7 @@ async function handleConfirm() {
</VnLv> </VnLv>
<VnLv> <VnLv>
<template #label> <template #label>
<span class="text-h6">{{ t('order.summary.vat') }}</span> <span class="text-h6">{{ t('globals.vat') }}</span>
</template> </template>
<template #value> <template #value>
<span class="text-h6">{{ toCurrency(entity?.VAT) }}</span> <span class="text-h6">{{ toCurrency(entity?.VAT) }}</span>
@ -190,14 +190,14 @@ async function handleConfirm() {
</VnLv> </VnLv>
</QCard> </QCard>
<QCard> <QCard>
<VnTitle :text="t('order.summary.details')" /> <VnTitle :text="t('globals.details')" />
<QTable :columns="detailsColumns" :rows="entity?.rows" flat> <QTable :columns="detailsColumns" :rows="entity?.rows" flat>
<template #header="props"> <template #header="props">
<QTr :props="props"> <QTr :props="props">
<QTh auto-width>{{ t('order.summary.item') }}</QTh> <QTh auto-width>{{ t('globals.item') }}</QTh>
<QTh>{{ t('globals.description') }}</QTh> <QTh>{{ t('globals.description') }}</QTh>
<QTh auto-width>{{ t('order.summary.quantity') }}</QTh> <QTh auto-width>{{ t('globals.quantity') }}</QTh>
<QTh auto-width>{{ t('order.summary.price') }}</QTh> <QTh auto-width>{{ t('globals.price') }}</QTh>
<QTh auto-width>{{ t('order.summary.amount') }}</QTh> <QTh auto-width>{{ t('order.summary.amount') }}</QTh>
</QTr> </QTr>
</template> </template>

View File

@ -53,9 +53,9 @@ const setData = (entity) => (data.value = useCardDescription(entity.code, entity
@on-fetch="setData" @on-fetch="setData"
> >
<template #body="{ entity }"> <template #body="{ entity }">
<VnLv :label="t('shelving.summary.code')" :value="entity.code" /> <VnLv :label="t('globals.code')" :value="entity.code" />
<VnLv :label="t('shelving.summary.parking')" :value="entity.parking?.code" /> <VnLv :label="t('shelving.list.parking')" :value="entity.parking?.code" />
<VnLv v-if="entity.worker" :label="t('shelving.summary.worker')"> <VnLv v-if="entity.worker" :label="t('globals.worker')">
<template #value> <template #value>
<VnUserLink <VnUserLink
:name="entity.worker?.user?.nickname" :name="entity.worker?.user?.nickname"

View File

@ -58,7 +58,7 @@ const onSave = (shelving, newShelving) => {
<VnRow> <VnRow>
<VnInput <VnInput
v-model="data.code" v-model="data.code"
:label="t('shelving.basicData.code')" :label="t('globals.code')"
:rules="validate('Shelving.code')" :rules="validate('Shelving.code')"
/> />
<VnSelect <VnSelect
@ -68,7 +68,7 @@ const onSave = (shelving, newShelving) => {
option-label="code" option-label="code"
:filter-options="['id', 'code']" :filter-options="['id', 'code']"
:fields="['id', 'code']" :fields="['id', 'code']"
:label="t('shelving.basicData.parking')" :label="t('shelving.list.parking')"
:rules="validate('Shelving.parkingFk')" :rules="validate('Shelving.parkingFk')"
/> />
</VnRow> </VnRow>
@ -76,12 +76,12 @@ const onSave = (shelving, newShelving) => {
<VnInput <VnInput
v-model="data.priority" v-model="data.priority"
type="number" type="number"
:label="t('shelving.basicData.priority')" :label="t('shelving.list.priority')"
:rules="validate('Shelving.priority')" :rules="validate('Shelving.priority')"
/> />
<QCheckbox <QCheckbox
v-model="data.isRecyclable" v-model="data.isRecyclable"
:label="t('shelving.basicData.recyclable')" :label="t('shelving.summary.recyclable')"
:rules="validate('Shelving.isRecyclable')" :rules="validate('Shelving.isRecyclable')"
/> />
</VnRow> </VnRow>

View File

@ -54,16 +54,13 @@ const filter = {
{{ t('globals.pageTitles.basicData') }} {{ t('globals.pageTitles.basicData') }}
<QIcon name="open_in_new" /> <QIcon name="open_in_new" />
</RouterLink> </RouterLink>
<VnLv :label="t('shelving.summary.code')" :value="entity.code" /> <VnLv :label="t('globals.code')" :value="entity.code" />
<VnLv <VnLv
:label="t('shelving.summary.parking')" :label="t('shelving.list.parking')"
:value="entity.parking?.code" :value="entity.parking?.code"
/> />
<VnLv <VnLv :label="t('shelving.list.priority')" :value="entity.priority" />
:label="t('shelving.summary.priority')" <VnLv v-if="entity.worker" :label="t('globals.worker')">
:value="entity.priority"
/>
<VnLv v-if="entity.worker" :label="t('shelving.summary.worker')">
<template #value> <template #value>
<VnUserLink <VnUserLink
:name="entity.worker?.user?.nickname" :name="entity.worker?.user?.nickname"

View File

@ -69,16 +69,13 @@ const redirectToUpdateView = (addressData) => {
@click="redirectToUpdateView(row)" @click="redirectToUpdateView(row)"
> >
<template #list-items> <template #list-items>
<VnLv :label="t('globals.street')" :value="row.street" />
<VnLv <VnLv
:label="t('supplier.addresses.street')" :label="t('globals.postcode')"
:value="row.street"
/>
<VnLv
:label="t('supplier.addresses.postcode')"
:value="`${row.postalCode} - ${row.city}, ${row.province.name}`" :value="`${row.postalCode} - ${row.city}, ${row.province.name}`"
/> />
<VnLv <VnLv
:label="t('supplier.addresses.phone')" :label="t('globals.phone')"
:value="`${row.phone}, ${row.mobile}`" :value="`${row.phone}, ${row.mobile}`"
/> />
</template> </template>

View File

@ -72,14 +72,8 @@ function handleLocation(data, location) {
> >
<template #form="{ data, validate }"> <template #form="{ data, validate }">
<VnRow> <VnRow>
<VnInput <VnInput v-model="data.nickname" :label="t('globals.name')" />
v-model="data.nickname" <VnInput v-model="data.street" :label="t('globals.street')" />
:label="t('supplier.addresses.name')"
/>
<VnInput
v-model="data.street"
:label="t('supplier.addresses.street')"
/>
</VnRow> </VnRow>
<VnRow> <VnRow>
<VnLocation <VnLocation
@ -101,14 +95,8 @@ function handleLocation(data, location) {
</VnLocation> </VnLocation>
</VnRow> </VnRow>
<VnRow> <VnRow>
<VnInput <VnInput v-model="data.phone" :label="t('globals.phone')" />
v-model="data.phone" <VnInput v-model="data.mobile" :label="t('globals.mobile')" />
:label="t('supplier.addresses.phone')"
/>
<VnInput
v-model="data.mobile"
:label="t('supplier.addresses.mobile')"
/>
</VnRow> </VnRow>
</template> </template>
</FormModel> </FormModel>

View File

@ -26,7 +26,7 @@ const companySizes = [
<VnRow> <VnRow>
<VnInput <VnInput
v-model="data.nickname" v-model="data.nickname"
:label="t('supplier.basicData.alias')" :label="t('globals.alias')"
:rules="validate('supplier.nickname')" :rules="validate('supplier.nickname')"
clearable clearable
/> />

View File

@ -58,7 +58,7 @@ const formatPayDems = (data) => {
</VnRow> </VnRow>
<VnRow> <VnRow>
<QInput <QInput
:label="t('supplier.billingData.payDay')" :label="t('supplier.summary.payDay')"
type="number" type="number"
v-model="data.payDay" v-model="data.payDay"
/> />

View File

@ -190,13 +190,11 @@ onMounted(async () => {
<span>{{ row.id }}</span> <span>{{ row.id }}</span>
</QTd> </QTd>
<QTd no-hover> <QTd no-hover>
<span class="label">{{ t('supplier.consumption.date') }}: </span> <span class="label">{{ t('globals.date') }}: </span>
<span>{{ toDate(row.shipped) }}</span></QTd <span>{{ toDate(row.shipped) }}</span></QTd
> >
<QTd colspan="6" no-hover> <QTd colspan="6" no-hover>
<span class="label" <span class="label">{{ t('globals.reference') }}: </span>
>{{ t('supplier.consumption.reference') }}:
</span>
<span>{{ row.invoiceNumber }}</span> <span>{{ row.invoiceNumber }}</span>
</QTd> </QTd>
</QTr> </QTr>

View File

@ -44,21 +44,12 @@ const insertRow = () => {
<VnRow class="row q-gutter-md"> <VnRow class="row q-gutter-md">
<VnInput <VnInput
input-name-focusable input-name-focusable
:label="t('supplier.contacts.name')" :label="t('globals.name')"
v-model="row.name" v-model="row.name"
/> />
<VnInput <VnInput :label="t('globals.phone')" v-model="row.phone" />
:label="t('supplier.contacts.phone')" <VnInput :label="t('globals.mobile')" v-model="row.mobile" />
v-model="row.phone" <VnInput :label="t('globals.params.email')" v-model="row.email" />
/>
<VnInput
:label="t('supplier.contacts.mobile')"
v-model="row.mobile"
/>
<VnInput
:label="t('supplier.contacts.email')"
v-model="row.email"
/>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md"> <VnRow class="row q-gutter-md">
<QInput <QInput

View File

@ -116,7 +116,7 @@ const getEntryQueryParams = (supplier) => {
<VnLv :label="t('supplier.summary.taxNumber')" :value="entity.nif" /> <VnLv :label="t('supplier.summary.taxNumber')" :value="entity.nif" />
<VnLv label="Alias" :value="entity.nickname" /> <VnLv label="Alias" :value="entity.nickname" />
<VnLv <VnLv
:label="t('supplier.summary.payMethod')" :label="t('supplier.list.payMethod')"
:value="entity?.payMethod?.name" :value="entity?.payMethod?.name"
/> />
<VnLv <VnLv

View File

@ -147,16 +147,12 @@ function handleLocation(data, location) {
/> />
<VnInput <VnInput
v-model="data.healthRegister" v-model="data.healthRegister"
:label="t('supplier.fiscalData.healthRegister')" :label="t('supplier.summary.healthRegister')"
clearable clearable
/> />
</VnRow> </VnRow>
<VnRow> <VnRow>
<VnInput <VnInput v-model="data.street" :label="t('globals.street')" clearable />
v-model="data.street"
:label="t('supplier.fiscalData.street')"
clearable
/>
</VnRow> </VnRow>
<VnRow> <VnRow>
<VnLocation <VnLocation

View File

@ -60,7 +60,7 @@ const getUrl = (section) => `#/supplier/${entityId.value}/${section}`;
/> />
</template> </template>
</VnLv> </VnLv>
<VnLv :label="t('supplier.summary.notes')" class="q-mb-xs"> <VnLv :label="t('globals.notes')" class="q-mb-xs">
<template #value> <template #value>
<span> {{ dashIfEmpty(supplier.note) }} </span> <span> {{ dashIfEmpty(supplier.note) }} </span>
</template> </template>
@ -98,7 +98,7 @@ const getUrl = (section) => `#/supplier/${entityId.value}/${section}`;
:text="t('supplier.summary.billingData')" :text="t('supplier.summary.billingData')"
/> />
<VnLv <VnLv
:label="t('supplier.summary.payMethod')" :label="t('supplier.list.payMethod')"
:value="supplier.payMethod?.name" :value="supplier.payMethod?.name"
dash dash
/> />
@ -147,19 +147,16 @@ const getUrl = (section) => `#/supplier/${entityId.value}/${section}`;
/> />
<VnLv :label="t('supplier.summary.socialName')" :value="supplier.name" /> <VnLv :label="t('supplier.summary.socialName')" :value="supplier.name" />
<VnLv :label="t('supplier.summary.taxNumber')" :value="supplier.nif" /> <VnLv :label="t('supplier.summary.taxNumber')" :value="supplier.nif" />
<VnLv :label="t('supplier.summary.street')" :value="supplier.street" /> <VnLv :label="t('globals.street')" :value="supplier.street" />
<VnLv :label="t('supplier.summary.city')" :value="supplier.city" /> <VnLv :label="t('supplier.summary.city')" :value="supplier.city" />
<VnLv <VnLv :label="t('globals.postCode')" :value="supplier.postCode" />
:label="t('supplier.summary.postCode')"
:value="supplier.postCode"
/>
<VnLv <VnLv
:label="t('supplier.summary.province')" :label="t('supplier.summary.province')"
:value="supplier.province?.name" :value="supplier.province?.name"
dash dash
/> />
<VnLv <VnLv
:label="t('supplier.summary.country')" :label="t('globals.country')"
:value="supplier.country?.name" :value="supplier.country?.name"
dash dash
/> />

View File

@ -12,13 +12,13 @@ const tableRef = ref();
const columns = computed(() => [ const columns = computed(() => [
{ {
align: 'left', align: 'left',
label: t('supplier.list.tableVisibleColumns.id'), label: t('globals.id'),
name: 'id', name: 'id',
isTitle: true, isTitle: true,
}, },
{ {
align: 'left', align: 'left',
label: t('supplier.list.tableVisibleColumns.name'), label: t('globals.name'),
name: 'socialName', name: 'socialName',
create: true, create: true,
columnFilter: { columnFilter: {
@ -35,7 +35,7 @@ const columns = computed(() => [
}, },
{ {
align: 'left', align: 'left',
label: t('supplier.list.tableVisibleColumns.nickname'), label: t('globals.alias'),
name: 'alias', name: 'alias',
columnFilter: { columnFilter: {
name: 'search', name: 'search',
@ -51,7 +51,7 @@ const columns = computed(() => [
}, },
{ {
align: 'left', align: 'left',
label: t('supplier.list.tableVisibleColumns.payMethod'), label: t('supplier.list.payMethod'),
name: 'payMethod', name: 'payMethod',
columnFilter: { columnFilter: {
inWhere: true, inWhere: true,
@ -70,7 +70,7 @@ const columns = computed(() => [
}, },
{ {
align: 'left', align: 'left',
label: t('supplier.list.tableVisibleColumns.payDay'), label: t('supplier.summary.payDay'),
name: 'payDay', name: 'payDay',
columnFilter: { columnFilter: {
inWhere: true, inWhere: true,
@ -79,7 +79,7 @@ const columns = computed(() => [
}, },
{ {
align: 'left', align: 'left',
label: t('supplier.list.tableVisibleColumns.country'), label: t('globals.country'),
name: 'country', name: 'country',
columnFilter: { columnFilter: {
component: 'select', component: 'select',

View File

@ -299,7 +299,7 @@ async function getZone(options) {
<QForm> <QForm>
<VnRow> <VnRow>
<VnSelect <VnSelect
:label="t('basicData.client')" :label="t('ticketList.client')"
v-model="clientId" v-model="clientId"
option-value="id" option-value="id"
option-label="name" option-label="name"
@ -322,7 +322,7 @@ async function getZone(options) {
</template> </template>
</VnSelect> </VnSelect>
<VnSelect <VnSelect
:label="t('basicData.warehouse')" :label="t('ticketList.warehouse')"
v-model="warehouseId" v-model="warehouseId"
option-value="id" option-value="id"
option-label="name" option-label="name"
@ -330,7 +330,7 @@ async function getZone(options) {
hide-selected hide-selected
map-options map-options
:required="true" :required="true"
:rules="validate('basicData.warehouse')" :rules="validate('ticketList.warehouse')"
/> />
</VnRow> </VnRow>
<VnRow> <VnRow>
@ -396,7 +396,7 @@ async function getZone(options) {
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md no-wrap"> <VnRow class="row q-gutter-md q-mb-md no-wrap">
<VnSelect <VnSelect
:label="t('basicData.company')" :label="t('ticketList.company')"
v-model="formData.companyFk" v-model="formData.companyFk"
option-value="id" option-value="id"
option-label="code" option-label="code"
@ -404,7 +404,7 @@ async function getZone(options) {
hide-selected hide-selected
map-options map-options
:required="true" :required="true"
:rules="validate('basicData.company')" :rules="validate('ticketList.company')"
/> />
<VnSelect <VnSelect
:label="t('basicData.agency')" :label="t('basicData.agency')"
@ -419,7 +419,7 @@ async function getZone(options) {
/> />
<VnSelect <VnSelect
ref="zoneSelectRef" ref="zoneSelectRef"
:label="t('basicData.zone')" :label="t('ticketList.zone')"
v-model="zoneId" v-model="zoneId"
option-value="id" option-value="id"
option-label="name" option-label="name"
@ -427,7 +427,7 @@ async function getZone(options) {
:fields="['id', 'name']" :fields="['id', 'name']"
sort-by="id" sort-by="id"
:where="zoneWhere" :where="zoneWhere"
:rules="validate('basicData.zone')" :rules="validate('ticketList.zone')"
:required="true" :required="true"
:disable="!canEditZone" :disable="!canEditZone"
@update:options="getZone" @update:options="getZone"
@ -447,10 +447,10 @@ async function getZone(options) {
</VnRow> </VnRow>
<VnRow> <VnRow>
<VnInputDate <VnInputDate
:label="t('basicData.shipped')" :label="t('ticketList.shipped')"
v-model="formData.shipped" v-model="formData.shipped"
:required="true" :required="true"
:rules="validate('basicData.shipped')" :rules="validate('ticketList.shipped')"
/> />
<VnInputTime <VnInputTime
:label="t('basicData.shippedHour')" :label="t('basicData.shippedHour')"

View File

@ -60,7 +60,7 @@ const createTicket = async () => {
<template #form-inputs="{ data }"> <template #form-inputs="{ data }">
<VnRow> <VnRow>
<VnInputDate <VnInputDate
:label="t('expedition.landed')" :label="t('basicData.landed')"
v-model="data.landed" v-model="data.landed"
:model-value="date" :model-value="date"
/> />

View File

@ -136,13 +136,13 @@ async function getVideoList(expeditionId, timed) {
<QItemLabel class="text-h6">#{{ expedition.id }}</QItemLabel> <QItemLabel class="text-h6">#{{ expedition.id }}</QItemLabel>
</QItemSection> </QItemSection>
<QItemSection> <QItemSection>
<QItemLabel caption>{{ t('ticket.boxing.created') }}</QItemLabel> <QItemLabel caption>{{ t('globals.created') }}</QItemLabel>
<QItemLabel> <QItemLabel>
{{ {{
date.formatDate(expedition.created, 'YYYY-MM-DD HH:mm:ss') date.formatDate(expedition.created, 'YYYY-MM-DD HH:mm:ss')
}} }}
</QItemLabel> </QItemLabel>
<QItemLabel caption>{{ t('ticket.boxing.item') }}</QItemLabel> <QItemLabel caption>{{ t('globals.item') }}</QItemLabel>
<QItemLabel>{{ expedition.packagingItemFk }}</QItemLabel> <QItemLabel>{{ expedition.packagingItemFk }}</QItemLabel>
<QItemLabel caption>{{ t('ticket.boxing.worker') }}</QItemLabel> <QItemLabel caption>{{ t('ticket.boxing.worker') }}</QItemLabel>
<QItemLabel>{{ expedition.userName }}</QItemLabel> <QItemLabel>{{ expedition.userName }}</QItemLabel>

View File

@ -72,7 +72,7 @@ const salesFilter = computed(() => ({
const columns = computed(() => [ const columns = computed(() => [
{ {
label: t('ticketComponents.item'), label: t('basicData.item'),
name: 'item', name: 'item',
align: 'left', align: 'left',
}, },
@ -92,13 +92,13 @@ const columns = computed(() => [
columnFilter: false, columnFilter: false,
}, },
{ {
label: t('ticketComponents.description'), label: t('basicData.description'),
name: 'description', name: 'description',
align: 'left', align: 'left',
columnClass: 'expand', columnClass: 'expand',
}, },
{ {
label: t('ticketComponents.quantity'), label: t('basicData.quantity'),
name: 'quantity', name: 'quantity',
field: 'quantity', field: 'quantity',
align: 'left', align: 'left',
@ -116,12 +116,12 @@ const columns = computed(() => [
align: 'left', align: 'left',
}, },
{ {
label: t('ticketComponents.import'), label: t('advanceTickets.import'),
name: 'import', name: 'import',
align: 'left', align: 'left',
}, },
{ {
label: t('ticketComponents.total'), label: t('basicData.total'),
name: 'total', name: 'total',
align: 'left', align: 'left',
}, },
@ -184,7 +184,7 @@ onUnmounted(() => (stateStore.rightDrawer = false));
<QCard class="q-pa-sm color-vn-text" bordered flat style="border-color: black"> <QCard class="q-pa-sm color-vn-text" bordered flat style="border-color: black">
<QCardSection horizontal> <QCardSection horizontal>
<span class="text-weight-bold text-subtitle1 text-center full-width"> <span class="text-weight-bold text-subtitle1 text-center full-width">
{{ t('ticketComponents.total') }} {{ t('basicData.total') }}
</span> </span>
</QCardSection> </QCardSection>
<QCardSection horizontal> <QCardSection horizontal>
@ -226,9 +226,7 @@ onUnmounted(() => (stateStore.rightDrawer = false));
</span> </span>
</QCardSection> </QCardSection>
<QCardSection horizontal> <QCardSection horizontal>
<span class="q-mr-xs color-vn-label"> <span class="q-mr-xs color-vn-label"> {{ t('basicData.price') }}: </span>
{{ t('ticketComponents.price') }}:
</span>
<span>{{ toCurrency(ticketData?.zonePrice, 'EUR', 2) }}</span> <span>{{ toCurrency(ticketData?.zonePrice, 'EUR', 2) }}</span>
</QCardSection> </QCardSection>
<QCardSection horizontal> <QCardSection horizontal>
@ -238,18 +236,14 @@ onUnmounted(() => (stateStore.rightDrawer = false));
<span>{{ toCurrency(ticketData?.zoneBonus, 'EUR', 2) }}</span> <span>{{ toCurrency(ticketData?.zoneBonus, 'EUR', 2) }}</span>
</QCardSection> </QCardSection>
<QCardSection horizontal> <QCardSection horizontal>
<span class="q-mr-xs color-vn-label"> <span class="q-mr-xs color-vn-label"> {{ t('ticketList.zone') }}: </span>
{{ t('ticketComponents.zone') }}:
</span>
<span class="link"> <span class="link">
{{ dashIfEmpty(ticketData?.zone?.name) }} {{ dashIfEmpty(ticketData?.zone?.name) }}
<ZoneDescriptorProxy :id="ticketData?.zone?.id" /> <ZoneDescriptorProxy :id="ticketData?.zone?.id" />
</span> </span>
</QCardSection> </QCardSection>
<QCardSection v-if="ticketData?.zone?.isVolumetric" horizontal> <QCardSection v-if="ticketData?.zone?.isVolumetric" horizontal>
<span class="q-mr-xs color-vn-label"> <span class="q-mr-xs color-vn-label"> {{ t('volume.volume') }}: </span>
{{ t('ticketComponents.volume') }}:
</span>
<span>{{ ticketVolume }}</span> <span>{{ ticketVolume }}</span>
</QCardSection> </QCardSection>
<QCardSection horizontal> <QCardSection horizontal>

View File

@ -32,10 +32,7 @@ const attendersOptions = ref([]);
> >
<template #form-inputs="{ data }"> <template #form-inputs="{ data }">
<VnRow> <VnRow>
<VnInput <VnInput v-model="data.description" :label="t('basicData.description')" />
v-model="data.description"
:label="t('purchaseRequest.description')"
/>
<VnSelect <VnSelect
:label="t('purchaseRequest.atender')" :label="t('purchaseRequest.atender')"
v-model="data.attenderFk" v-model="data.attenderFk"
@ -48,13 +45,13 @@ const attendersOptions = ref([]);
<VnRow> <VnRow>
<VnInput <VnInput
v-model="data.quantity" v-model="data.quantity"
:label="t('purchaseRequest.quantity')" :label="t('basicData.quantity')"
type="number" type="number"
min="1" min="1"
/> />
<VnInput <VnInput
v-model="data.price" v-model="data.price"
:label="t('purchaseRequest.price')" :label="t('basicData.price')"
type="number" type="number"
step="0.01" step="0.01"
min="0" min="0"

View File

@ -34,7 +34,7 @@ onMounted(async () => {
<VnRow> <VnRow>
<VnInput <VnInput
ref="nameInputRef" ref="nameInputRef"
:label="t('service.description')" :label="t('basicData.description')"
v-model="data.name" v-model="data.name"
:required="true" :required="true"
/> />

View File

@ -39,7 +39,7 @@ const onStateFkChange = (formData) => (formData.userFk = user.value.id);
<VnRow> <VnRow>
<VnSelect <VnSelect
v-model="data.stateFk" v-model="data.stateFk"
:label="t('tracking.state')" :label="t('ticketList.state')"
:options="statesOptions" :options="statesOptions"
@update:model-value="onStateFkChange(data)" @update:model-value="onStateFkChange(data)"
hide-selected hide-selected
@ -47,7 +47,7 @@ const onStateFkChange = (formData) => (formData.userFk = user.value.id);
option-value="id" option-value="id"
/> />
<VnSelect <VnSelect
:label="t('tracking.worker')" :label="t('expedition.worker')"
v-model="data.userFk" v-model="data.userFk"
url="Workers/search" url="Workers/search"
fields=" ['id', 'name']" fields=" ['id', 'name']"

View File

@ -125,7 +125,7 @@ function ticketFilter(ticket) {
</span> </span>
</template> </template>
</VnLv> </VnLv>
<VnLv v-if="entity.ticketState" :label="t('ticket.card.state')"> <VnLv v-if="entity.ticketState" :label="t('globals.state')">
<template #value> <template #value>
<QBadge <QBadge
text-color="black" text-color="black"
@ -135,7 +135,7 @@ function ticketFilter(ticket) {
</QBadge> </QBadge>
</template> </template>
</VnLv> </VnLv>
<VnLv :label="t('ticket.summary.salesPerson')"> <VnLv :label="t('globals.salesPerson')">
<template #value> <template #value>
<VnUserLink <VnUserLink
:name="entity.client?.salesPersonUser?.name" :name="entity.client?.salesPersonUser?.name"
@ -144,16 +144,16 @@ function ticketFilter(ticket) {
</template> </template>
</VnLv> </VnLv>
<VnLv <VnLv
:label="t('ticket.card.shipped')" :label="t('globals.shipped')"
:value="toDateTimeFormat(entity.shipped)" :value="toDateTimeFormat(entity.shipped)"
/> />
<VnLv <VnLv
v-if="entity.agencyMode" v-if="entity.agencyMode"
:label="t('ticket.card.agency')" :label="t('globals.agency')"
:value="entity.agencyMode.name" :value="entity.agencyMode.name"
/> />
<VnLv :label="t('ticket.card.warehouse')" :value="entity.warehouse?.name" /> <VnLv :label="t('globals.warehouse')" :value="entity.warehouse?.name" />
<VnLv :label="t('ticket.card.alias')" :value="entity.nickname" /> <VnLv :label="t('globals.alias')" :value="entity.nickname" />
</template> </template>
<template #icons="{ entity }"> <template #icons="{ entity }">
<QCardActions class="q-gutter-x-xs"> <QCardActions class="q-gutter-x-xs">

View File

@ -57,7 +57,7 @@ const columns = computed(() => [
}, },
}, },
{ {
label: t('expedition.item'), label: t('basicData.item'),
name: 'packagingItemFk', name: 'packagingItemFk',
align: 'left', align: 'left',
cardVisible: true, cardVisible: true,
@ -107,7 +107,7 @@ const columns = computed(() => [
format: (row) => toDateTimeFormat(row.created), format: (row) => toDateTimeFormat(row.created),
}, },
{ {
label: t('expedition.state'), label: t('ticketList.state'),
name: 'state', name: 'state',
align: 'left', align: 'left',
cardVisible: true, cardVisible: true,
@ -129,7 +129,7 @@ const columns = computed(() => [
const logTableColumns = computed(() => [ const logTableColumns = computed(() => [
{ {
label: t('expedition.state'), label: t('ticketList.state'),
name: 'state', name: 'state',
field: 'state', field: 'state',
align: 'center', align: 'center',

View File

@ -88,7 +88,7 @@ async function handleSave() {
:disable="!!row.id" :disable="!!row.id"
/> />
<VnInput <VnInput
:label="t('ticketNotes.description')" :label="t('basicData.description')"
v-model="row.description" v-model="row.description"
class="col" class="col"
@keyup.enter="handleSave" @keyup.enter="handleSave"

View File

@ -93,7 +93,7 @@ watch(
</template> </template>
</VnSelect> </VnSelect>
<VnInput <VnInput
:label="t('package.quantity')" :label="t('basicData.quantity')"
v-model.number="row.quantity" v-model.number="row.quantity"
class="col" class="col"
type="number" type="number"

Some files were not shown because too many files have changed in this diff Show More