#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 VnInputTime from 'components/common/VnInputTime.vue';
|
||||
import VnComponent from 'components/common/VnComponent.vue';
|
||||
|
||||
import VnUserLink from 'components/ui/VnUserLink.vue';
|
||||
|
||||
const model = defineModel(undefined, { required: true });
|
||||
|
@ -129,7 +128,6 @@ const defaultComponents = {
|
|||
icon: {
|
||||
component: markRaw(QIcon),
|
||||
},
|
||||
|
||||
userLink: {
|
||||
component: markRaw(VnUserLink),
|
||||
},
|
||||
|
|
|
@ -90,10 +90,7 @@ const manageDate = (date) => {
|
|||
formattedDate.value = date;
|
||||
isPopupOpen.value = false;
|
||||
};
|
||||
const handleEventColor = (date) => {
|
||||
console.error(date);
|
||||
return date === Date.now() ? null : 'orange';
|
||||
};
|
||||
const handleEventColor = (date) => (date === Date.now() ? null : 'orange');
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
|
|
@ -82,10 +82,6 @@ const $props = defineProps({
|
|||
type: String,
|
||||
default: null,
|
||||
},
|
||||
orderBy: {
|
||||
type: String,
|
||||
default: null,
|
||||
},
|
||||
limit: {
|
||||
type: [Number, String],
|
||||
default: '30',
|
||||
|
|
|
@ -6,10 +6,6 @@ import { useArrayData } from 'composables/useArrayData';
|
|||
const { t } = useI18n();
|
||||
|
||||
const props = defineProps({
|
||||
append: {
|
||||
type: Boolean,
|
||||
default: true,
|
||||
},
|
||||
dataKey: {
|
||||
type: String,
|
||||
required: true,
|
||||
|
@ -219,7 +215,7 @@ defineExpose({
|
|||
</script>
|
||||
|
||||
<template>
|
||||
<div v-if="append" class="full-width">
|
||||
<div class="full-width">
|
||||
<div
|
||||
v-if="!store.data && !store.data?.length && !isLoading"
|
||||
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>
|
||||
import { computed } from 'vue';
|
||||
import { useQuasar } from 'quasar';
|
||||
|
||||
const props = defineProps({
|
||||
value: {
|
||||
|
@ -25,8 +16,14 @@ const iconName = computed(() =>
|
|||
);
|
||||
const formattedValue = computed(() => props.value);
|
||||
</script>
|
||||
<template>
|
||||
<span :class="valueClass">
|
||||
<QIcon :name="iconName" size="sm" class="value-icon" />
|
||||
{{ formattedValue }}
|
||||
</span>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
<style lang="scss" scoped>
|
||||
.positive {
|
||||
color: green;
|
||||
}
|
||||
|
|
|
@ -9,6 +9,7 @@ const arrayDataStore = useArrayDataStore();
|
|||
|
||||
export function useArrayData(key, userOptions) {
|
||||
key ??= useRoute().meta.moduleName;
|
||||
|
||||
if (!key) throw new Error('ArrayData: A key is required to use this composable');
|
||||
|
||||
if (!arrayDataStore.get(key)) arrayDataStore.set(key);
|
||||
|
|
|
@ -231,15 +231,7 @@ input::-webkit-inner-spin-button {
|
|||
mix-blend-mode: multiply;
|
||||
}
|
||||
|
||||
.remove-bg {
|
||||
filter: brightness(1.1);
|
||||
mix-blend-mode: multiply;
|
||||
}
|
||||
|
||||
.q-table__container {
|
||||
/* ===== Scrollbar CSS ===== /
|
||||
/ Firefox */
|
||||
|
||||
* {
|
||||
scrollbar-width: auto;
|
||||
scrollbar-color: var(--vn-label-color) transparent;
|
||||
|
|
|
@ -68,12 +68,6 @@ const columns = computed(() => [
|
|||
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>
|
||||
<template>
|
||||
<FetchData
|
||||
|
|
|
@ -10,13 +10,14 @@ import { useRoute } from 'vue-router';
|
|||
import VnTable from 'src/components/VnTable/VnTable.vue';
|
||||
import TicketDescriptorProxy from '../Card/TicketDescriptorProxy.vue';
|
||||
import VnInputNumber from 'src/components/common/VnInputNumber.vue';
|
||||
const selectedRows = ref([]);
|
||||
|
||||
const $props = defineProps({
|
||||
filter: {
|
||||
type: Object,
|
||||
default: () => ({}),
|
||||
},
|
||||
});
|
||||
|
||||
watch(
|
||||
() => $props.filter,
|
||||
(v) => {
|
||||
|
@ -24,6 +25,7 @@ watch(
|
|||
tableRef.value.reload(filterLack);
|
||||
}
|
||||
);
|
||||
|
||||
const filterLack = ref({
|
||||
include: [
|
||||
{
|
||||
|
@ -36,6 +38,8 @@ const filterLack = ref({
|
|||
where: { alertLevel: 'FREE' },
|
||||
order: 'ts.alertLevelCODE ASC',
|
||||
});
|
||||
|
||||
const selectedRows = ref([]);
|
||||
const { t } = useI18n();
|
||||
const URL_KEY = 'Tickets/ItemLack';
|
||||
const editableStates = ref([]);
|
||||
|
|
Loading…
Reference in New Issue