package Ġcom . buy che mi . crm . ui . fragment Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 7 . widget . Linear LayoutManager Ċ import Ġandroid . view . View Ċ import Ġcom . buy che mi . crm . R Ċ import Ġcom . buy che mi . crm . base . Base Fragment Ċ import Ġcom . buy che mi . crm . bean .* Ċ import Ġcom . buy che mi . crm . mvp . contract . My Client Tab Contract Ċ import Ġcom . buy che mi . crm . mvp . presenter . My Client Tab Presenter Ċ import Ġcom . buy che mi . crm . ui . adapter . Follow Up Records Adapter Ċ import Ġcom . buy che mi . crm . ui . adapter . My Client Tab Adapter Ċ import Ġcom . buy che mi . crm . ui . adapter . My Client Tab Basic Adapter Ċ import Ġcom . buy che mi . crm . ui . adapter . My Client Tab User Adapter Ċ import Ġkotlinx . android . synt hetic . main . fragment _ my client _ tab .* Ċ Ċ /** Ċ Ġ* Ġ æĪĳçļĦ å®¢æĪ· åĴĮ æĪĳçļĦ èģĶç³» äºº åºķ éĥ¨ tab Ċ Ġ* Ġ@ Author Ġ 2 0 3 4 2 Ċ Ġ* Ġ@ Date Ġ 2 0 1 9 / 9 / 2 5 Ġ 1 5 : 3 4 Ċ Ġ*/ Ċ class ĠMy Client Tab Fragment Ġ: ĠBase Fragment (), ĠMy Client Tab Contract . View Ġ{ ĊĊĠĠĠĠ Ġprivate Ġvar Ġdatal ist = ArrayList < Customer Search Entity >() ĊĠĠĠ Ġprivate Ġvar Ġm Type : ĠString ? Ġ= Ġ" 0 " // 0 åĴĮ 1 åĮº åĪĨ å®¢æĪ· åĴĮ èģĶç³» äºº ĊĠĠĠ Ġprivate Ġvar Ġm Tag : ĠString ? Ġ= Ġ" 0 " // 0 , 1 , 2 Ġ åĮº åĪĨ è·Ł è¿Ľ ï¼Į åŁºæľ¬ ï¼Į çĽ¸åħ³ ĊĠĠĠ Ġprivate Ġval Ġm list Ġ= ĠArrayList < Log List Entity >() ĊĠĠĠ Ġprivate Ġval Ġm list user Ġ= ĠArrayList < Customer Search Entity >() ĊĠĠĠ Ġprivate Ġvar Ġm user List Ġ= ĠArrayList < UserData Entity >() ĊĠĠĠ Ġprivate Ġvar Ġm My Client Tab Basic Adapter : ĠMy Client Tab Basic Adapter ? Ġ= Ġnull // åŁºæľ¬ ä¿¡æģ¯ ĊĠĠĠ Ġprivate Ġvar Ġm Follow Up Records Adapter : ĠFollow Up Records Adapter ? Ġ= Ġnull // è·Ł è¿Ľ è®°å½ķ ĊĠĠĠ Ġprivate Ġvar Ġm My Client Tab Adapter : ĠMy Client Tab Adapter ? Ġ= Ġnull // çĽ¸åħ³ ä¿¡æģ¯ ĊĠĠĠ Ġprivate Ġvar Ġm My Client Tab User Adapter : ĠMy Client Tab User Adapter ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġmap Ġ= ĠHashMap < String , ĠString >() ĊĠĠĠ Ġprivate Ġvar Ġmap user = HashMap < String , String >() ĊĠĠĠ Ġprivate Ġvar Ġlink man Id : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġvar Ġpage : ĠInt Ġ= Ġ 1 ĊĠĠĠ Ġprivate Ġvar Ġm total page : ĠInt ? Ġ= Ġ 1 ĊĠĠĠ Ġprivate Ġval Ġm Presenter : ĠMy Client Tab Presenter Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠMy Client Tab Presenter () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun ĠgetInstance ( str : ĠString ?, Ġstr tag : ĠString ?, Ġid : ĠInt ): ĠMy Client Tab Fragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠMy Client Tab Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= ĠBundle () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . arguments Ġ= Ġbundle ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . m Type Ġ= Ġstr ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . m Tag Ġ= Ġstr tag ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . link man Id Ġ= Ġid ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfragment ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun ĠgetInstance ( str : ĠString ?, Ġstr tag : ĠString ?, Ġlist : ĠArrayList < UserData Entity >): ĠMy Client Tab Fragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠMy Client Tab Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= ĠBundle () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . arguments Ġ= Ġbundle ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . m Type Ġ= Ġstr ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . m Tag Ġ= Ġstr tag ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . m user List Ġ= Ġlist ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfragment ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Layout Id (): ĠInt Ġ{ ĊĊĠĠĠĠĠĠĠ Ġreturn ĠR . layout . fragment _ my client _ tab ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit View () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Presenter . attach View ( this ) ĊĠĠĠĠĠĠĠ Ġif Ġ( m Type Ġ== Ġ" 3 ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ btn . visibility Ġ= ĠView . VISIBLE ĊĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ btn . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġwhen Ġ( m Tag ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 0 " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ name . text Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Follow Up Records Adapter Ġ= Ġactivity ?. let Ġ{ ĠFollow Up Records Adapter ( it , ĠArrayList ()) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġre cycle _ tab . adapter Ġ= Ġm Follow Up Records Adapter ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġre cycle _ tab . layout Manager Ġ= ĠLinearLayoutManager ( activity ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 1 " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ name . text Ġ= Ġ" åŁºæľ¬ ä¿¡æģ¯ " ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm My Client Tab Basic Adapter Ġ= Ġactivity ?. let Ġ{ ĠMy Client Tab Basic Adapter ( it , Ġm user List ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġre cycle _ tab . adapter Ġ= Ġm My Client Tab Basic Adapter ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġre cycle _ tab . layout Manager Ġ= ĠLinearLayoutManager ( activity ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" 2 " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m Type Ġ== Ġ" 0 ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// å®¢æĪ· ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcl _ top . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm My Client Tab User Adapter Ġ= Ġactivity ?. let Ġ{ ĠMy Client Tab User Adapter ( it , Ġm list user ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġre cycle _ link man . adapter Ġ= Ġm My Client Tab User Adapter ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġre cycle _ link man . layout Manager Ġ= ĠLinearLayoutManager ( activity ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// èģĶç³» äºº ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ name . text Ġ= Ġ" æĵįä½ľ ä¿¡æģ¯ " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcl _ top . visibility Ġ= ĠView . GONE ĊĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm My Client Tab Adapter Ġ= Ġactivity ?. let Ġ{ ĠMy Client Tab Adapter ( it , Ġm list ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġre cycle _ tab . adapter Ġ= Ġm My Client Tab Adapter ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġre cycle _ tab . layout Manager Ġ= ĠLinearLayoutManager ( activity ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġrefresh Layout . setOn Refresh Listener Ġ{ Ġrefresh Layout Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ä¸ĭ æĭī åĪ·æĸ° ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpage Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġse tp ush Data () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrefresh Layout . finish Refresh () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġrefresh Layout . setOn Load More Listener Ġ{ Ġrefresh Layout Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// åĬłè½½ æĽ´å¤ļ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpage ++ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( page Ġ<= Ġm total page !! ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġse tp ush Data () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrefresh Layout . finish Load More () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrefresh Layout . finish Load More ( 1 0 0 0 , Ġtrue , Ġtrue ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġse tp ush Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġmap . clear () ĊĠĠĠĠĠĠĠ Ġmap [" pageSize "] Ġ= Ġ" 1 0 " ĊĠĠĠĠĠĠĠ Ġmap [" pageNum "] Ġ= Ġpage . toString () ĊĊĠĠĠĠĠĠĠ Ġif Ġ( m Tag Ġ== Ġ" 0 ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m Type Ġ== Ġ" 0 ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap [" company Id "] Ġ= Ġlink man Id . toString () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap [" customer Id "] Ġ= Ġlink man Id . toString () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Presenter . get Follow List ( map ) ĊĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( m Tag Ġ== Ġ" 2 ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m Type Ġ== Ġ" 0 ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap [" company Id "] Ġ= Ġlink man Id . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Presenter . get Comp lay Log List ( map ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap user . clear () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap user [" company Id "]= link man Id . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Presenter . on Com Pl any Customer ( map user ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap [" customer Id "] Ġ= Ġlink man Id . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Presenter . get Link Log List ( map ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġlazy Load () Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onStart () ĊĠĠĠĠĠĠĠ Ġpage Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġse tp ush Data () ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Error ( error Msg : ĠString , ĠerrorCode : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠShow Error Mes ( error Msg , ĠerrorCode ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Follow List ( data : ĠArrayList < Follow List Entity > ?, Ġtotal page : ĠInt ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġm total page Ġ= Ġtotal page ĊĠĠĠĠĠĠĠ Ġif Ġ( data Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( page Ġ== Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Follow Up Records Adapter ?. addData New ( data ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Follow Up Records Adapter ?. addData All ( data ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon User Log List ( data : ĠArrayList < User Log Entity > ?, Ġtotal page : ĠInt ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġm total page Ġ= Ġtotal page ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Loading () Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdismiss Loading () Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Link Log List ( data : ĠArrayList < Log List Entity > ?, Ġtotal page : ĠInt ?) Ġ{ Ċ // å®¢æĪ· æĹ¥å¿Ĺ ĊĠĠĠĠĠĠĠ Ġm total page Ġ= Ġtotal page ĊĠĠĠĠĠĠĠ Ġif Ġ( data Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( page Ġ== Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm My Client Tab Adapter ?. setData New ( data ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm My Client Tab Adapter ?. setData All ( data ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( page Ġ== Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm My Client Tab Adapter ?. clear data () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Comp lay Log List ( data : ĠArrayList < Log List Entity > ?, Ġtotal page : ĠInt ?) Ġ{ Ċ // åħ¬åı¸ æĹ¥å¿Ĺ ĊĠĠĠĠĠĠĠ Ġm total page Ġ= Ġtotal page ĊĊĠĠĠĠĠĠĠ Ġif Ġ( data Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( page Ġ== Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm My Client Tab Adapter ?. setData New ( data ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm My Client Tab Adapter ?. setData All ( data ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( page Ġ== Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm My Client Tab Adapter ?. clear data () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Com Pl any Customer ( data : ĠArrayList < Customer Search Entity > ?, Ġtotal page : ĠInt ?) Ġ{ Ċ // èģĶç³» äºº ĊĠĠĠĠĠĠĠ Ġif Ġ( data != null ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( data . size > 3 ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdatal ist . clear () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdatal ist . add ( data [ 0 ]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdatal ist . add ( data [ 1 ]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdatal ist . add ( data [ 2 ]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm My Client Tab User Adapter ?. setData New ( datal ist ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm My Client Tab User Adapter ?. setData New ( data ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ Ċ }