diff --git a/api/src/Erp.Platform.DbMigrator/Seeds/LanguagesData.json b/api/src/Erp.Platform.DbMigrator/Seeds/LanguagesData.json index 6b47cd01..25cf5615 100644 --- a/api/src/Erp.Platform.DbMigrator/Seeds/LanguagesData.json +++ b/api/src/Erp.Platform.DbMigrator/Seeds/LanguagesData.json @@ -9325,12 +9325,6 @@ "tr": "Teklif Durumları", "en": "Quotation Status" }, - { - "resourceName": "Platform", - "key": "App.SupplyChain.Quotation", - "tr": "Teklifler", - "en": "Quotations" - }, { "resourceName": "Platform", "key": "App.SupplyChain.MaterialType", @@ -9409,6 +9403,12 @@ "tr": "Teklifler", "en": "Quotations" }, + { + "resourceName": "Platform", + "key": "App.SupplyChain.QuotationItem", + "tr": "Teklif Ürünleri", + "en": "Quotation Items" + }, { "resourceName": "Platform", "key": "App.SupplyChain.Approval", diff --git a/api/src/Erp.Platform.DbMigrator/Seeds/ListFormSeeder_Accounting.cs b/api/src/Erp.Platform.DbMigrator/Seeds/ListFormSeeder_Accounting.cs index a49b1286..4b017d10 100644 --- a/api/src/Erp.Platform.DbMigrator/Seeds/ListFormSeeder_Accounting.cs +++ b/api/src/Erp.Platform.DbMigrator/Seeds/ListFormSeeder_Accounting.cs @@ -107,7 +107,7 @@ public class ListFormSeeder_Accounting : IDataSeedContributor, ITransientDepende Text ="Manage", UrlTarget="_blank", AuthName = AppCodes.Accounting.BankAccount, - Url=$"/admin/form/{SeederUtils.GetDefaultFormCodes(AppCodes.Accounting.Bank)}/@Id", + Url=$"/admin/form/{SeederUtils.GetDefaultFormCodes(listFormName)}/@Id", IsVisible = true }, }), diff --git a/api/src/Erp.Platform.DbMigrator/Seeds/ListFormSeeder_Crm.cs b/api/src/Erp.Platform.DbMigrator/Seeds/ListFormSeeder_Crm.cs index 5cdb11f2..56a64f14 100644 --- a/api/src/Erp.Platform.DbMigrator/Seeds/ListFormSeeder_Crm.cs +++ b/api/src/Erp.Platform.DbMigrator/Seeds/ListFormSeeder_Crm.cs @@ -394,7 +394,7 @@ public class ListFormSeeder_Crm : IDataSeedContributor, ITransientDependency Text ="Manage", UrlTarget="_blank", AuthName = listFormName, - Url=$"/admin/form/{SeederUtils.GetDefaultFormCodes(AppCodes.Crm.Customer)}/@Id", + Url=$"/admin/form/{SeederUtils.GetDefaultFormCodes(listFormName)}/@Id", IsVisible = true, }, }), diff --git a/api/src/Erp.Platform.DbMigrator/Seeds/ListFormSeeder_Mrp.cs b/api/src/Erp.Platform.DbMigrator/Seeds/ListFormSeeder_Mrp.cs index b71c3a80..c58805cf 100644 --- a/api/src/Erp.Platform.DbMigrator/Seeds/ListFormSeeder_Mrp.cs +++ b/api/src/Erp.Platform.DbMigrator/Seeds/ListFormSeeder_Mrp.cs @@ -889,7 +889,7 @@ public class ListFormSeeder_Mrp : IDataSeedContributor, ITransientDependency Text ="Manage", UrlTarget="_blank", AuthName = AppCodes.Mrp.Bom, - Url=$"/admin/form/{SeederUtils.GetDefaultFormCodes(AppCodes.Mrp.Bom)}/@Id", + Url=$"/admin/form/{SeederUtils.GetDefaultFormCodes(listFormName)}/@Id", IsVisible = true }, }), diff --git a/api/src/Erp.Platform.DbMigrator/Seeds/ListFormSeeder_SupplyChain.cs b/api/src/Erp.Platform.DbMigrator/Seeds/ListFormSeeder_SupplyChain.cs index 037a8228..8863619c 100644 --- a/api/src/Erp.Platform.DbMigrator/Seeds/ListFormSeeder_SupplyChain.cs +++ b/api/src/Erp.Platform.DbMigrator/Seeds/ListFormSeeder_SupplyChain.cs @@ -3649,5 +3649,713 @@ public class ListFormSeeder_SupplyChain : IDataSeedContributor, ITransientDepend #endregion } #endregion + + #region Quatation + listFormName = AppCodes.SupplyChain.Quotation; + if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName)) + { + var listForm = await _listFormRepository.InsertAsync( + new ListForm() + { + ListFormType = ListFormTypeEnum.List, + ExportJson = DefaultExportJson, + IsSubForm = false, + ShowNote = true, + LayoutJson = DefaultLayoutJson, + CultureName = LanguageCodes.En, + ListFormCode = listFormName, + Name = listFormName, + Title = listFormName, + DataSourceCode = SeedConsts.DataSources.DefaultCode, + IsTenant = true, + IsBranch = false, + IsOrganizationUnit = false, + Description = listFormName, + SelectCommandType = SelectCommandTypeEnum.Table, + SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.Quotation)), + KeyFieldName = "Id", + KeyFieldDbSourceType = DbType.Guid, + DefaultFilter = DefaultFilterJson, + SortMode = GridOptions.SortModeSingle, + FilterRowJson = DefaultFilterRowJson, + HeaderFilterJson = DefaultHeaderFilterJson, + SearchPanelJson = DefaultSearchPanelJson, + GroupPanelJson = DefaultGroupPanelJson, + SelectionJson = JsonSerializer.Serialize(new SelectionDto + { + Mode = GridOptions.SelectionModeMultiple, + AllowSelectAll = true, + ShowCheckBoxesMode = GridOptions.ShowCheckBoxesModeAlways + }), + ColumnOptionJson = DefaultColumnOptionJson, + PermissionJson = DefaultPermissionJson(listFormName), + DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.Quotation)), + DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson, + PagerOptionJson = DefaultPagerOptionJson, + EditingOptionJson = DefaultEditingOptionJson(listFormName, 800, 700, true, true, true, true, false), + InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson, + EditingFormJson = JsonSerializer.Serialize(new List() + { + new() { + Order=1, ColCount=2, Caption="General", ColSpan=1, ItemType="group", Items =[ + new EditingFormItemDto { Order = 1, DataField="QuotationNumber", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxTextBox, EditorOptions = EditorOptionValues.Disabled }, + new EditingFormItemDto { Order = 2, DataField="RequestId", ColSpan = 1, EditorType2 = EditorTypes.dxSelectBox }, + new EditingFormItemDto { Order = 3, DataField="RequestTitle", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxTextBox }, + new EditingFormItemDto { Order = 4, DataField="RequestTypeId", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox }, + new EditingFormItemDto { Order = 5, DataField="SupplierId", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox }, + new EditingFormItemDto { Order = 6, DataField="QuotationDate", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxDateBox }, + new EditingFormItemDto { Order = 7, DataField="ValidUntil", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxDateBox }, + new EditingFormItemDto { Order = 8, DataField="StatusId", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox }, + new EditingFormItemDto { Order = 9, DataField="Notes", ColSpan = 2, EditorType2 = EditorTypes.dxTextArea }, + ]}, + new() { + Order=1, ColCount=2, Caption="Financial", ColSpan=1, ItemType="group", Items =[ + new EditingFormItemDto { Order = 1, DataField="TotalAmount", ColSpan = 1, EditorType2 = EditorTypes.dxNumberBox, EditorOptions = EditorOptionValues.NumberStandartFormat }, + new EditingFormItemDto { Order = 2, DataField="Currency", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox }, + new EditingFormItemDto { Order = 3, DataField="PaymentTermId", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox }, + new EditingFormItemDto { Order = 4, DataField="DeliveryTermId", ColSpan = 1, IsRequired = true, EditorType2 = EditorTypes.dxSelectBox }, + new EditingFormItemDto { Order = 5, DataField="DeliveryTime", ColSpan = 1, EditorType2 = EditorTypes.dxNumberBox }, + new EditingFormItemDto { Order = 6, DataField="SubmittedBy", ColSpan = 1, EditorType2 = EditorTypes.dxTextBox }, + new EditingFormItemDto { Order = 7, DataField="SubmittedAt", ColSpan = 1, EditorType2 = EditorTypes.dxDateBox }, + ]}, + new() { + Order=1, ColCount=2, Caption="Evaluation", ColSpan=1, ItemType="group", Items =[ + new EditingFormItemDto { Order = 1, DataField="EvaluationComments", ColSpan = 2, EditorType2 = EditorTypes.dxTextArea }, + new EditingFormItemDto { Order = 2, DataField="EvaluationNotes", ColSpan = 2, EditorType2 = EditorTypes.dxTextArea }, + new EditingFormItemDto { Order = 3, DataField="EvaluationScore", ColSpan = 1, EditorType2 = EditorTypes.dxNumberBox }, + new EditingFormItemDto { Order = 4, DataField="EmployeeId", ColSpan = 1, EditorType2 = EditorTypes.dxSelectBox }, + new EditingFormItemDto { Order = 5, DataField="EvaluatedAt", ColSpan = 1, EditorType2 = EditorTypes.dxDateBox }, + ]} + }), + FormFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[] { + new() { FieldName = "QuotationNumber", FieldDbType = DbType.String, Value = "@AUTONUMBER", CustomValueType = FieldCustomValueTypeEnum.CustomKey }, + new() { FieldName = "QuotationDate", FieldDbType = DbType.Date, Value = "@DATE", CustomValueType = FieldCustomValueTypeEnum.CustomKey }, + new() { FieldName = "TotalAmount", FieldDbType = DbType.Decimal, Value = "0", CustomValueType = FieldCustomValueTypeEnum.Value }, + new() { FieldName = "Currency", FieldDbType = DbType.String, Value = "TRY", CustomValueType = FieldCustomValueTypeEnum.Value }, + new() { FieldName = "DeliveryTime", FieldDbType = DbType.Decimal, Value = "0", CustomValueType = FieldCustomValueTypeEnum.Value }, + new() { FieldName = "EvaluationScore", FieldDbType = DbType.Decimal, Value = "0", CustomValueType = FieldCustomValueTypeEnum.Value }, + }), + CommandColumnJson = JsonSerializer.Serialize(new CommandColumnDto[] { + new() { + Hint = "Manage", + Text ="Manage", + UrlTarget="_blank", + AuthName = listFormName, + Url=$"/admin/form/{SeederUtils.GetDefaultFormCodes(listFormName)}/@Id", + IsVisible = true + }, + new() { + ButtonPosition = UiCommandButtonPositionTypeEnum.Toolbar, + Hint = "Toplu Teklif", + Text = "Toplu Teklif", + AuthName = listFormName, + Url=$"/admin/form/{SeederUtils.GetDefaultFormCodes(listFormName)}/@Id", + IsVisible = true + }, + new() { + ButtonPosition = UiCommandButtonPositionTypeEnum.Toolbar, + Hint = "Teklif Karşılaştır", + Text = "Teklif Karşılaştır", + AuthName = listFormName, + Url=$"/admin/form/{SeederUtils.GetDefaultFormCodes(listFormName)}/@Id", + IsVisible = true + }, + }), + }, autoSave: true + ); + + #region Quatation Fields + await _listFormFieldRepository.InsertManyAsync([ + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.Guid, + FieldName = "Id", + Width = 100, + ListOrderNo = 1, + Visible = false, + IsActive = true, + IsDeleted = false, + SortIndex = 0, + ValidationRuleJson = DefaultValidationRuleRequiredJson, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.String, + FieldName = "QuotationNumber", + Width = 150, + ListOrderNo = 2, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + ValidationRuleJson = DefaultValidationRuleRequiredJson, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.Guid, + FieldName = "RequestId", + Width = 200, + ListOrderNo = 3, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.Request), "Id", "RequestNumber"), + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.String, + FieldName = "RequestTitle", + Width = 200, + ListOrderNo = 4, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + ValidationRuleJson = DefaultValidationRuleRequiredJson, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.Guid, + FieldName = "RequestTypeId", + Width = 100, + ListOrderNo = 5, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.RequestType), "Id", "Name"), + ValidationRuleJson = DefaultValidationRuleRequiredJson, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.Guid, + FieldName = "SupplierId", + Width = 200, + ListOrderNo = 6, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + LookupJson = JsonSerializer.Serialize(new LookupDto + { + DataSourceType = UiLookupDataSourceTypeEnum.Query, + DisplayExpr = "Name", + ValueExpr = "Key", + LookupQuery = LookupQueryValues.SupplierValues + }), + ValidationRuleJson = DefaultValidationRuleRequiredJson, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.Date, + FieldName = "QuotationDate", + Width = 100, + ListOrderNo = 7, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + ValidationRuleJson = DefaultValidationRuleRequiredJson, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.Date, + FieldName = "ValidUntil", + Width = 100, + ListOrderNo = 8, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + ValidationRuleJson = DefaultValidationRuleRequiredJson, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.Guid, + FieldName = "StatusId", + Width = 100, + ListOrderNo = 9, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.QuotationStatus), "Id", "Name"), + ValidationRuleJson = DefaultValidationRuleRequiredJson, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.String, + FieldName = "Notes", + Width = 100, + ListOrderNo = 10, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.Decimal, + FieldName = "TotalAmount", + Format = "fixedPoint", + Alignment = "right", + Width = 100, + ListOrderNo = 11, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + ValidationRuleJson = DefaultValidationRuleRequiredJson, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.String, + FieldName = "Currency", + Width = 100, + ListOrderNo = 12, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.Currency), "Code", "Name"), + ValidationRuleJson = DefaultValidationRuleRequiredJson, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.Guid, + FieldName = "PaymentTermId", + Width = 100, + ListOrderNo = 13, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.PaymentTerm), "Id", "Name"), + ValidationRuleJson = DefaultValidationRuleRequiredJson, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.Guid, + FieldName = "DeliveryTermId", + Width = 100, + ListOrderNo = 14, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.DeliveryTerm), "Id", "Name"), + ValidationRuleJson = DefaultValidationRuleRequiredJson, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.Int32, + FieldName = "DeliveryTime", + Format = "fixedPoint", + Alignment = "right", + Width = 100, + ListOrderNo = 15, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.Int32, + FieldName = "EvaluationScore", + Format = "fixedPoint", + Alignment = "right", + Width = 100, + ListOrderNo = 16, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.String, + FieldName = "EvaluationComments", + Width = 100, + ListOrderNo = 17, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.String, + FieldName = "EvaluationNotes", + Width = 100, + ListOrderNo = 18, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.String, + FieldName = "SubmittedBy", + Width = 100, + ListOrderNo = 19, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.Date, + FieldName = "SubmittedAt", + Width = 100, + ListOrderNo = 20, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.Guid, + FieldName = "EmployeeId", + Width = 100, + ListOrderNo = 21, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.Employee), "Id", "FullName"), + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.Date, + FieldName = "EvaluatedAt", + Width = 100, + ListOrderNo = 22, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + ], autoSave: true); + #endregion + } + #endregion + + #region Quatation Items + listFormName = AppCodes.SupplyChain.QuotationItem; + if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName)) + { + var listForm = await _listFormRepository.InsertAsync( + new ListForm() + { + ListFormType = ListFormTypeEnum.List, + ExportJson = DefaultExportJson, + IsSubForm = false, + ShowNote = true, + LayoutJson = DefaultLayoutJson, + CultureName = LanguageCodes.En, + ListFormCode = listFormName, + Name = listFormName, + Title = listFormName, + DataSourceCode = SeedConsts.DataSources.DefaultCode, + IsTenant = true, + IsBranch = false, + IsOrganizationUnit = false, + Description = listFormName, + SelectCommandType = SelectCommandTypeEnum.Table, + SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.QuotationItem)), + KeyFieldName = "Id", + KeyFieldDbSourceType = DbType.Guid, + DefaultFilter = DefaultFilterJson, + SortMode = GridOptions.SortModeSingle, + FilterRowJson = DefaultFilterRowJson, + HeaderFilterJson = DefaultHeaderFilterJson, + SearchPanelJson = DefaultSearchPanelJson, + GroupPanelJson = DefaultGroupPanelJson, + SelectionJson = DefaultSelectionSingleJson, + ColumnOptionJson = DefaultColumnOptionJson, + PermissionJson = DefaultPermissionJson(listFormName), + DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.QuotationItem)), + DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson, + PagerOptionJson = DefaultPagerOptionJson, + EditingOptionJson = DefaultEditingOptionJson(listFormName, 500, 400, true, true, true, true, false), + InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson, + EditingFormJson = JsonSerializer.Serialize(new List() + { + new() { + Order=1, ColCount=1, ColSpan=1, ItemType="group", Items =[ + new EditingFormItemDto { Order = 1, DataField="MaterialId", ColSpan = 1, IsRequired =true, EditorType2 = EditorTypes.dxSelectBox }, + new EditingFormItemDto { Order = 2, DataField="Quantity", ColSpan = 1, EditorType2 = EditorTypes.dxNumberBox, EditorOptions = EditorOptionValues.NumberStandartFormat }, + new EditingFormItemDto { Order = 3, DataField="Uom", ColSpan = 1, EditorType2 = EditorTypes.dxSelectBox }, + new EditingFormItemDto { Order = 4, DataField="UnitPrice", ColSpan = 1, EditorType2 = EditorTypes.dxNumberBox, EditorOptions = EditorOptionValues.NumberStandartFormat }, + new EditingFormItemDto { Order = 5, DataField="TotalPrice", ColSpan = 1, EditorType2 = EditorTypes.dxNumberBox, EditorOptions = EditorOptionValues.NumberStandartFormat }, + new EditingFormItemDto { Order = 6, DataField="LeadTime", ColSpan = 1, EditorType2 = EditorTypes.dxNumberBox, EditorOptions = EditorOptionValues.NumberStandartFormat }, + new EditingFormItemDto { Order = 7, DataField="Description", ColSpan = 1, EditorType2 = EditorTypes.dxTextArea }, + ]} + }), + FormFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[] { + new() { FieldName = "Quantity", FieldDbType = DbType.Int32, Value = "0", CustomValueType = FieldCustomValueTypeEnum.Value }, + new() { FieldName = "Uom", FieldDbType = DbType.String, Value = "Adet", CustomValueType = FieldCustomValueTypeEnum.Value }, + new() { FieldName = "UnitPrice", FieldDbType = DbType.Int32, Value = "0", CustomValueType = FieldCustomValueTypeEnum.Value }, + new() { FieldName = "TotalPrice", FieldDbType = DbType.Int32, Value = "0", CustomValueType = FieldCustomValueTypeEnum.Value }, + new() { FieldName = "LeadTime", FieldDbType = DbType.Int32, Value = "0", CustomValueType = FieldCustomValueTypeEnum.Value } + }), + }, autoSave: true + ); + + #region Quatation Items Fields + await _listFormFieldRepository.InsertManyAsync([ + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.Guid, + FieldName = "Id", + Width = 100, + ListOrderNo = 1, + Visible = false, + IsActive = true, + IsDeleted = false, + SortIndex = 0, + ValidationRuleJson = DefaultValidationRuleRequiredJson, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.Guid, + FieldName = "MaterialId", + Width = 300, + ListOrderNo = 2, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.Material), "Id", "Name"), + ValidationRuleJson = DefaultValidationRuleRequiredJson, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.Decimal, + FieldName = "Quantity", + Format = "fixedPoint", + Alignment = "right", + Width = 100, + ListOrderNo = 3, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + ValidationRuleJson = DefaultValidationRuleRequiredJson, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.String, + FieldName = "Uom", + Width = 100, + ListOrderNo = 4, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.Uom), "Name", "Name"), + ValidationRuleJson = DefaultValidationRuleRequiredJson, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.Decimal, + FieldName = "UnitPrice", + Format = "fixedPoint", + Alignment = "right", + Width = 100, + ListOrderNo = 5, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + ValidationRuleJson = DefaultValidationRuleRequiredJson, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.Decimal, + FieldName = "TotalPrice", + Format = "fixedPoint", + Alignment = "right", + Width = 100, + ListOrderNo = 6, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + ValidationRuleJson = DefaultValidationRuleRequiredJson, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.Decimal, + FieldName = "LeadTime", + Format = "fixedPoint", + Alignment = "right", + Width = 100, + ListOrderNo = 7, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + ValidationRuleJson = DefaultValidationRuleRequiredJson, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + new() { + ListFormCode = listForm.ListFormCode, + CultureName = LanguageCodes.En, + SourceDbType = DbType.String, + FieldName = "Description", + Width = 100, + ListOrderNo = 8, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + ColumnCustomizationJson = DefaultColumnCustomizationJson, + PermissionJson = DefaultFieldPermissionJson(listForm.Name), + PivotSettingsJson = DefaultPivotSettingsJson + }, + ], autoSave: true); + #endregion + } + #endregion + + // Quatation ve Quatation Item arasında SubForm ilişki kurulması + await utils.CloneFormLayoutAsync( + AppCodes.SupplyChain.Quotation, + JsonSerializer.Serialize(new List() { + new { + TabType = ListFormTabTypeEnum.List, + TabTitle = AppCodes.SupplyChain.QuotationItem, + Code = AppCodes.SupplyChain.QuotationItem, + Relation = new List() { + new { + ParentFieldName = "Id", + DbType = DbType.Guid, + ChildFieldName = "QuotationId" + } + } + } + }) + ); } } diff --git a/api/src/Erp.Platform.DbMigrator/Seeds/MenusData.json b/api/src/Erp.Platform.DbMigrator/Seeds/MenusData.json index fac8069d..0eb4504a 100644 --- a/api/src/Erp.Platform.DbMigrator/Seeds/MenusData.json +++ b/api/src/Erp.Platform.DbMigrator/Seeds/MenusData.json @@ -2383,7 +2383,7 @@ "Code": "App.SupplyChain.Quotation", "DisplayName": "App.SupplyChain.Quotation", "Order": 3, - "Url": "/admin/supplychain/quotations", + "Url": "/admin/list/App.SupplyChain.Quotation", "Icon": "FcSurvey", "RequiredPermissionName": "App.SupplyChain.Quotation", "IsDisabled": false diff --git a/api/src/Erp.Platform.DbMigrator/Seeds/PermissionsData.json b/api/src/Erp.Platform.DbMigrator/Seeds/PermissionsData.json index 0395c12d..f3b1fe30 100644 --- a/api/src/Erp.Platform.DbMigrator/Seeds/PermissionsData.json +++ b/api/src/Erp.Platform.DbMigrator/Seeds/PermissionsData.json @@ -6045,89 +6045,6 @@ "MultiTenancySide": 3, "MenuGroup": "Erp" }, - { - "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.QuotationStatus.Import", - "ParentName": "App.SupplyChain.QuotationStatus", - "DisplayName": "Import", - "IsEnabled": true, - "MultiTenancySide": 3, - "MenuGroup": "Erp" - }, - { - "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.QuotationStatus.Note", - "ParentName": "App.SupplyChain.QuotationStatus", - "DisplayName": "Note", - "IsEnabled": true, - "MultiTenancySide": 3, - "MenuGroup": "Erp" - }, - - { - "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Quotation", - "ParentName": null, - "DisplayName": "App.SupplyChain.Quotation", - "IsEnabled": true, - "MultiTenancySide": 3, - "MenuGroup": "Erp" - }, - { - "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Quotation.Create", - "ParentName": "App.SupplyChain.Quotation", - "DisplayName": "Create", - "IsEnabled": true, - "MultiTenancySide": 3, - "MenuGroup": "Erp" - }, - { - "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Quotation.Update", - "ParentName": "App.SupplyChain.Quotation", - "DisplayName": "Update", - "IsEnabled": true, - "MultiTenancySide": 3, - "MenuGroup": "Erp" - }, - { - "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Quotation.Delete", - "ParentName": "App.SupplyChain.Quotation", - "DisplayName": "Delete", - "IsEnabled": true, - "MultiTenancySide": 3, - "MenuGroup": "Erp" - }, - { - "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Quotation.Export", - "ParentName": "App.SupplyChain.Quotation", - "DisplayName": "Export", - "IsEnabled": true, - "MultiTenancySide": 3, - "MenuGroup": "Erp" - }, - { - "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Quotation.Import", - "ParentName": "App.SupplyChain.Quotation", - "DisplayName": "Import", - "IsEnabled": true, - "MultiTenancySide": 3, - "MenuGroup": "Erp" - }, - { - "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Quotation.Note", - "ParentName": "App.SupplyChain.Quotation", - "DisplayName": "Note", - "IsEnabled": true, - "MultiTenancySide": 3, - "MenuGroup": "Erp" - }, - { "GroupName": "App.SupplyChain", "Name": "App.SupplyChain.Material", @@ -6506,6 +6423,71 @@ "MultiTenancySide": 3, "MenuGroup": "Erp" }, + + { + "GroupName": "App.SupplyChain", + "Name": "App.SupplyChain.QuotationItem", + "ParentName": null, + "DisplayName": "App.SupplyChain.QuotationItem", + "IsEnabled": true, + "MultiTenancySide": 3, + "MenuGroup": "Erp" + }, + { + "GroupName": "App.SupplyChain", + "Name": "App.SupplyChain.QuotationItem.Create", + "ParentName": "App.SupplyChain.QuotationItem", + "DisplayName": "Create", + "IsEnabled": true, + "MultiTenancySide": 3, + "MenuGroup": "Erp" + }, + { + "GroupName": "App.SupplyChain", + "Name": "App.SupplyChain.QuotationItem.Update", + "ParentName": "App.SupplyChain.QuotationItem", + "DisplayName": "Update", + "IsEnabled": true, + "MultiTenancySide": 3, + "MenuGroup": "Erp" + }, + { + "GroupName": "App.SupplyChain", + "Name": "App.SupplyChain.QuotationItem.Delete", + "ParentName": "App.SupplyChain.QuotationItem", + "DisplayName": "Delete", + "IsEnabled": true, + "MultiTenancySide": 3, + "MenuGroup": "Erp" + }, + { + "GroupName": "App.SupplyChain", + "Name": "App.SupplyChain.QuotationItem.Export", + "ParentName": "App.SupplyChain.QuotationItem", + "DisplayName": "Export", + "IsEnabled": true, + "MultiTenancySide": 3, + "MenuGroup": "Erp" + }, + { + "GroupName": "App.SupplyChain", + "Name": "App.SupplyChain.QuotationItem.Import", + "ParentName": "App.SupplyChain.QuotationItem", + "DisplayName": "Import", + "IsEnabled": true, + "MultiTenancySide": 3, + "MenuGroup": "Erp" + }, + { + "GroupName": "App.SupplyChain", + "Name": "App.SupplyChain.QuotationItem.Note", + "ParentName": "App.SupplyChain.QuotationItem", + "DisplayName": "Note", + "IsEnabled": true, + "MultiTenancySide": 3, + "MenuGroup": "Erp" + }, + { "GroupName": "App.SupplyChain", "Name": "App.SupplyChain.Approval", diff --git a/api/src/Erp.Platform.DbMigrator/Seeds/SeederDefaults.cs b/api/src/Erp.Platform.DbMigrator/Seeds/SeederDefaults.cs index 73486157..2c24e886 100644 --- a/api/src/Erp.Platform.DbMigrator/Seeds/SeederDefaults.cs +++ b/api/src/Erp.Platform.DbMigrator/Seeds/SeederDefaults.cs @@ -54,7 +54,7 @@ public static class SeederDefaults public static readonly string DefaultGroupPanelJson = JsonSerializer.Serialize(new { Visible = true }); public static readonly string DefaultColumnOptionJson = JsonSerializer.Serialize(new { - ColumnFixingEnabled = false, + ColumnFixingEnabled = true, ColumnAutoWidth = true, ColumnChooserEnabled = true, AllowColumnResizing = true, diff --git a/api/src/Erp.Platform.Domain/Entities/Tenant/Hr/Employee.cs b/api/src/Erp.Platform.Domain/Entities/Tenant/Hr/Employee.cs index efc59709..64237d7a 100644 --- a/api/src/Erp.Platform.Domain/Entities/Tenant/Hr/Employee.cs +++ b/api/src/Erp.Platform.Domain/Entities/Tenant/Hr/Employee.cs @@ -78,6 +78,6 @@ public class Employee : FullAuditedEntity, IMultiTenant public ICollection BlogPosts { get; set; } public ICollection Opportunities { get; set; } public ICollection Warehouses { get; set; } - + public ICollection Quotations { get; set; } } diff --git a/api/src/Erp.Platform.Domain/Entities/Tenant/SupplyChain/Quotation.cs b/api/src/Erp.Platform.Domain/Entities/Tenant/SupplyChain/Quotation.cs index 611e490a..141c1283 100644 --- a/api/src/Erp.Platform.Domain/Entities/Tenant/SupplyChain/Quotation.cs +++ b/api/src/Erp.Platform.Domain/Entities/Tenant/SupplyChain/Quotation.cs @@ -43,9 +43,10 @@ public class Quotation : FullAuditedEntity, IMultiTenant public string Notes { get; set; } //Notlar public string SubmittedBy { get; set; } //Teklif Veren - public DateTime SubmittedAt { get; set; } //Teklif Tarihi + public DateTime? SubmittedAt { get; set; } //Teklif Tarihi - public string EvaluatedBy { get; set; } //Değerlendiren + public Guid? EmployeeId { get; set; } //Değerlendiren + public Employee Employee { get; set; } public DateTime? EvaluatedAt { get; set; } //Değerlendirme Tarihi public ICollection Items { get; set; } diff --git a/api/src/Erp.Platform.Domain/Entities/Tenant/SupplyChain/QuotationItem.cs b/api/src/Erp.Platform.Domain/Entities/Tenant/SupplyChain/QuotationItem.cs index 41acc67b..93881925 100644 --- a/api/src/Erp.Platform.Domain/Entities/Tenant/SupplyChain/QuotationItem.cs +++ b/api/src/Erp.Platform.Domain/Entities/Tenant/SupplyChain/QuotationItem.cs @@ -15,8 +15,7 @@ public class QuotationItem : FullAuditedEntity, IMultiTenant public Material Material { get; set; } public decimal Quantity { get; set; } - public Guid UomId { get; set; } - public Uom Uom { get; set; } + public string Uom { get; set; } public decimal UnitPrice { get; set; } public decimal TotalPrice { get; set; } diff --git a/api/src/Erp.Platform.EntityFrameworkCore/EntityFrameworkCore/PlatformDbContext.cs b/api/src/Erp.Platform.EntityFrameworkCore/EntityFrameworkCore/PlatformDbContext.cs index 2370930e..f8abed8c 100644 --- a/api/src/Erp.Platform.EntityFrameworkCore/EntityFrameworkCore/PlatformDbContext.cs +++ b/api/src/Erp.Platform.EntityFrameworkCore/EntityFrameworkCore/PlatformDbContext.cs @@ -3457,33 +3457,25 @@ public class PlatformDbContext : b.ConfigureByConvention(); b.Property(x => x.QuotationNumber).IsRequired().HasMaxLength(50); - b.Property(x => x.RequestId).IsRequired().HasMaxLength(50); b.Property(x => x.RequestTitle).IsRequired().HasMaxLength(200); - b.Property(x => x.RequestTypeId).IsRequired(); b.Property(x => x.SupplierId).IsRequired(); - b.Property(x => x.QuotationDate).IsRequired(); b.Property(x => x.ValidUntil).IsRequired(); - b.Property(x => x.StatusId).IsRequired(); + b.Property(x => x.Notes).HasMaxLength(1000); b.Property(x => x.TotalAmount).HasPrecision(18, 2).IsRequired(); b.Property(x => x.Currency).IsRequired().HasMaxLength(10); - b.Property(x => x.PaymentTermId).IsRequired(); b.Property(x => x.DeliveryTermId).IsRequired(); - b.Property(x => x.DeliveryTime).HasDefaultValue(0); + b.Property(x => x.SubmittedBy).HasMaxLength(100); + b.Property(x => x.SubmittedAt).IsRequired(false); b.Property(x => x.EvaluationScore).HasDefaultValue(0); b.Property(x => x.EvaluationComments).HasMaxLength(1000); b.Property(x => x.EvaluationNotes).HasMaxLength(1000); - b.Property(x => x.SubmittedBy).IsRequired().HasMaxLength(100); - b.Property(x => x.SubmittedAt).IsRequired(); - - b.Property(x => x.EvaluatedBy).HasMaxLength(100); - b.Property(x => x.EvaluatedAt); b.HasOne(x => x.Status) .WithMany(x => x.Quotations) @@ -3499,6 +3491,11 @@ public class PlatformDbContext : .WithMany(x => x.Quotations) .HasForeignKey(x => x.PaymentTermId) .OnDelete(DeleteBehavior.Restrict); + + b.HasOne(x => x.Employee) + .WithMany(x => x.Quotations) + .HasForeignKey(x => x.EmployeeId) + .OnDelete(DeleteBehavior.Restrict); }); builder.Entity(b => @@ -3508,14 +3505,12 @@ public class PlatformDbContext : b.Property(x => x.QuotationId).IsRequired(); b.Property(x => x.MaterialId).IsRequired(); - b.Property(x => x.Description).HasMaxLength(500); - b.Property(x => x.Quantity).HasPrecision(18, 2).IsRequired(); - b.Property(x => x.UomId).IsRequired(); - + b.Property(x => x.Uom).IsRequired().HasMaxLength(128); b.Property(x => x.UnitPrice).HasPrecision(18, 2).IsRequired(); b.Property(x => x.TotalPrice).HasPrecision(18, 2).IsRequired(); b.Property(x => x.LeadTime).HasDefaultValue(0); + b.Property(x => x.Description).HasMaxLength(500); b.HasOne(x => x.Quotation) .WithMany(x => x.Items) diff --git a/api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251201070744_Initial.Designer.cs b/api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251201104936_Initial.Designer.cs similarity index 99% rename from api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251201070744_Initial.Designer.cs rename to api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251201104936_Initial.Designer.cs index 7400f50f..b9484e58 100644 --- a/api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251201070744_Initial.Designer.cs +++ b/api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251201104936_Initial.Designer.cs @@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore; namespace Erp.Platform.Migrations { [DbContext(typeof(PlatformDbContext))] - [Migration("20251201070744_Initial")] + [Migration("20251201104936_Initial")] partial class Initial { /// @@ -10941,13 +10941,12 @@ namespace Erp.Platform.Migrations .HasColumnType("int") .HasDefaultValue(0); + b.Property("EmployeeId") + .HasColumnType("uniqueidentifier"); + b.Property("EvaluatedAt") .HasColumnType("datetime2"); - b.Property("EvaluatedBy") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - b.Property("EvaluationComments") .HasMaxLength(1000) .HasColumnType("nvarchar(1000)"); @@ -10994,9 +10993,7 @@ namespace Erp.Platform.Migrations .HasColumnType("nvarchar(50)"); b.Property("RequestId") - .IsRequired() - .HasMaxLength(50) - .HasColumnType("nvarchar(50)"); + .HasColumnType("nvarchar(max)"); b.Property("RequestTitle") .IsRequired() @@ -11009,11 +11006,10 @@ namespace Erp.Platform.Migrations b.Property("StatusId") .HasColumnType("uniqueidentifier"); - b.Property("SubmittedAt") + b.Property("SubmittedAt") .HasColumnType("datetime2"); b.Property("SubmittedBy") - .IsRequired() .HasMaxLength(100) .HasColumnType("nvarchar(100)"); @@ -11035,6 +11031,8 @@ namespace Erp.Platform.Migrations b.HasIndex("DeliveryTermId"); + b.HasIndex("EmployeeId"); + b.HasIndex("PaymentMethodId"); b.HasIndex("PaymentTermId"); @@ -11114,8 +11112,10 @@ namespace Erp.Platform.Migrations .HasPrecision(18, 2) .HasColumnType("decimal(18,2)"); - b.Property("UomId") - .HasColumnType("uniqueidentifier"); + b.Property("Uom") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); b.HasKey("Id"); @@ -11123,8 +11123,6 @@ namespace Erp.Platform.Migrations b.HasIndex("QuotationId"); - b.HasIndex("UomId"); - b.ToTable("Scp_T_QuotationItem", (string)null); }); @@ -18340,6 +18338,11 @@ namespace Erp.Platform.Migrations .OnDelete(DeleteBehavior.Restrict) .IsRequired(); + b.HasOne("Erp.Platform.Entities.Employee", "Employee") + .WithMany("Quotations") + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Restrict); + b.HasOne("Erp.Platform.Entities.PaymentMethod", null) .WithMany("Quotations") .HasForeignKey("PaymentMethodId"); @@ -18370,6 +18373,8 @@ namespace Erp.Platform.Migrations b.Navigation("DeliveryTerm"); + b.Navigation("Employee"); + b.Navigation("PaymentTerm"); b.Navigation("RequestType"); @@ -18393,17 +18398,9 @@ namespace Erp.Platform.Migrations .OnDelete(DeleteBehavior.Cascade) .IsRequired(); - b.HasOne("Erp.Platform.Entities.Uom", "Uom") - .WithMany() - .HasForeignKey("UomId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - b.Navigation("Material"); b.Navigation("Quotation"); - - b.Navigation("Uom"); }); modelBuilder.Entity("Erp.Platform.Entities.RegistrationMethod", b => @@ -19124,6 +19121,8 @@ namespace Erp.Platform.Migrations b.Navigation("Partners"); + b.Navigation("Quotations"); + b.Navigation("Reservations"); b.Navigation("SurveyResponses"); diff --git a/api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251201070744_Initial.cs b/api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251201104936_Initial.cs similarity index 99% rename from api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251201070744_Initial.cs rename to api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251201104936_Initial.cs index d2eaf486..6be7da80 100644 --- a/api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251201070744_Initial.cs +++ b/api/src/Erp.Platform.EntityFrameworkCore/Migrations/20251201104936_Initial.cs @@ -5082,127 +5082,6 @@ namespace Erp.Platform.Migrations onDelete: ReferentialAction.Restrict); }); - migrationBuilder.CreateTable( - name: "Scp_T_Quotation", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - TenantId = table.Column(type: "uniqueidentifier", nullable: true), - QuotationNumber = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), - RequestId = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), - RequestTitle = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), - RequestTypeId = table.Column(type: "uniqueidentifier", nullable: false), - SupplierId = table.Column(type: "uniqueidentifier", nullable: false), - QuotationDate = table.Column(type: "datetime2", nullable: false), - ValidUntil = table.Column(type: "datetime2", nullable: false), - StatusId = table.Column(type: "uniqueidentifier", nullable: false), - TotalAmount = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), - Currency = table.Column(type: "nvarchar(10)", maxLength: 10, nullable: false), - PaymentTermId = table.Column(type: "uniqueidentifier", nullable: false), - DeliveryTermId = table.Column(type: "uniqueidentifier", nullable: false), - DeliveryTime = table.Column(type: "int", nullable: true, defaultValue: 0), - EvaluationScore = table.Column(type: "int", nullable: true, defaultValue: 0), - EvaluationComments = table.Column(type: "nvarchar(1000)", maxLength: 1000, nullable: true), - EvaluationNotes = table.Column(type: "nvarchar(1000)", maxLength: 1000, nullable: true), - Notes = table.Column(type: "nvarchar(1000)", maxLength: 1000, nullable: true), - SubmittedBy = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), - SubmittedAt = table.Column(type: "datetime2", nullable: false), - EvaluatedBy = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: true), - EvaluatedAt = table.Column(type: "datetime2", nullable: true), - PaymentMethodId = table.Column(type: "uniqueidentifier", nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_Scp_T_Quotation", x => x.Id); - table.ForeignKey( - name: "FK_Scp_T_Quotation_Adm_T_Partner_SupplierId", - column: x => x.SupplierId, - principalTable: "Adm_T_Partner", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_Scp_T_Quotation_Adm_T_PaymentMethod_PaymentMethodId", - column: x => x.PaymentMethodId, - principalTable: "Adm_T_PaymentMethod", - principalColumn: "Id"); - table.ForeignKey( - name: "FK_Scp_T_Quotation_Scp_T_DeliveryTerm_DeliveryTermId", - column: x => x.DeliveryTermId, - principalTable: "Scp_T_DeliveryTerm", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - table.ForeignKey( - name: "FK_Scp_T_Quotation_Scp_T_PaymentTerm_PaymentTermId", - column: x => x.PaymentTermId, - principalTable: "Scp_T_PaymentTerm", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - table.ForeignKey( - name: "FK_Scp_T_Quotation_Scp_T_QuotationStatus_StatusId", - column: x => x.StatusId, - principalTable: "Scp_T_QuotationStatus", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - table.ForeignKey( - name: "FK_Scp_T_Quotation_Scp_T_RequestType_RequestTypeId", - column: x => x.RequestTypeId, - principalTable: "Scp_T_RequestType", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "Scp_T_QuotationItem", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - TenantId = table.Column(type: "uniqueidentifier", nullable: true), - QuotationId = table.Column(type: "uniqueidentifier", nullable: false), - MaterialId = table.Column(type: "uniqueidentifier", nullable: false), - Quantity = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), - UomId = table.Column(type: "uniqueidentifier", nullable: false), - UnitPrice = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), - TotalPrice = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), - LeadTime = table.Column(type: "int", nullable: true, defaultValue: 0), - Description = table.Column(type: "nvarchar(500)", maxLength: 500, nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_Scp_T_QuotationItem", x => x.Id); - table.ForeignKey( - name: "FK_Scp_T_QuotationItem_Adm_T_Uom_UomId", - column: x => x.UomId, - principalTable: "Adm_T_Uom", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_Scp_T_QuotationItem_Scp_T_Material_MaterialId", - column: x => x.MaterialId, - principalTable: "Scp_T_Material", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_Scp_T_QuotationItem_Scp_T_Quotation_QuotationId", - column: x => x.QuotationId, - principalTable: "Scp_T_Quotation", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - migrationBuilder.CreateTable( name: "Crm_T_Activity", columns: table => new @@ -6201,6 +6080,88 @@ namespace Erp.Platform.Migrations onDelete: ReferentialAction.Restrict); }); + migrationBuilder.CreateTable( + name: "Scp_T_Quotation", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + TenantId = table.Column(type: "uniqueidentifier", nullable: true), + QuotationNumber = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), + RequestId = table.Column(type: "nvarchar(max)", nullable: true), + RequestTitle = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), + RequestTypeId = table.Column(type: "uniqueidentifier", nullable: false), + SupplierId = table.Column(type: "uniqueidentifier", nullable: false), + QuotationDate = table.Column(type: "datetime2", nullable: false), + ValidUntil = table.Column(type: "datetime2", nullable: false), + StatusId = table.Column(type: "uniqueidentifier", nullable: false), + TotalAmount = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), + Currency = table.Column(type: "nvarchar(10)", maxLength: 10, nullable: false), + PaymentTermId = table.Column(type: "uniqueidentifier", nullable: false), + DeliveryTermId = table.Column(type: "uniqueidentifier", nullable: false), + DeliveryTime = table.Column(type: "int", nullable: true, defaultValue: 0), + EvaluationScore = table.Column(type: "int", nullable: true, defaultValue: 0), + EvaluationComments = table.Column(type: "nvarchar(1000)", maxLength: 1000, nullable: true), + EvaluationNotes = table.Column(type: "nvarchar(1000)", maxLength: 1000, nullable: true), + Notes = table.Column(type: "nvarchar(1000)", maxLength: 1000, nullable: true), + SubmittedBy = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: true), + SubmittedAt = table.Column(type: "datetime2", nullable: true), + EmployeeId = table.Column(type: "uniqueidentifier", nullable: true), + EvaluatedAt = table.Column(type: "datetime2", nullable: true), + PaymentMethodId = table.Column(type: "uniqueidentifier", nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), + IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), + DeleterId = table.Column(type: "uniqueidentifier", nullable: true), + DeletionTime = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_Scp_T_Quotation", x => x.Id); + table.ForeignKey( + name: "FK_Scp_T_Quotation_Adm_T_Partner_SupplierId", + column: x => x.SupplierId, + principalTable: "Adm_T_Partner", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_Scp_T_Quotation_Adm_T_PaymentMethod_PaymentMethodId", + column: x => x.PaymentMethodId, + principalTable: "Adm_T_PaymentMethod", + principalColumn: "Id"); + table.ForeignKey( + name: "FK_Scp_T_Quotation_Hr_T_Employee_EmployeeId", + column: x => x.EmployeeId, + principalTable: "Hr_T_Employee", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + table.ForeignKey( + name: "FK_Scp_T_Quotation_Scp_T_DeliveryTerm_DeliveryTermId", + column: x => x.DeliveryTermId, + principalTable: "Scp_T_DeliveryTerm", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + table.ForeignKey( + name: "FK_Scp_T_Quotation_Scp_T_PaymentTerm_PaymentTermId", + column: x => x.PaymentTermId, + principalTable: "Scp_T_PaymentTerm", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + table.ForeignKey( + name: "FK_Scp_T_Quotation_Scp_T_QuotationStatus_StatusId", + column: x => x.StatusId, + principalTable: "Scp_T_QuotationStatus", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + table.ForeignKey( + name: "FK_Scp_T_Quotation_Scp_T_RequestType_RequestTypeId", + column: x => x.RequestTypeId, + principalTable: "Scp_T_RequestType", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + migrationBuilder.CreateTable( name: "Scp_T_Request", columns: table => new @@ -6727,6 +6688,45 @@ namespace Erp.Platform.Migrations onDelete: ReferentialAction.Cascade); }); + migrationBuilder.CreateTable( + name: "Scp_T_QuotationItem", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + TenantId = table.Column(type: "uniqueidentifier", nullable: true), + QuotationId = table.Column(type: "uniqueidentifier", nullable: false), + MaterialId = table.Column(type: "uniqueidentifier", nullable: false), + Quantity = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), + Uom = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), + UnitPrice = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), + TotalPrice = table.Column(type: "decimal(18,2)", precision: 18, scale: 2, nullable: false), + LeadTime = table.Column(type: "int", nullable: true, defaultValue: 0), + Description = table.Column(type: "nvarchar(500)", maxLength: 500, nullable: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), + IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), + DeleterId = table.Column(type: "uniqueidentifier", nullable: true), + DeletionTime = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_Scp_T_QuotationItem", x => x.Id); + table.ForeignKey( + name: "FK_Scp_T_QuotationItem_Scp_T_Material_MaterialId", + column: x => x.MaterialId, + principalTable: "Scp_T_Material", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_Scp_T_QuotationItem_Scp_T_Quotation_QuotationId", + column: x => x.QuotationId, + principalTable: "Scp_T_Quotation", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + migrationBuilder.CreateTable( name: "Scp_T_RequestItem", columns: table => new @@ -8464,6 +8464,11 @@ namespace Erp.Platform.Migrations table: "Scp_T_Quotation", column: "DeliveryTermId"); + migrationBuilder.CreateIndex( + name: "IX_Scp_T_Quotation_EmployeeId", + table: "Scp_T_Quotation", + column: "EmployeeId"); + migrationBuilder.CreateIndex( name: "IX_Scp_T_Quotation_PaymentMethodId", table: "Scp_T_Quotation", @@ -8499,11 +8504,6 @@ namespace Erp.Platform.Migrations table: "Scp_T_QuotationItem", column: "QuotationId"); - migrationBuilder.CreateIndex( - name: "IX_Scp_T_QuotationItem_UomId", - table: "Scp_T_QuotationItem", - column: "UomId"); - migrationBuilder.CreateIndex( name: "IX_Scp_T_Request_DepartmentId", table: "Scp_T_Request", diff --git a/api/src/Erp.Platform.EntityFrameworkCore/Migrations/PlatformDbContextModelSnapshot.cs b/api/src/Erp.Platform.EntityFrameworkCore/Migrations/PlatformDbContextModelSnapshot.cs index f08be558..a430ddc8 100644 --- a/api/src/Erp.Platform.EntityFrameworkCore/Migrations/PlatformDbContextModelSnapshot.cs +++ b/api/src/Erp.Platform.EntityFrameworkCore/Migrations/PlatformDbContextModelSnapshot.cs @@ -10938,13 +10938,12 @@ namespace Erp.Platform.Migrations .HasColumnType("int") .HasDefaultValue(0); + b.Property("EmployeeId") + .HasColumnType("uniqueidentifier"); + b.Property("EvaluatedAt") .HasColumnType("datetime2"); - b.Property("EvaluatedBy") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - b.Property("EvaluationComments") .HasMaxLength(1000) .HasColumnType("nvarchar(1000)"); @@ -10991,9 +10990,7 @@ namespace Erp.Platform.Migrations .HasColumnType("nvarchar(50)"); b.Property("RequestId") - .IsRequired() - .HasMaxLength(50) - .HasColumnType("nvarchar(50)"); + .HasColumnType("nvarchar(max)"); b.Property("RequestTitle") .IsRequired() @@ -11006,11 +11003,10 @@ namespace Erp.Platform.Migrations b.Property("StatusId") .HasColumnType("uniqueidentifier"); - b.Property("SubmittedAt") + b.Property("SubmittedAt") .HasColumnType("datetime2"); b.Property("SubmittedBy") - .IsRequired() .HasMaxLength(100) .HasColumnType("nvarchar(100)"); @@ -11032,6 +11028,8 @@ namespace Erp.Platform.Migrations b.HasIndex("DeliveryTermId"); + b.HasIndex("EmployeeId"); + b.HasIndex("PaymentMethodId"); b.HasIndex("PaymentTermId"); @@ -11111,8 +11109,10 @@ namespace Erp.Platform.Migrations .HasPrecision(18, 2) .HasColumnType("decimal(18,2)"); - b.Property("UomId") - .HasColumnType("uniqueidentifier"); + b.Property("Uom") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); b.HasKey("Id"); @@ -11120,8 +11120,6 @@ namespace Erp.Platform.Migrations b.HasIndex("QuotationId"); - b.HasIndex("UomId"); - b.ToTable("Scp_T_QuotationItem", (string)null); }); @@ -18337,6 +18335,11 @@ namespace Erp.Platform.Migrations .OnDelete(DeleteBehavior.Restrict) .IsRequired(); + b.HasOne("Erp.Platform.Entities.Employee", "Employee") + .WithMany("Quotations") + .HasForeignKey("EmployeeId") + .OnDelete(DeleteBehavior.Restrict); + b.HasOne("Erp.Platform.Entities.PaymentMethod", null) .WithMany("Quotations") .HasForeignKey("PaymentMethodId"); @@ -18367,6 +18370,8 @@ namespace Erp.Platform.Migrations b.Navigation("DeliveryTerm"); + b.Navigation("Employee"); + b.Navigation("PaymentTerm"); b.Navigation("RequestType"); @@ -18390,17 +18395,9 @@ namespace Erp.Platform.Migrations .OnDelete(DeleteBehavior.Cascade) .IsRequired(); - b.HasOne("Erp.Platform.Entities.Uom", "Uom") - .WithMany() - .HasForeignKey("UomId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - b.Navigation("Material"); b.Navigation("Quotation"); - - b.Navigation("Uom"); }); modelBuilder.Entity("Erp.Platform.Entities.RegistrationMethod", b => @@ -19121,6 +19118,8 @@ namespace Erp.Platform.Migrations b.Navigation("Partners"); + b.Navigation("Quotations"); + b.Navigation("Reservations"); b.Navigation("SurveyResponses"); diff --git a/ui/src/index.css b/ui/src/index.css index 37b5e51a..b200c795 100644 --- a/ui/src/index.css +++ b/ui/src/index.css @@ -97,41 +97,4 @@ div.dialog-after-open > div.dialog-content.maximized { visibility: hidden !important; position: absolute !important; left: -9999px !important; -} -/* Grid accessibility status mesajını gizle */ - -/* Grid Focused Row - Light Mode */ -.dx-datagrid .dx-row-focused.dx-data-row > td:not(.dx-focused), -.dx-datagrid .dx-row-focused.dx-data-row > tr > td:not(.dx-focused) { - background-color: rgba(59, 130, 246, 0.15) !important; - color: inherit !important; -} - -.dx-datagrid .dx-row-focused.dx-data-row .dx-link { - background-color: rgba(255, 255, 255, 0.5) !important; - border-radius: 4px !important; - color: #1e40af !important; -} - -.dx-datagrid .dx-row-focused.dx-data-row .dx-link:hover { - background-color: rgba(255, 255, 255, 0.8) !important; - color: #1e3a8a !important; -} - -/* Grid Focused Row - Dark Mode */ -.dark .dx-datagrid .dx-row-focused.dx-data-row > td:not(.dx-focused), -.dark .dx-datagrid .dx-row-focused.dx-data-row > tr > td:not(.dx-focused) { - background-color: rgba(59, 130, 246, 0.25) !important; - color: #e5e7eb !important; -} - -.dark .dx-datagrid .dx-row-focused.dx-data-row .dx-link { - background-color: rgba(0, 0, 0, 0.3) !important; - color: #93c5fd !important; -} - -.dark .dx-datagrid .dx-row-focused.dx-data-row .dx-link:hover { - background-color: rgba(0, 0, 0, 0.5) !important; - color: #dbeafe !important; -} -/* Grid Focused Row */ \ No newline at end of file +} \ No newline at end of file diff --git a/ui/src/views/admin/listForm/edit/FormTabEdit.tsx b/ui/src/views/admin/listForm/edit/FormTabEdit.tsx index d2971f61..7debbb08 100644 --- a/ui/src/views/admin/listForm/edit/FormTabEdit.tsx +++ b/ui/src/views/admin/listForm/edit/FormTabEdit.tsx @@ -41,357 +41,350 @@ function FormTabEdit(props: FormEditProps & { listFormCode: string }) { {({ touched, errors, values, isSubmitting }) => (
- - + + + + + + + + + + + + + + + + + + + + + + - - - ) => ( + option.value === values.editingOptionDto.refreshMode, + )} + onChange={(option) => form.setFieldValue(field.name, option?.value)} + /> + )} + + + + - - - ) => ( + option.value === values.editingOptionDto.startEditAction, + )} + onChange={(option) => form.setFieldValue(field.name, option?.value)} + /> + )} + + + + + + {values.editingOptionDto.mode === 'popup' && ( + <> + - {({ field, form }: FieldProps) => ( - option.value === values.editingOptionDto.refreshMode, - )} - onChange={(option) => form.setFieldValue(field.name, option?.value)} - /> - )} - - - - + + - {({ field, form }: FieldProps) => ( - option.value === values.editingOptionDto.startEditAction, - )} - onChange={(option) => form.setFieldValue(field.name, option?.value)} - /> - )} - - - - - - {values.editingOptionDto.mode === 'popup' && ( - <> - - - - - - - - - - - - - - - - - - - - - - - )} - - - - - + + + + + + + + + + + + + )} + + + +
)} diff --git a/ui/src/views/list/useListFormColumns.ts b/ui/src/views/list/useListFormColumns.ts index 162c05f1..47d846fb 100644 --- a/ui/src/views/list/useListFormColumns.ts +++ b/ui/src/views/list/useListFormColumns.ts @@ -385,7 +385,6 @@ const useListFormColumns = ({ width: calculatedWidth, minWidth: calculatedWidth, buttons, - cssClass: '[&_.dx-link]:mx-1', allowResizing: true, }