diff --git a/src/components/common/VnInput.vue b/src/components/common/VnInput.vue
index 1246eedcd..ce7918eda 100644
--- a/src/components/common/VnInput.vue
+++ b/src/components/common/VnInput.vue
@@ -130,4 +130,43 @@ const mixinRules = [
.q-field__append {
padding-inline: 0;
}
+// .q-field--standard .q-field__control:after {
+// padding: 0;
+// }
+// .q-field__control-container.col.relative-position.row.no-wrap.q-anchor--skip {
+// display: flex;
+// flex-direction: row;
+// align-items: flex-end;
+// }
+
+.q-field__append.q-field__marginal.row.no-wrap.items-center.row {
+ height: 20px;
+}
+.q-field--outlined .q-field__append.q-field__marginal.row.no-wrap.items-center.row {
+ height: auto;
+}
+.q-field__control,
+.q-select--with-input {
+ /* color: var(--q-primary); */
+ // margin-bottom: 10px;
+ height: 23px;
+ /* max-width: 100%; */
+ /* outline: none; */
+}
+// .q-field--labeled .q-field__native,
+// .q-field--labeled .q-field__prefix,
+// .q-field--labeled .q-field__suffix {
+// padding-bottom: 0;
+// }
+.q-field__native,
+.q-field__prefix,
+.q-field__suffix,
+.q-field__input {
+ padding: 0;
+}
+// .q-field__append.q-field__marginal.row.no-wrap.items-center.q-anchor--skip {
+// display: flex;
+// flex-direction: row;
+// align-items: flex-end;
+// }
diff --git a/src/components/common/VnSelect.vue b/src/components/common/VnSelect.vue
index aa629767d..bd505ed29 100644
--- a/src/components/common/VnSelect.vue
+++ b/src/components/common/VnSelect.vue
@@ -283,4 +283,21 @@ const getVal = (val) => ($props.useLike ? { like: `%${val}%` } : val);
.q-field--outlined {
max-width: 100%;
}
+.q-field__inner {
+ .q-field__control {
+ min-height: auto !important;
+ .q-field__native.row {
+ min-height: auto !important;
+ }
+ }
+}
+// &.q-field__control {
+// min-height: auto;
+// &.q-field__controler-container {
+// .q-field__native {
+// min-height: revert;
+// }
+// }
+// }
+// }
diff --git a/src/components/ui/VnFilterPanel.vue b/src/components/ui/VnFilterPanel.vue
index ef07b7bef..43d634ad9 100644
--- a/src/components/ui/VnFilterPanel.vue
+++ b/src/components/ui/VnFilterPanel.vue
@@ -3,7 +3,6 @@ import { onMounted, ref, computed, watch } from 'vue';
import { useI18n } from 'vue-i18n';
import { useArrayData } from 'composables/useArrayData';
import { useRoute } from 'vue-router';
-import { date } from 'quasar';
import toDate from 'filters/toDate';
import VnFilterPanelChip from 'components/ui/VnFilterPanelChip.vue';
@@ -59,7 +58,6 @@ const $props = defineProps({
});
defineExpose({ search, sanitizer });
-
const emit = defineEmits([
'update:modelValue',
'refresh',
@@ -114,9 +112,9 @@ watch(
);
const isLoading = ref(false);
-async function search() {
+async function search(evt) {
try {
- if ($props.disableSubmitEvent) return;
+ if (evt && $props.disableSubmitEvent) return;
store.filter.where = {};
isLoading.value = true;
@@ -167,7 +165,7 @@ const tagsList = computed(() => {
for (const key of Object.keys(userParams.value)) {
const value = userParams.value[key];
if (value == null || ($props.hiddenTags || []).includes(key)) continue;
- tagList.push({ label: aliasField(key), value });
+ tagList.push({ label: key, value });
}
return tagList;
});
@@ -187,7 +185,6 @@ async function remove(key) {
}
function formatValue(value) {
- if (value instanceof Date) return date.formatDate(value, 'DD/MM/YYYY');
if (typeof value === 'boolean') return value ? t('Yes') : t('No');
if (isNaN(value) && !isNaN(Date.parse(value))) return toDate(value);
@@ -203,11 +200,6 @@ function sanitizer(params) {
}
return params;
}
-
-function aliasField(field) {
- const split = field.split('.');
- return split[1] ?? split[0];
-}
@@ -219,7 +211,7 @@ function aliasField(field) {
icon="search"
@click="search()"
>
-
+
diff --git a/src/css/app.scss b/src/css/app.scss
index 905934d4c..8115e44b8 100644
--- a/src/css/app.scss
+++ b/src/css/app.scss
@@ -288,3 +288,11 @@ input::-webkit-inner-spin-button {
color: $info;
}
}
+.q-field__inner {
+ .q-field__control {
+ min-height: auto !important;
+ .q-field__native.row {
+ min-height: auto !important;
+ }
+ }
+}
diff --git a/src/pages/InvoiceOut/InvoiceOutList.vue b/src/pages/InvoiceOut/InvoiceOutList.vue
index 5157d957b..3dc565251 100644
--- a/src/pages/InvoiceOut/InvoiceOutList.vue
+++ b/src/pages/InvoiceOut/InvoiceOutList.vue
@@ -27,13 +27,16 @@ const { openReport } = usePrintService();
const columns = computed(() => [
{
- align: 'left',
+ align: 'center',
name: 'id',
label: t('invoiceOutList.tableVisibleColumns.id'),
chip: {
condition: () => true,
},
isId: true,
+ columnFilter: {
+ name: 'search',
+ },
},
{
align: 'left',
diff --git a/src/pages/Item/ItemFixedPrice.vue b/src/pages/Item/ItemFixedPrice.vue
index 2158065bd..7d4d6b896 100644
--- a/src/pages/Item/ItemFixedPrice.vue
+++ b/src/pages/Item/ItemFixedPrice.vue
@@ -514,7 +514,7 @@ function handleOnDataSave({ CrudModelRef }) {
-