From c425d960e4eefbe0565de33aabbdc83552580e88 Mon Sep 17 00:00:00 2001 From: lazhen <17772815105@139.com> Date: 星期三, 05 六月 2024 15:29:57 +0800 Subject: [PATCH] 换型损失设置前端form建 --- _Main/UI/MacroPlannerWebApp/Component_FormChangeLossSetting/Response_ListChangeLossSetting_MenuEdit_OnClick.def | 24 ++++++ /dev/null | 9 -- _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditChangeLossSetting/Method_OnOK.def | 27 ++++++ _Main/BL/InfoMessages.qbl | 8 ++ _Main/BL/Type_ChangeLossSetting/StaticMethod_ValidateInput.qbl | 25 ++++++ _Main/UI/MacroPlannerWebApp/Component_FormChangeLossSetting/Response_ListChangeLossSetting_MenuDelete_OnClick.def | 21 +++++ _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditChangeLossSetting/Response_pnlActions_btnOk_OnClick.def | 7 + _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditChangeLossSetting/Component_pnlContent.def | 3 _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditChangeLossSetting/Method_New.def | 20 +++++ _Main/UI/MacroPlannerWebApp/Component_FormChangeLossSetting/Response_ListChangeLossSetting_MenuNew_OnClick.def | 22 +++++ _Main/UI/MacroPlannerWebApp/Component_DialogCreateEditChangeLossSetting/Method_Edit.def | 17 ++++ _Main/UI/MacroPlannerWebApp/Component_FormChangeLossSetting/Component_ListChangeLossSetting.def | 18 ++++ 12 files changed, 190 insertions(+), 11 deletions(-) diff --git a/_Main/BL/InfoMessages.qbl b/_Main/BL/InfoMessages.qbl index a1293ed..25d5179 100644 --- a/_Main/BL/InfoMessages.qbl +++ b/_Main/BL/InfoMessages.qbl @@ -86,6 +86,14 @@ { DefaultText: 'There are duplicate three digit codes present' } + InfoMessage MP_ChangeLossSetting_CheckNull + { + DefaultText: 'The required field is blank.' + } + InfoMessage MP_ChangeLossSetting_Exist + { + DefaultText: 'The same data already exists.' + } InfoMessage MP_LibCal_EventType_Exist { DefaultText: 'The ID or name is the same.' diff --git a/_Main/BL/Type_ChangeLossSetting/Attribute_Line.qbl b/_Main/BL/Type_ChangeLossSetting/Attribute_Line.qbl deleted file mode 100644 index 384d089..0000000 --- a/_Main/BL/Type_ChangeLossSetting/Attribute_Line.qbl +++ /dev/null @@ -1,9 +0,0 @@ -Quintiq file version 2.0 -#parent: #root -Attribute Line -{ - #keys: '3[415136.0.738030059][415136.0.738030058][415136.0.738030060]' - Description: '浜х嚎' - IsReadOnly: true - ValueType: String -} diff --git a/_Main/BL/Type_ChangeLossSetting/Attribute_Product1.qbl b/_Main/BL/Type_ChangeLossSetting/Attribute_Product1.qbl deleted file mode 100644 index 55e4355..0000000 --- a/_Main/BL/Type_ChangeLossSetting/Attribute_Product1.qbl +++ /dev/null @@ -1,9 +0,0 @@ -Quintiq file version 2.0 -#parent: #root -Attribute Product1 -{ - #keys: '3[415136.0.738030069][415136.0.738030068][415136.0.738030070]' - Description: '浜у搧1' - IsReadOnly: true - ValueType: String -} diff --git a/_Main/BL/Type_ChangeLossSetting/Attribute_Product2.qbl b/_Main/BL/Type_ChangeLossSetting/Attribute_Product2.qbl deleted file mode 100644 index e850926..0000000 --- a/_Main/BL/Type_ChangeLossSetting/Attribute_Product2.qbl +++ /dev/null @@ -1,9 +0,0 @@ -Quintiq file version 2.0 -#parent: #root -Attribute Product2 -{ - #keys: '3[415136.0.738030079][415136.0.738030078][415136.0.738030080]' - Description: '浜у搧2' - IsReadOnly: true - ValueType: String -} diff --git a/_Main/BL/Type_ChangeLossSetting/StaticMethod_ValidateInput.qbl b/_Main/BL/Type_ChangeLossSetting/StaticMethod_ValidateInput.qbl new file mode 100644 index 0000000..55452d1 --- /dev/null +++ b/_Main/BL/Type_ChangeLossSetting/StaticMethod_ValidateInput.qbl @@ -0,0 +1,25 @@ +Quintiq file version 2.0 +#parent: #root +StaticMethod ValidateInput ( + MacroPlan owner, + ChangeLossSetting old, + Unit unit, + Product_MP product1, + Product_MP product2, + Number number +) as Boolean +{ + TextBody: + [* + // 鐢勫叞楦� Jun-5-2024 (created) + feedback := ''; + if( isnull( unit ) or isnull( product1 ) or isnull( product2 ) or number < 1 ){ + feedback := Translations::MP_ChangeLossSetting_CheckNull(); + } + if( exists( owner, ChangeLossSetting, cls, cls <> old and cls.Unit() = unit and cls.ProductFirst() = product1 and cls.ProductSecond() = product2 ) ){ + feedback := Translations::MP_ChangeLossSetting_Exist() + } + + return feedback = ''; + *] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditChangeLossSetting/Component_pnlContent.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditChangeLossSetting/Component_pnlContent.def index c499774..935fb73 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditChangeLossSetting/Component_pnlContent.def +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditChangeLossSetting/Component_pnlContent.def @@ -9,6 +9,7 @@ { #keys: '[415136.0.735612418]' BaseType: 'WebDropDownList' + Databinding: 'Unit' Children: [ Component deUnit @@ -36,6 +37,7 @@ { #keys: '[415136.0.738250065]' BaseType: 'WebDropDownList' + Databinding: 'Product_MP' Children: [ Component deProductFirst @@ -62,6 +64,7 @@ { #keys: '[415136.0.738250142]' BaseType: 'WebDropDownList' + Databinding: 'Product_MP' Children: [ Component deProductSecond diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditChangeLossSetting/Method_Edit.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditChangeLossSetting/Method_Edit.def new file mode 100644 index 0000000..fc9c24e --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditChangeLossSetting/Method_Edit.def @@ -0,0 +1,17 @@ +Quintiq file version 2.0 +#parent: #root +Method Edit ( + ChangeLossSetting selection +) id:Method_DialogCreateEditChangeLossSetting_Edit +{ + #keys: '[415136.0.746200731]' + Body: + [* + // Edit Product(s) + + data := shadow( selection ); + dhDialogData.Data( &data ); + + ApplicationMacroPlanner.ShowFormModal( this ); + *] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditChangeLossSetting/Method_New.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditChangeLossSetting/Method_New.def new file mode 100644 index 0000000..ee307d3 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditChangeLossSetting/Method_New.def @@ -0,0 +1,20 @@ +Quintiq file version 2.0 +#parent: #root +Method New ( + FormChangeLossSetting form +) id:Method_DialogCreateEditChangeLossSetting_New +{ + #keys: '[415136.0.746200358]' + Body: + [* + // To create a new product + owner := LibCal_GlobalState.dhGlobalCalendarRegistry().Data(); + obj := MacroPlan.ChangeLossSetting( relshadow, Line := '', Product1 := '', Product2 := '' ); + + dhDialogData.Data( &obj ); + + dhForm.Data( form ); + + ApplicationMacroPlanner.ShowFormModal( this ); + *] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditChangeLossSetting/Method_OnOK.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditChangeLossSetting/Method_OnOK.def new file mode 100644 index 0000000..8135b6d --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditChangeLossSetting/Method_OnOK.def @@ -0,0 +1,27 @@ +Quintiq file version 2.0 +#parent: #root +Method OnOK () id:Method_DialogCreateEditChangeLossSetting_OnOK +{ + #keys: '[415136.0.746200837]' + Body: + [* + // onOK for ProductDialog + // When the user clicks ok, + // we either create or edit the data + this.ApplyChanges(); + + data := dhDialogData.Data(); + + if( isnull( data.WrappedInstance() ) ) // New + { + data.Commit(); + dhForm.Data().ListChangeLossSetting().SelectByKey( data.WrappedInstance().Key() ); + } + else + { + data.Commit(); + } + + this.Close(); + *] +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditChangeLossSetting/Response_pnlActions_btnOk_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditChangeLossSetting/Response_pnlActions_btnOk_OnClick.def index a46ffc6..142ea94 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditChangeLossSetting/Response_pnlActions_btnOk_OnClick.def +++ b/_Main/UI/MacroPlannerWebApp/Component_DialogCreateEditChangeLossSetting/Response_pnlActions_btnOk_OnClick.def @@ -5,12 +5,15 @@ #keys: '[415136.0.735612174]' DefinitionID: 'Responsedef_WebButton_OnClick' GroupServerCalls: true + Precondition: + [* + return ChangeLossSetting::ValidateInput( MacroPlan, dhDialogData.Data().WrappedInstance(), ddlUnit.Data(), ddlProduct1.Data(), ddlProduct2.Data(), [Number]npChangeLossNr.Number() ); + *] QuillAction { Body: [* - Form.ApplyChanges(); - Form.Close(); + Form.OnOK(); *] } } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormChangeLossSetting/Component_ListChangeLossSetting.def b/_Main/UI/MacroPlannerWebApp/Component_FormChangeLossSetting/Component_ListChangeLossSetting.def index 69b56e8..aa58182 100644 --- a/_Main/UI/MacroPlannerWebApp/Component_FormChangeLossSetting/Component_ListChangeLossSetting.def +++ b/_Main/UI/MacroPlannerWebApp/Component_FormChangeLossSetting/Component_ListChangeLossSetting.def @@ -38,4 +38,22 @@ [ Taborder: 0 ] + ResponseDefinitions: + [ + DelegatedResponseDefinition OnClick id:Responsedef_ListChangeLossSetting_WebMenu_OnClick + { + #keys: '[415136.0.747540770]' + Initiator: 'WebMenu' + IsInherited: false + ResponseType: 'OnClick' + Arguments: + [ + ResponseDefinitionArgument selection + { + #keys: '[913.0.7765768]' + Binding: 'this.Selection()' + } + ] + } + ] } diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormChangeLossSetting/Response_ListChangeLossSetting_MenuDelete_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormChangeLossSetting/Response_ListChangeLossSetting_MenuDelete_OnClick.def new file mode 100644 index 0000000..ae6d5c1 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormChangeLossSetting/Response_ListChangeLossSetting_MenuDelete_OnClick.def @@ -0,0 +1,21 @@ +Quintiq file version 2.0 +#parent: ListChangeLossSetting +Response OnClick ( + structured[ChangeLossSetting] selection +) id:Response_ListChangeLossSetting_MenuDelete_OnClick +{ + #keys: '[415136.0.747541132]' + CanBindMultiple: false + DefinitionID => /ListChangeLossSetting/Responsedef_ListChangeLossSetting_WebMenu_OnClick + Initiator: 'MenuDelete' + QuillAction + { + Body: + [* + traverse( selection, Elements, e ){ + e.Delete(); + } + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormChangeLossSetting/Response_ListChangeLossSetting_MenuEdit_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormChangeLossSetting/Response_ListChangeLossSetting_MenuEdit_OnClick.def new file mode 100644 index 0000000..94565f7 --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormChangeLossSetting/Response_ListChangeLossSetting_MenuEdit_OnClick.def @@ -0,0 +1,24 @@ +Quintiq file version 2.0 +#parent: ListChangeLossSetting +Response OnClick ( + ChangeLossSetting selection +) id:Response_ListChangeLossSetting_MenuEdit_OnClick +{ + #keys: '[415136.0.747540962]' + CanBindMultiple: false + DefinitionID => /ListChangeLossSetting/Responsedef_ListChangeLossSetting_WebMenu_OnClick + Initiator: 'MenuEdit' + Precondition: + [* + return MacroPlan::HasMacroPlan( MacroPlan, feedback ); + *] + QuillAction + { + Body: + [* + dlg := construct( DialogCreateEditChangeLossSetting ); + dlg.Edit( selection ); + *] + GroupServerCalls: false + } +} diff --git a/_Main/UI/MacroPlannerWebApp/Component_FormChangeLossSetting/Response_ListChangeLossSetting_MenuNew_OnClick.def b/_Main/UI/MacroPlannerWebApp/Component_FormChangeLossSetting/Response_ListChangeLossSetting_MenuNew_OnClick.def new file mode 100644 index 0000000..0ad7fde --- /dev/null +++ b/_Main/UI/MacroPlannerWebApp/Component_FormChangeLossSetting/Response_ListChangeLossSetting_MenuNew_OnClick.def @@ -0,0 +1,22 @@ +Quintiq file version 2.0 +#parent: ListChangeLossSetting +Response OnClick () id:Response_ListChangeLossSetting_MenuNew_OnClick +{ + #keys: '[415136.0.747540787]' + CanBindMultiple: false + DefinitionID => /ListChangeLossSetting/Responsedef_ListChangeLossSetting_WebMenu_OnClick + Initiator: 'MenuNew' + Precondition: + [* + return MacroPlan::HasMacroPlan( MacroPlan, feedback ); + *] + QuillAction + { + Body: + [* + dlg := construct( DialogCreateEditChangeLossSetting ); + dlg.New( FormChangeLossSetting ); + *] + GroupServerCalls: false + } +} -- Gitblit v1.9.3