diff --git a/src/components/CreateBankEntityForm.vue b/src/components/CreateBankEntityForm.vue index 2d098beb0..4acc7b749 100644 --- a/src/components/CreateBankEntityForm.vue +++ b/src/components/CreateBankEntityForm.vue @@ -3,7 +3,7 @@ import { reactive, ref, onMounted, nextTick } from 'vue'; import { useI18n } from 'vue-i18n'; import VnInput from 'src/components/common/VnInput.vue'; -import VnSelectFilter from 'src/components/common/VnSelectFilter.vue'; +import VnSelect from 'src/components/common/VnSelect.vue'; import FetchData from 'components/FetchData.vue'; import VnRow from 'components/ui/VnRow.vue'; import FormModelPopup from './FormModelPopup.vue'; @@ -78,7 +78,7 @@ onMounted(async () => {
- {
- { - +
{{ t('Or') }}
- {
- { />
- { />
- {
- { />
- {
- {
- { />
- {
- { {{ ` ${rows.length} ` }} {{ t('buy(s)') }} - { />
- { />
- { />
- {

{{ t('Filter travels') }}

- { />
- { />
- diff --git a/src/components/RegularizeStockForm.vue b/src/components/RegularizeStockForm.vue index 28236be17..098f8464d 100644 --- a/src/components/RegularizeStockForm.vue +++ b/src/components/RegularizeStockForm.vue @@ -2,7 +2,7 @@ import { reactive, ref } from 'vue'; import { useI18n } from 'vue-i18n'; -import VnSelectFilter from 'src/components/common/VnSelectFilter.vue'; +import VnSelect from 'src/components/common/VnSelect.vue'; import FetchData from 'components/FetchData.vue'; import VnRow from 'components/ui/VnRow.vue'; import FormModelPopup from './FormModelPopup.vue'; @@ -54,12 +54,13 @@ const onDataSaved = (data) => {
- { - +
- {
- { - +
-
- - + > - - - - - - - - - + diff --git a/src/components/common/VnSelectFilter.vue b/src/components/common/VnSelect.vue similarity index 100% rename from src/components/common/VnSelectFilter.vue rename to src/components/common/VnSelect.vue diff --git a/src/components/common/VnSelectDialog.vue b/src/components/common/VnSelectDialog.vue index 95d6a44fe..3726691af 100644 --- a/src/components/common/VnSelectDialog.vue +++ b/src/components/common/VnSelectDialog.vue @@ -1,7 +1,7 @@ - - + { - + - [ align: 'left', sortable: true, columnFilter: { - component: VnSelectFilter, + component: VnSelect, filterParamKey: 'typeFk', type: 'select', filterValue: null, @@ -222,7 +222,7 @@ const columns = computed(() => [ align: 'left', sortable: true, columnFilter: { - component: VnSelectFilter, + component: VnSelect, type: 'select', filterValue: null, event: getInputEvents, @@ -242,7 +242,7 @@ const columns = computed(() => [ align: 'left', sortable: true, columnFilter: { - component: VnSelectFilter, + component: VnSelect, type: 'select', filterValue: null, event: getInputEvents, @@ -261,7 +261,7 @@ const columns = computed(() => [ align: 'left', sortable: true, columnFilter: { - component: VnSelectFilter, + component: VnSelect, type: 'select', filterValue: null, event: getInputEvents, @@ -280,7 +280,7 @@ const columns = computed(() => [ align: 'left', sortable: true, columnFilter: { - component: VnSelectFilter, + component: VnSelect, filterParamKey: 'buyerFk', type: 'select', filterValue: null, @@ -538,7 +538,7 @@ onUnmounted(() => (stateStore.rightDrawer = false)); size="sm" > - {{ t('Clone') }} + {{ t('globals.clone') }} diff --git a/src/pages/Item/ItemRequest.vue b/src/pages/Item/ItemRequest.vue new file mode 100644 index 000000000..1872ad859 --- /dev/null +++ b/src/pages/Item/ItemRequest.vue @@ -0,0 +1,360 @@ + + + + + +es: + Discard: Descartar + You can search by Id or alias: Buscar peticiones por identificador o alias + Denied: Denegada + Accepted: Aceptada + Pending: Pendiente + diff --git a/src/pages/Item/ItemRequestDenyForm.vue b/src/pages/Item/ItemRequestDenyForm.vue new file mode 100644 index 000000000..f26edb845 --- /dev/null +++ b/src/pages/Item/ItemRequestDenyForm.vue @@ -0,0 +1,57 @@ + + + + + +es: + Specify the reasons to deny this request: Especifica las razones para descartar la petición + diff --git a/src/pages/Item/ItemRequestFilter.vue b/src/pages/Item/ItemRequestFilter.vue new file mode 100644 index 000000000..8b0b34e62 --- /dev/null +++ b/src/pages/Item/ItemRequestFilter.vue @@ -0,0 +1,318 @@ + + + + + +en: + params: + search: General search + ticketFk: Ticket id + attenderFk: Atender + clientFk: Client id + warehouseFk: Warehouse + requesterFk: Salesperson + from: From + to: To + scopeDays: Days onward + mine: For me + state: State + dateFiltersTooltip: Cannot choose a range of dates and days onward at the same time + denied: Denied + accepted: Accepted + pending: Pending + +es: + params: + search: Búsqueda general + ticketFk: Id ticket + attenderFk: Comprador + clientFk: Id cliente + warehouseFk: Almacén + requesterFk: Comercial + from: Desde + to: Hasta + scopeDays: Días adelante + mine: Para mi + state: Estado + dateFiltersTooltip: No se puede seleccionar un rango de fechas y días en adelante a la vez + denied: Denegada + accepted: Aceptada + pending: Pendiente + diff --git a/src/pages/Order/Card/OrderCatalogFilter.vue b/src/pages/Order/Card/OrderCatalogFilter.vue index 402df1173..04748a8c8 100644 --- a/src/pages/Order/Card/OrderCatalogFilter.vue +++ b/src/pages/Order/Card/OrderCatalogFilter.vue @@ -7,7 +7,7 @@ import axios from 'axios'; import VnInput from 'components/common/VnInput.vue'; import FetchData from 'components/FetchData.vue'; import VnFilterPanel from 'src/components/ui/VnFilterPanel.vue'; -import VnSelectFilter from 'components/common/VnSelectFilter.vue'; +import VnSelect from 'components/common/VnSelect.vue'; import VnFilterPanelChip from 'components/ui/VnFilterPanelChip.vue'; const { t } = useI18n(); @@ -238,7 +238,7 @@ const getCategoryClass = (category, params) => { - { - + - { - { - { is-outlined class="filter-input" /> - - - - + @@ -160,7 +160,7 @@ const sourceList = ref(null); -
- - +
- - +
@@ -208,7 +208,7 @@ const orderFilter = {
- - +
diff --git a/src/pages/Parking/Card/ParkingBasicData.vue b/src/pages/Parking/Card/ParkingBasicData.vue index b03b7be7c..c1a9dcee8 100644 --- a/src/pages/Parking/Card/ParkingBasicData.vue +++ b/src/pages/Parking/Card/ParkingBasicData.vue @@ -6,7 +6,7 @@ import VnRow from 'components/ui/VnRow.vue'; import FetchData from 'src/components/FetchData.vue'; import VnInput from 'src/components/common/VnInput.vue'; import FormModel from 'components/FormModel.vue'; -import VnSelectFilter from 'src/components/common/VnSelectFilter.vue'; +import VnSelect from 'src/components/common/VnSelect.vue'; const { t } = useI18n(); const route = useRoute(); @@ -38,7 +38,7 @@ const filter = {
- - { - { - { - { - + @@ -192,7 +196,11 @@ const exprBuilder = (param, value) => { - + diff --git a/src/pages/Route/Card/RouteFilter.vue b/src/pages/Route/Card/RouteFilter.vue index bbd71df49..050e7c71d 100644 --- a/src/pages/Route/Card/RouteFilter.vue +++ b/src/pages/Route/Card/RouteFilter.vue @@ -3,7 +3,7 @@ import { ref } from 'vue'; import { useI18n } from 'vue-i18n'; import FetchData from 'components/FetchData.vue'; import VnFilterPanel from 'components/ui/VnFilterPanel.vue'; -import VnSelectFilter from 'components/common/VnSelectFilter.vue'; +import VnSelect from 'components/common/VnSelect.vue'; import VnInputDate from 'components/common/VnInputDate.vue'; import VnInput from 'components/common/VnInput.vue'; @@ -63,7 +63,7 @@ const warehouseList = ref([]); - + - - - { - +
- {
- props.layout === 'dialog'); />
- {
- { - +
{ />
- +
diff --git a/src/pages/Route/Roadmap/RoadmapFilter.vue b/src/pages/Route/Roadmap/RoadmapFilter.vue index b3fb7bf34..04c5c9696 100644 --- a/src/pages/Route/Roadmap/RoadmapFilter.vue +++ b/src/pages/Route/Roadmap/RoadmapFilter.vue @@ -3,7 +3,7 @@ import { ref } from 'vue'; import { useI18n } from 'vue-i18n'; import FetchData from 'components/FetchData.vue'; import VnFilterPanel from 'components/ui/VnFilterPanel.vue'; -import VnSelectFilter from 'components/common/VnSelectFilter.vue'; +import VnSelect from 'components/common/VnSelect.vue'; import VnInputDate from 'components/common/VnInputDate.vue'; import VnInput from 'components/common/VnInput.vue'; @@ -90,7 +90,7 @@ const exprBuilder = (param, value) => { - { -
+ diff --git a/src/pages/Route/RouteList.vue b/src/pages/Route/RouteList.vue index 773b4f773..c0888a225 100644 --- a/src/pages/Route/RouteList.vue +++ b/src/pages/Route/RouteList.vue @@ -4,7 +4,7 @@ import { useStateStore } from 'stores/useStateStore'; import { useI18n } from 'vue-i18n'; import { computed, onMounted, onUnmounted, ref } from 'vue'; import { dashIfEmpty, toHour } from 'src/filters'; -import VnSelectFilter from 'components/common/VnSelectFilter.vue'; +import VnSelect from 'components/common/VnSelect.vue'; import FetchData from 'components/FetchData.vue'; import { useValidator } from 'composables/useValidator'; import VnInputDate from 'components/common/VnInputDate.vue'; @@ -213,7 +213,7 @@ const openTicketsDialog = (id) => { - {{ t('Clone') }} + {{ t('globals.clone') }} @@ -287,7 +287,7 @@ const openTicketsDialog = (id) => { > - + - +
@@ -197,7 +197,7 @@ const redirectToTicketList = (_, { id }) => {
- {
-
-
-
- { />
- {
- { />
- { - { - { - { - { - {
- {
- { />
- { - - + - - - - - + diff --git a/src/pages/Worker/Card/WorkerPda.vue b/src/pages/Worker/Card/WorkerPda.vue index ef8c3fe8e..5e7c89326 100644 --- a/src/pages/Worker/Card/WorkerPda.vue +++ b/src/pages/Worker/Card/WorkerPda.vue @@ -4,7 +4,7 @@ import { useRoute } from 'vue-router'; import { onMounted, ref, computed } from 'vue'; import FetchData from 'components/FetchData.vue'; import FormModel from 'components/FormModel.vue'; -import VnSelectFilter from 'src/components/common/VnSelectFilter.vue'; +import VnSelect from 'src/components/common/VnSelect.vue'; import useNotify from 'src/composables/useNotify.js'; import axios from 'axios'; import { useRole } from 'src/composables/useRole'; @@ -107,7 +107,7 @@ onMounted(async () => await fetchCurrentDeviceRef.value.fetch()); - await fetchCurrentDeviceRef.value.fetch()); - + diff --git a/src/pages/Worker/Card/WorkerTimeForm.vue b/src/pages/Worker/Card/WorkerTimeForm.vue index d6c893ad1..0a58a04ca 100644 --- a/src/pages/Worker/Card/WorkerTimeForm.vue +++ b/src/pages/Worker/Card/WorkerTimeForm.vue @@ -3,7 +3,7 @@ import { reactive, ref, computed, onBeforeMount } from 'vue'; import { useI18n } from 'vue-i18n'; import { useRoute } from 'vue-router'; -import VnSelectFilter from 'src/components/common/VnSelectFilter.vue'; +import VnSelect from 'src/components/common/VnSelect.vue'; import FormModelPopup from 'components/FormModelPopup.vue'; import VnInputTime from 'components/common/VnInputTime.vue'; @@ -84,7 +84,7 @@ onBeforeMount(() => { :required="true" :is-clearable="false" /> - {
- { />
- { - +
- import('src/pages/Item/ItemRequest.vue'), + }, ], }, { @@ -76,24 +94,6 @@ export default { }, component: () => import('src/pages/Item/Card/ItemSummary.vue'), }, - { - path: 'diary', - name: 'ItemDiary', - meta: { - title: 'diary', - icon: 'vn:transaction', - }, - component: () => import('src/pages/Item/Card/ItemDiary.vue'), - }, - { - path: 'tags', - name: 'ItemTags', - meta: { - title: 'Tags', - icon: 'vn:tags', - }, - component: () => import('src/pages/Item/Card/ItemTags.vue'), - }, { path: 'basic-data', name: 'ItemBasicData', @@ -103,6 +103,51 @@ export default { }, component: () => import('src/pages/Item/Card/ItemBasicData.vue'), }, + { + path: 'tags', + name: 'ItemTags', + meta: { + title: 'tags', + icon: 'vn:tags', + }, + component: () => import('src/pages/Item/Card/ItemTags.vue'), + }, + { + path: 'tax', + name: 'ItemTax', + meta: { + title: 'tax', + icon: 'vn:tax', + }, + component: () => import('src/pages/Item/Card/ItemTax.vue'), + }, + { + path: 'barcode', + name: 'ItemBarcode', + meta: { + title: 'barcode', + icon: 'vn:barcode', + }, + component: () => import('src/pages/Item/Card/ItemBarcode.vue'), + }, + { + path: 'diary', + name: 'ItemDiary', + meta: { + title: 'basicData', + icon: 'vn:settings', + }, + component: () => import('src/pages/Item/Card/ItemDiary.vue'), + }, + { + path: 'log', + name: 'ItemLog', + meta: { + title: 'log', + icon: 'history', + }, + component: () => import('src/pages/Item/Card/ItemLog.vue'), + }, { path: 'botanical', name: 'ItemBotanical', diff --git a/test/vitest/__tests__/pages/Claims/ClaimLinesImport.spec.js b/test/vitest/__tests__/pages/Claims/ClaimLinesImport.spec.js index 085118b14..d93c96132 100644 --- a/test/vitest/__tests__/pages/Claims/ClaimLinesImport.spec.js +++ b/test/vitest/__tests__/pages/Claims/ClaimLinesImport.spec.js @@ -5,7 +5,6 @@ import ClaimLinesImport from 'pages/Claim/Card/ClaimLinesImport.vue'; describe('ClaimLinesImport', () => { let vm; - beforeAll(() => { vm = createWrapper(ClaimLinesImport, { global: { @@ -13,7 +12,7 @@ describe('ClaimLinesImport', () => { mocks: { fetch: vi.fn(), }, - } + }, }).vm; }); @@ -26,25 +25,23 @@ describe('ClaimLinesImport', () => { vi.spyOn(axios, 'post').mockResolvedValue({ data: true }); vi.spyOn(vm.quasar, 'notify'); - vm.selected = [ - { id: 1, saleFk: 1, claimFk: 1, quantity: 10 } - ] + vm.selected = [{ id: 1, saleFk: 1, claimFk: 1 }]; - vm.route.params.id = 1 + vm.route.params.id = 1; await vm.importLines(); - const expectedData = [{ saleFk: 1, claimFk: 1, quantity: 10 }] + const expectedData = [{ saleFk: 1, claimFk: 1 }]; expect(axios.post).toHaveBeenCalledWith('ClaimBeginnings', expectedData, { - signal: expect.any(Object) - }) + signal: expect.any(Object), + }); expect(vm.quasar.notify).toHaveBeenCalledWith( expect.objectContaining({ message: 'Lines added to claim', - type: 'positive' + type: 'positive', }) ); - expect(vm.canceller).toEqual(null) + expect(vm.canceller).toEqual(null); }); }); });