#6321 - Negative ticket #158
|
@ -1,13 +0,0 @@
|
||||||
// src/boot/global-components.js
|
|
||||||
import { defineAsyncComponent } from 'vue';
|
|
||||||
|
|
||||||
const components = import.meta.glob('src/components/**/*.vue');
|
|
||||||
export default ({ app }) => {
|
|
||||||
for (const path in components) {
|
|
||||||
const componentName = path
|
|
||||||
.split('/')
|
|
||||||
.pop()
|
|
||||||
.replace(/\.\w+$/, '');
|
|
||||||
app.component(componentName, defineAsyncComponent(components[path]));
|
|
||||||
}
|
|
||||||
};
|
|
|
@ -11,7 +11,6 @@ import VnInputNumber from 'components/common/VnInputNumber.vue';
|
||||||
import VnInputDate from 'components/common/VnInputDate.vue';
|
import VnInputDate from 'components/common/VnInputDate.vue';
|
||||||
import VnInputTime from 'components/common/VnInputTime.vue';
|
import VnInputTime from 'components/common/VnInputTime.vue';
|
||||||
import VnComponent from 'components/common/VnComponent.vue';
|
import VnComponent from 'components/common/VnComponent.vue';
|
||||||
|
|
||||||
import VnUserLink from 'components/ui/VnUserLink.vue';
|
import VnUserLink from 'components/ui/VnUserLink.vue';
|
||||||
|
|
||||||
const model = defineModel(undefined, { required: true });
|
const model = defineModel(undefined, { required: true });
|
||||||
|
@ -129,7 +128,6 @@ const defaultComponents = {
|
||||||
icon: {
|
icon: {
|
||||||
component: markRaw(QIcon),
|
component: markRaw(QIcon),
|
||||||
},
|
},
|
||||||
|
|
||||||
userLink: {
|
userLink: {
|
||||||
component: markRaw(VnUserLink),
|
component: markRaw(VnUserLink),
|
||||||
},
|
},
|
||||||
|
|
|
@ -90,10 +90,7 @@ const manageDate = (date) => {
|
||||||
formattedDate.value = date;
|
formattedDate.value = date;
|
||||||
isPopupOpen.value = false;
|
isPopupOpen.value = false;
|
||||||
};
|
};
|
||||||
const handleEventColor = (date) => {
|
const handleEventColor = (date) => (date === Date.now() ? null : 'orange');
|
||||||
console.error(date);
|
|
||||||
return date === Date.now() ? null : 'orange';
|
|
||||||
};
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
|
|
@ -82,10 +82,6 @@ const $props = defineProps({
|
||||||
type: String,
|
type: String,
|
||||||
default: null,
|
default: null,
|
||||||
},
|
},
|
||||||
orderBy: {
|
|
||||||
type: String,
|
|
||||||
default: null,
|
|
||||||
},
|
|
||||||
limit: {
|
limit: {
|
||||||
type: [Number, String],
|
type: [Number, String],
|
||||||
default: '30',
|
default: '30',
|
||||||
|
|
|
@ -6,10 +6,6 @@ import { useArrayData } from 'composables/useArrayData';
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
append: {
|
|
||||||
type: Boolean,
|
|
||||||
default: true,
|
|
||||||
},
|
|
||||||
dataKey: {
|
dataKey: {
|
||||||
type: String,
|
type: String,
|
||||||
required: true,
|
required: true,
|
||||||
|
@ -219,7 +215,7 @@ defineExpose({
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div v-if="append" class="full-width">
|
<div class="full-width">
|
||||||
<div
|
<div
|
||||||
v-if="!store.data && !store.data?.length && !isLoading"
|
v-if="!store.data && !store.data?.length && !isLoading"
|
||||||
class="info-row q-pa-md text-center"
|
class="info-row q-pa-md text-center"
|
||||||
|
|
|
@ -1,14 +1,5 @@
|
||||||
<!-- src/components/StockValueDisplay.vue -->
|
|
||||||
<template>
|
|
||||||
<span :class="valueClass">
|
|
||||||
<QIcon :name="iconName" size="sm" class="value-icon" />
|
|
||||||
{{ formattedValue }}
|
|
||||||
</span>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { computed } from 'vue';
|
import { computed } from 'vue';
|
||||||
jgallego marked this conversation as resolved
Outdated
|
|||||||
import { useQuasar } from 'quasar';
|
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
value: {
|
value: {
|
||||||
|
@ -25,8 +16,14 @@ const iconName = computed(() =>
|
||||||
);
|
);
|
||||||
const formattedValue = computed(() => props.value);
|
const formattedValue = computed(() => props.value);
|
||||||
</script>
|
</script>
|
||||||
|
<template>
|
||||||
|
<span :class="valueClass">
|
||||||
|
<QIcon :name="iconName" size="sm" class="value-icon" />
|
||||||
|
{{ formattedValue }}
|
||||||
|
</span>
|
||||||
|
</template>
|
||||||
|
|
||||||
<style scoped>
|
<style lang="scss" scoped>
|
||||||
.positive {
|
.positive {
|
||||||
color: green;
|
color: green;
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,7 @@ const arrayDataStore = useArrayDataStore();
|
||||||
|
|
||||||
export function useArrayData(key, userOptions) {
|
export function useArrayData(key, userOptions) {
|
||||||
key ??= useRoute().meta.moduleName;
|
key ??= useRoute().meta.moduleName;
|
||||||
|
|
||||||
if (!key) throw new Error('ArrayData: A key is required to use this composable');
|
if (!key) throw new Error('ArrayData: A key is required to use this composable');
|
||||||
|
|
||||||
if (!arrayDataStore.get(key)) arrayDataStore.set(key);
|
if (!arrayDataStore.get(key)) arrayDataStore.set(key);
|
||||||
|
|
|
@ -231,15 +231,7 @@ input::-webkit-inner-spin-button {
|
||||||
mix-blend-mode: multiply;
|
mix-blend-mode: multiply;
|
||||||
}
|
}
|
||||||
|
|
||||||
.remove-bg {
|
|
||||||
filter: brightness(1.1);
|
|
||||||
mix-blend-mode: multiply;
|
|
||||||
}
|
|
||||||
|
|
||||||
.q-table__container {
|
.q-table__container {
|
||||||
/* ===== Scrollbar CSS ===== /
|
|
||||||
/ Firefox */
|
|
||||||
|
|
||||||
* {
|
* {
|
||||||
scrollbar-width: auto;
|
scrollbar-width: auto;
|
||||||
scrollbar-color: var(--vn-label-color) transparent;
|
scrollbar-color: var(--vn-label-color) transparent;
|
||||||
|
|
|
@ -68,12 +68,6 @@ const columns = computed(() => [
|
||||||
align: 'left',
|
align: 'left',
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
|
||||||
const formatOpt = (row, { model, options }, prop) => {
|
|
||||||
const obj = row[model];
|
|
||||||
const option = options.find(({ id }) => id == obj);
|
|
||||||
return option ? `${obj}:${option[prop]}` : '';
|
|
||||||
};
|
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<FetchData
|
<FetchData
|
||||||
|
|
|
@ -10,13 +10,14 @@ import { useRoute } from 'vue-router';
|
||||||
import VnTable from 'src/components/VnTable/VnTable.vue';
|
import VnTable from 'src/components/VnTable/VnTable.vue';
|
||||||
import TicketDescriptorProxy from '../Card/TicketDescriptorProxy.vue';
|
import TicketDescriptorProxy from '../Card/TicketDescriptorProxy.vue';
|
||||||
import VnInputNumber from 'src/components/common/VnInputNumber.vue';
|
import VnInputNumber from 'src/components/common/VnInputNumber.vue';
|
||||||
const selectedRows = ref([]);
|
|
||||||
const $props = defineProps({
|
const $props = defineProps({
|
||||||
filter: {
|
filter: {
|
||||||
type: Object,
|
type: Object,
|
||||||
default: () => ({}),
|
default: () => ({}),
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
watch(
|
watch(
|
||||||
() => $props.filter,
|
() => $props.filter,
|
||||||
(v) => {
|
(v) => {
|
||||||
|
@ -24,6 +25,7 @@ watch(
|
||||||
tableRef.value.reload(filterLack);
|
tableRef.value.reload(filterLack);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
const filterLack = ref({
|
const filterLack = ref({
|
||||||
include: [
|
include: [
|
||||||
{
|
{
|
||||||
|
@ -36,6 +38,8 @@ const filterLack = ref({
|
||||||
where: { alertLevel: 'FREE' },
|
where: { alertLevel: 'FREE' },
|
||||||
order: 'ts.alertLevelCODE ASC',
|
order: 'ts.alertLevelCODE ASC',
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const selectedRows = ref([]);
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
jsegarra marked this conversation as resolved
Outdated
jgallego
commented
imagino que sean minusculas el code imagino que sean minusculas el code
|
|||||||
const URL_KEY = 'Tickets/ItemLack';
|
const URL_KEY = 'Tickets/ItemLack';
|
||||||
const editableStates = ref([]);
|
const editableStates = ref([]);
|
||||||
|
|
Loading…
Reference in New Issue
Componente para usar dentro de la columna precio de ItemProposal