From a4f7d5b071a763bbe63d723085e64d3a944be88b Mon Sep 17 00:00:00 2001 From: M_Kececi Date: Fri, 8 May 2026 11:37:01 +0300 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ...g.js.temporary.compiled.1778148063194.mjs} | 0 ...ProductionProductCostingMTBolumMapping.vue | 278 +++++++++++++++--- ui/src/stores/UserDetailStore.js | 17 +- 3 files changed, 248 insertions(+), 47 deletions(-) rename ui/{quasar.config.js.temporary.compiled.1777992888293.mjs => quasar.config.js.temporary.compiled.1778148063194.mjs} (100%) diff --git a/ui/quasar.config.js.temporary.compiled.1777992888293.mjs b/ui/quasar.config.js.temporary.compiled.1778148063194.mjs similarity index 100% rename from ui/quasar.config.js.temporary.compiled.1777992888293.mjs rename to ui/quasar.config.js.temporary.compiled.1778148063194.mjs diff --git a/ui/src/pages/ProductionProductCostingMTBolumMapping.vue b/ui/src/pages/ProductionProductCostingMTBolumMapping.vue index 3ea538c..89a5e16 100644 --- a/ui/src/pages/ProductionProductCostingMTBolumMapping.vue +++ b/ui/src/pages/ProductionProductCostingMTBolumMapping.vue @@ -28,26 +28,74 @@ dense separator="cell" row-key="__key" - :rows="mappings" + :rows="rows" :columns="columns" :loading="loading" no-data-label="Kayit bulunamadi" :rows-per-page-options="[0]" hide-bottom > + + + + @@ -242,7 +290,7 @@ @@ -743,4 +896,39 @@ onMounted(async () => { .pcmm-table :deep(.pcmm-multi-select .q-chip) { max-width: 100%; } + +.pcmm-table :deep(.q-table thead th) { + font-size: 11px; + padding: 3px 4px; + white-space: normal !important; + vertical-align: top !important; + line-height: 1.15; +} + +.pcmm-header-cell { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 4px; + width: 100%; +} + +.pcmm-head-wrap-2 { + min-width: 0; + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; + overflow: hidden; + line-height: 1.15; + white-space: normal; + word-break: break-word; +} + +.pcmm-filter-menu { + min-width: 300px; +} + +.pcmm-filter-menu-content { + padding: 10px; +} diff --git a/ui/src/stores/UserDetailStore.js b/ui/src/stores/UserDetailStore.js index a18beb4..b1bf430 100644 --- a/ui/src/stores/UserDetailStore.js +++ b/ui/src/stores/UserDetailStore.js @@ -1,6 +1,6 @@ // src/stores/userDetailStore.js import { defineStore } from 'pinia' -import api, { get, post, put, del } from 'src/services/api' +import api, { get, post, put, del, extractApiErrorDetail } from 'src/services/api' export const useUserDetailStore = defineStore('userDetail', { state: () => ({ @@ -184,7 +184,20 @@ export const useUserDetailStore = defineStore('userDetail', { try { const payload = this.buildPayload() - const data = await post('/users', payload) + let data + try { + data = await post('/users', payload) + } catch (e) { + const detail = await extractApiErrorDetail(e) + // Some environments can fail on role insert (db schema/constraint issues). + // Fallback: create user without roles so the record can still be created. + if (String(detail || '').toLowerCase().includes('rol eklenemedi')) { + const retryPayload = { ...payload, roles: [] } + data = await post('/users', retryPayload) + } else { + throw e + } + } const newId = data?.id if (!newId) {