Parcourir la source

1.兼职工作的模块首页构架-2
2.Main Page Profile Page Created

liukai il y a 2 ans
Parent
commit
d9afd1bc06

+ 14 - 0
cpt_main/src/main/java/com/hongyegroup/cpt_main/mvvm/ProfileViewModel.kt

@@ -0,0 +1,14 @@
+package com.hongyegroup.cpt_main.mvvm
+
+import androidx.lifecycle.SavedStateHandle
+import com.guadou.lib_baselib.base.vm.BaseViewModel
+import dagger.hilt.android.lifecycle.HiltViewModel
+import javax.inject.Inject
+
+@HiltViewModel
+class ProfileViewModel @Inject constructor(
+    private val savedStateHandle: SavedStateHandle
+) : BaseViewModel() {
+
+
+}

+ 2 - 1
cpt_main/src/main/java/com/hongyegroup/cpt_main/ui/HomeFragment.kt

@@ -5,6 +5,7 @@ import android.view.View
 import com.guadou.cs_cptservices.adapter.BannerRectangleCircleIndicator
 import com.guadou.cs_cptservices.base.fragment.YYBaseVDBLoadingFragment
 import com.guadou.cs_cptservices.interfaces.IFragmentRefresh
+import com.guadou.cs_router.YYRouterService
 import com.guadou.lib_baselib.bean.DataBindingConfig
 import com.guadou.lib_baselib.engine.toast
 import com.guadou.lib_baselib.ext.horizontal
@@ -148,7 +149,7 @@ class HomeFragment : YYBaseVDBLoadingFragment<HomeViewModel, FragmentHomeBinding
         }
 
         fun gotoParttimePage() {
-            toast("去兼职页面")
+            YYRouterService.parttimeComponentServer?.startPartTimeJobMainPage()
         }
 
         fun gotoBulletinBoardPage() {

+ 2 - 2
cpt_main/src/main/java/com/hongyegroup/cpt_main/ui/MainActivity.kt

@@ -210,7 +210,7 @@ class MainActivity : YYBaseVDBActivity<MainViewModel, ActivityMainBinding>() {
         mHomeFragment = HomeFragment()
         mEWalletFragment = YYRouterService.eWalletComponentServer?.obtainEWalletMainFragment()
         mNewsFeedFragment = YYRouterService.newsfeedComponentServer?.obtainNewsFeedMainFragment()
-        mProfileFragment = YYRouterService.parttimeComponentServer?.obtainPartTimeProfileFragment()
+        mProfileFragment = ProfileFragment()
     }
 
     // activity的销毁标识
@@ -234,7 +234,7 @@ class MainActivity : YYBaseVDBActivity<MainViewModel, ActivityMainBinding>() {
             mHomeFragment = f0 ?: HomeFragment()
             mEWalletFragment = f1 ?: YYRouterService.eWalletComponentServer?.obtainEWalletMainFragment()
             mNewsFeedFragment = f2 ?: YYRouterService.newsfeedComponentServer?.obtainNewsFeedMainFragment()
-            mProfileFragment = f3 ?: YYRouterService.parttimeComponentServer?.obtainPartTimeProfileFragment()
+            mProfileFragment = f3 ?: ProfileFragment()
         }
     }
 

+ 83 - 0
cpt_main/src/main/java/com/hongyegroup/cpt_main/ui/ProfileFragment.kt

@@ -0,0 +1,83 @@
+package com.hongyegroup.cpt_main.ui
+
+import android.os.Bundle
+import android.view.View
+import com.guadou.cs_cptservices.base.fragment.YYBaseVDBLoadingFragment
+import com.guadou.cs_cptservices.interfaces.IFragmentRefresh
+import com.guadou.lib_baselib.bean.DataBindingConfig
+import com.guadou.lib_baselib.utils.CommUtils
+import com.guadou.lib_baselib.view.gloading.GLoadingTitleStatus
+import com.guadou.lib_baselib.view.gloading.Gloading
+import com.guadou.lib_baselib.view.gloading.GloadingGlobalAdapter
+import com.hongyegroup.cpt_main.BR
+import com.hongyegroup.cpt_main.R
+import com.hongyegroup.cpt_main.databinding.FragmentProfileBinding
+import com.hongyegroup.cpt_main.mvvm.ProfileViewModel
+import com.scwang.smart.refresh.layout.api.RefreshLayout
+import com.scwang.smart.refresh.layout.listener.OnRefreshListener
+
+/**
+ * 首页列表
+ */
+class ProfileFragment : YYBaseVDBLoadingFragment<ProfileViewModel, FragmentProfileBinding>(), IFragmentRefresh,
+    OnRefreshListener {
+
+    override fun getDataBindingConfig(): DataBindingConfig {
+        return DataBindingConfig(R.layout.fragment_profile, BR.viewModel, mViewModel)
+            .addBindingParams(BR.click, ClickProxy())
+    }
+
+    //重新生成GLoading对象-跳动动画
+    override fun generateGLoading(view: View): Gloading.Holder {
+        return Gloading.from(GloadingGlobalAdapter())
+            .wrap(view, GLoadingTitleStatus(true, true, true))
+            .withRetry { onGoadingRetry() }
+    }
+
+    override fun startObserve() {
+    }
+
+    override fun init(savedInstanceState: Bundle?) {
+
+        initRV()
+        initData()
+        initListener()
+    }
+
+    private fun initData() {
+        showStateLoading()
+        CommUtils.getHandler().postDelayed({
+            showStateSuccess()
+        }, 1500)
+    }
+
+    override fun onGoadingRetry() {
+
+    }
+
+    private fun initListener() {
+
+    }
+
+    override fun onRefresh(refreshLayout: RefreshLayout) {
+
+    }
+
+
+    private fun initRV() {
+
+    }
+
+    override fun scrollTopRefresh() {
+
+    }
+
+    /**
+     * DataBinding事件处理
+     */
+    inner class ClickProxy {
+
+    }
+
+
+}

+ 83 - 0
cpt_main/src/main/res/layout/fragment_profile.xml

@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:binding="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    tools:ignore="RtlHardcoded">
+
+    <data>
+
+        <variable
+            name="viewModel"
+            type="com.hongyegroup.cpt_main.mvvm.ProfileViewModel" />
+
+        <variable
+            name="click"
+            type="com.hongyegroup.cpt_main.ui.ProfileFragment.ClickProxy" />
+
+    </data>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:background="@color/white"
+        android:orientation="vertical">
+
+        <com.guadou.lib_baselib.view.titlebar.StatusbarGrayView
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content" />
+
+        <FrameLayout
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/d_46dp">
+
+            <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center"
+                android:text="个人状态页面"
+                android:textColor="@color/black"
+                android:textSize="@dimen/d_18sp" />
+
+            <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="right|center_vertical"
+                android:layout_marginRight="@dimen/d_15dp"
+                android:text="全部已读"
+                android:textColor="@color/profile_red"
+                android:textSize="@dimen/d_16sp" />
+
+        </FrameLayout>
+
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/d_0.7dp"
+            android:background="@color/divider_color_ee" />
+
+        <com.scwang.smart.refresh.layout.SmartRefreshLayout
+            android:id="@+id/refresh_layout"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:focusable="true"
+            android:focusableInTouchMode="true"
+            app:srlEnablePreviewInEditMode="true"
+            app:srlPrimaryColor="@color/white">
+
+            <com.scwang.smart.refresh.header.ClassicsHeader
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content" />
+
+
+            <TextView
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:gravity="center"
+                android:text="我的页面" />
+
+        </com.scwang.smart.refresh.layout.SmartRefreshLayout>
+
+    </LinearLayout>
+
+
+</layout>

+ 4 - 16
cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/router/PartTimeComponentServiceImpl.kt

@@ -1,36 +1,24 @@
 package com.hongyegroup.cpt_parttime.router
 
 import android.content.Context
-import androidx.fragment.app.Fragment
 import com.alibaba.android.arouter.facade.annotation.Route
 import com.guadou.cs_router.ARouterPath
 import com.guadou.cs_router.parttime.IParttimeComponentServer
-import com.guadou.lib_baselib.utils.log.YYLogUtils
-import com.hongyegroup.cpt_parttime.ui.main.JobActivesFragment
-import com.hongyegroup.cpt_parttime.ui.PartJobProfileFragment
-import com.hongyegroup.cpt_parttime.ui.main.PartTimeHomeFragment
+import com.hongyegroup.cpt_parttime.ui.activity.PartTimeMainActivity
 
 @Route(path = ARouterPath.PATH_SERVICE_PARTTIME, name = "PartTime模块路由服务")
 class PartTimeComponentServiceImpl : IParttimeComponentServer {
 
     override fun startPartTimeJobDetailPage() {
-        YYLogUtils.w("PartTimeComponentServiceImpl-startPartTimeJobDetailPage")
-    }
-
-    override fun obtainPartTimeMainFragment(): Fragment {
-        return PartTimeHomeFragment()
-    }
 
-    override fun obtainPartTimeActivesFragment(): Fragment {
-        return JobActivesFragment()
     }
 
-    override fun obtainPartTimeProfileFragment(): Fragment {
-        return PartJobProfileFragment()
+    override fun startPartTimeJobMainPage() {
+        PartTimeMainActivity.startInstance()
     }
 
     override fun init(context: Context?) {
-        YYLogUtils.w("PartTimeComponentServiceImpl-init")
+
     }
 
 

+ 81 - 53
cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/activity/PartTimeMainActivity.kt

@@ -4,20 +4,22 @@ import android.os.Bundle
 import androidx.fragment.app.Fragment
 import androidx.fragment.app.FragmentManager
 import androidx.fragment.app.FragmentTransaction
-import com.alibaba.android.arouter.facade.annotation.Route
 import com.guadou.cs_cptservices.base.activity.YYBaseVDBActivity
 import com.guadou.cs_cptservices.interfaces.IFragmentRefresh
-import com.guadou.cs_router.ARouterPath
 import com.guadou.cs_router.YYRouterService
 import com.guadou.lib_baselib.bean.DataBindingConfig
 import com.guadou.lib_baselib.ext.commContext
 import com.guadou.lib_baselib.ext.gotoActivity
 import com.guadou.lib_baselib.utils.NetWorkUtil
 import com.guadou.lib_baselib.utils.StatusBarUtils
-import com.hongyegroup.cpt_parttime.R
 import com.hongyegroup.cpt_parttime.BR
+import com.hongyegroup.cpt_parttime.R
 import com.hongyegroup.cpt_parttime.databinding.ActivityPartTimeMainBinding
 import com.hongyegroup.cpt_parttime.mvvm.PartTimeMainViewModel
+import com.hongyegroup.cpt_parttime.ui.main.PartTimeActivesFragment
+import com.hongyegroup.cpt_parttime.ui.main.PartTimeHomeFragment
+import com.hongyegroup.cpt_parttime.ui.main.PartTimeProfileFragment
+import com.hongyegroup.cpt_parttime.ui.main.PartTimeTrainFragment
 import dagger.hilt.android.AndroidEntryPoint
 
 /**
@@ -27,10 +29,11 @@ import dagger.hilt.android.AndroidEntryPoint
 class PartTimeMainActivity : YYBaseVDBActivity<PartTimeMainViewModel, ActivityPartTimeMainBinding>() {
 
     //首页的5个TabFragment
-    private var mHomeFragment: Fragment? = null
-    private var mEWalletFragment: Fragment? = null
-    private var mNewsFeedFragment: Fragment? = null
-    private var mProfileFragment: Fragment? = null
+    private var mPartTimeHomeFragment: Fragment? = null
+    private var mPartTimeActiveFragment: Fragment? = null
+    private var mPartTimeWalletFragment: Fragment? = null
+    private var mPartTimeTrainFragment: Fragment? = null
+    private var mPartTimeMeFragment: Fragment? = null
     private var mCurPosition = 0  //当前Fragment选中的索引
     private var mClickPage = 0  //当前Fragment选中的索引
 
@@ -73,22 +76,27 @@ class PartTimeMainActivity : YYBaseVDBActivity<PartTimeMainViewModel, ActivityPa
         if (isConnected) {
             when (mCurPosition) {
                 0 -> {
-                    mHomeFragment?.let {
+                    mPartTimeHomeFragment?.let {
                         if (it is IFragmentRefresh) (it as IFragmentRefresh).scrollTopRefresh()
                     }
                 }
                 1 -> {
-                    mEWalletFragment?.let {
+                    mPartTimeActiveFragment?.let {
                         if (it is IFragmentRefresh) (it as IFragmentRefresh).scrollTopRefresh()
                     }
                 }
                 2 -> {
-                    mNewsFeedFragment?.let {
+                    mPartTimeWalletFragment?.let {
                         if (it is IFragmentRefresh) (it as IFragmentRefresh).scrollTopRefresh()
                     }
                 }
                 3 -> {
-                    mProfileFragment?.let {
+                    mPartTimeTrainFragment?.let {
+                        if (it is IFragmentRefresh) (it as IFragmentRefresh).scrollTopRefresh()
+                    }
+                }
+                4 -> {
+                    mPartTimeMeFragment?.let {
                         if (it is IFragmentRefresh) (it as IFragmentRefresh).scrollTopRefresh()
                     }
                 }
@@ -105,16 +113,19 @@ class PartTimeMainActivity : YYBaseVDBActivity<PartTimeMainViewModel, ActivityPa
 
         when (index) {
             0 -> {
-                targetFragment = mHomeFragment
+                targetFragment = mPartTimeHomeFragment
             }
             1 -> {
-                targetFragment = mEWalletFragment
+                targetFragment = mPartTimeActiveFragment
             }
             2 -> {
-                targetFragment = mNewsFeedFragment
+                targetFragment = mPartTimeWalletFragment
             }
             3 -> {
-                targetFragment = mProfileFragment
+                targetFragment = mPartTimeTrainFragment
+            }
+            4 -> {
+                targetFragment = mPartTimeMeFragment
             }
             else -> {
                 targetFragment = null
@@ -148,23 +159,26 @@ class PartTimeMainActivity : YYBaseVDBActivity<PartTimeMainViewModel, ActivityPa
     private fun setupStatusBarColor() {
         //只有Profile页面变白色
         when (mCurPosition) {
-            1, 3 -> setStatusBarWhiteText()
+            1, 2, 4 -> setStatusBarWhiteText()
             else -> setStatusBarBlackText()
         }
     }
 
     // 隐藏 fragment
     private fun hideFragment(transaction: FragmentTransaction) {
-        mHomeFragment?.let {
+        mPartTimeHomeFragment?.let {
+            transaction.hide(it)
+        }
+        mPartTimeActiveFragment?.let {
             transaction.hide(it)
         }
-        mEWalletFragment?.let {
+        mPartTimeWalletFragment?.let {
             transaction.hide(it)
         }
-        mNewsFeedFragment?.let {
+        mPartTimeTrainFragment?.let {
             transaction.hide(it)
         }
-        mProfileFragment?.let {
+        mPartTimeMeFragment?.let {
             transaction.hide(it)
         }
     }
@@ -175,28 +189,39 @@ class PartTimeMainActivity : YYBaseVDBActivity<PartTimeMainViewModel, ActivityPa
         //传递进来的Position设置为选中:
         when (position) {
             0 -> {
-                mBinding.groupTabHome.isSelected = true
-                mBinding.groupTabWallet.isSelected = false
-                mBinding.groupTabNewsfeed.isSelected = false
-                mBinding.groupTabMe.isSelected = false
+                mBinding.llTabHome.isSelected = true
+                mBinding.llTabActive.isSelected = false
+                mBinding.llTabWallet.isSelected = false
+                mBinding.llTabTrain.isSelected = false
+                mBinding.llTabMe.isSelected = false
             }
             1 -> {
-                mBinding.groupTabHome.isSelected = false
-                mBinding.groupTabWallet.isSelected = true
-                mBinding.groupTabNewsfeed.isSelected = false
-                mBinding.groupTabMe.isSelected = false
+                mBinding.llTabHome.isSelected = false
+                mBinding.llTabActive.isSelected = true
+                mBinding.llTabWallet.isSelected = false
+                mBinding.llTabTrain.isSelected = false
+                mBinding.llTabMe.isSelected = false
             }
             2 -> {
-                mBinding.groupTabHome.isSelected = false
-                mBinding.groupTabWallet.isSelected = false
-                mBinding.groupTabNewsfeed.isSelected = true
-                mBinding.groupTabMe.isSelected = false
+                mBinding.llTabHome.isSelected = false
+                mBinding.llTabActive.isSelected = false
+                mBinding.llTabWallet.isSelected = true
+                mBinding.llTabTrain.isSelected = false
+                mBinding.llTabMe.isSelected = false
             }
             3 -> {
-                mBinding.groupTabHome.isSelected = false
-                mBinding.groupTabWallet.isSelected = false
-                mBinding.groupTabNewsfeed.isSelected = false
-                mBinding.groupTabMe.isSelected = true
+                mBinding.llTabHome.isSelected = false
+                mBinding.llTabActive.isSelected = false
+                mBinding.llTabWallet.isSelected = false
+                mBinding.llTabTrain.isSelected = true
+                mBinding.llTabMe.isSelected = false
+            }
+            4 -> {
+                mBinding.llTabHome.isSelected = false
+                mBinding.llTabActive.isSelected = false
+                mBinding.llTabWallet.isSelected = false
+                mBinding.llTabTrain.isSelected = false
+                mBinding.llTabMe.isSelected = true
             }
         }
     }
@@ -206,10 +231,11 @@ class PartTimeMainActivity : YYBaseVDBActivity<PartTimeMainViewModel, ActivityPa
      */
     private fun initFragment() {
         // 正常情况下初始化
-        mHomeFragment = HomeFragment()
-        mEWalletFragment = YYRouterService.eWalletComponentServer?.obtainEWalletMainFragment()
-        mNewsFeedFragment = YYRouterService.newsfeedComponentServer?.obtainNewsFeedMainFragment()
-        mProfileFragment = YYRouterService.parttimeComponentServer?.obtainPartTimeProfileFragment()
+        mPartTimeHomeFragment = PartTimeHomeFragment()
+        mPartTimeActiveFragment = PartTimeActivesFragment()
+        mPartTimeWalletFragment = YYRouterService.eWalletComponentServer?.obtainEWalletMainFragment()
+        mPartTimeTrainFragment = PartTimeTrainFragment()
+        mPartTimeMeFragment = PartTimeProfileFragment()
     }
 
     // activity的销毁标识
@@ -228,12 +254,14 @@ class PartTimeMainActivity : YYBaseVDBActivity<PartTimeMainViewModel, ActivityPa
             val f1 = manager.findFragmentByTag("1")
             val f2 = manager.findFragmentByTag("2")
             val f3 = manager.findFragmentByTag("3")
+            val f4 = manager.findFragmentByTag("4")
 
             // 复用
-            mHomeFragment = f0 ?: HomeFragment()
-            mEWalletFragment = f1 ?: YYRouterService.eWalletComponentServer?.obtainEWalletMainFragment()
-            mNewsFeedFragment = f2 ?: YYRouterService.newsfeedComponentServer?.obtainNewsFeedMainFragment()
-            mProfileFragment = f3 ?: YYRouterService.parttimeComponentServer?.obtainPartTimeProfileFragment()
+            mPartTimeHomeFragment = f0 ?: PartTimeHomeFragment()
+            mPartTimeActiveFragment = f1 ?: PartTimeActivesFragment()
+            mPartTimeWalletFragment = f2 ?: YYRouterService.eWalletComponentServer?.obtainEWalletMainFragment()
+            mPartTimeTrainFragment = f3 ?: PartTimeTrainFragment()
+            mPartTimeMeFragment = f4 ?: PartTimeProfileFragment()
         }
     }
 
@@ -255,7 +283,7 @@ class PartTimeMainActivity : YYBaseVDBActivity<PartTimeMainViewModel, ActivityPa
             mClickPage = 0
             if (mClickPage == mCurPosition) {
                 //重复点击
-                mHomeFragment?.let {
+                mPartTimeHomeFragment?.let {
                     if (it is IFragmentRefresh) (it as IFragmentRefresh).scrollTopRefresh()
                 }
             } else {
@@ -267,7 +295,7 @@ class PartTimeMainActivity : YYBaseVDBActivity<PartTimeMainViewModel, ActivityPa
             mClickPage = 1
             if (mClickPage == mCurPosition) {
                 //重复点击
-                mEWalletFragment?.let {
+                mPartTimeActiveFragment?.let {
                     if (it is IFragmentRefresh) (it as IFragmentRefresh).scrollTopRefresh()
                 }
             } else {
@@ -279,7 +307,7 @@ class PartTimeMainActivity : YYBaseVDBActivity<PartTimeMainViewModel, ActivityPa
             mClickPage = 2
             if (mClickPage == mCurPosition) {
                 //重复点击
-                mNewsFeedFragment?.let {
+                mPartTimeWalletFragment?.let {
                     if (it is IFragmentRefresh) (it as IFragmentRefresh).scrollTopRefresh()
                 }
             } else {
@@ -288,27 +316,27 @@ class PartTimeMainActivity : YYBaseVDBActivity<PartTimeMainViewModel, ActivityPa
         }
 
         fun switchTrain() {
-            mClickPage = 2
+            mClickPage = 3
             if (mClickPage == mCurPosition) {
                 //重复点击
-                mNewsFeedFragment?.let {
+                mPartTimeTrainFragment?.let {
                     if (it is IFragmentRefresh) (it as IFragmentRefresh).scrollTopRefresh()
                 }
             } else {
-                switchFragment(2)
+                switchFragment(3)
             }
         }
 
         //切换Me页面Tab
         fun switchMe() {
-            mClickPage = 3
+            mClickPage = 4
             if (mClickPage == mCurPosition) {
                 //重复点击
-                mProfileFragment?.let {
+                mPartTimeMeFragment?.let {
                     if (it is IFragmentRefresh) (it as IFragmentRefresh).scrollTopRefresh()
                 }
             } else {
-                switchFragment(3)
+                switchFragment(4)
             }
         }
 

+ 1 - 1
cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/main/JobActivesFragment.kt

@@ -19,7 +19,7 @@ import com.scwang.smart.refresh.layout.listener.OnRefreshListener
 /**
  * 首页列表
  */
-class JobActivesFragment : YYBaseVDBLoadingFragment<JobActivesViewModel, FragmentJobActivesBinding>(), IFragmentRefresh,
+class PartTimeActivesFragment : YYBaseVDBLoadingFragment<JobActivesViewModel, FragmentJobActivesBinding>(), IFragmentRefresh,
     OnRefreshListener {
 
     override fun getDataBindingConfig(): DataBindingConfig {

+ 4 - 2
cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/PartJobProfileFragment.kt

@@ -1,4 +1,4 @@
-package com.hongyegroup.cpt_parttime.ui
+package com.hongyegroup.cpt_parttime.ui.main
 
 import android.os.Bundle
 import android.view.View
@@ -15,6 +15,8 @@ import com.hongyegroup.cpt_parttime.BR
 import com.hongyegroup.cpt_parttime.R
 import com.hongyegroup.cpt_parttime.databinding.FragmentParttimeJobProfileBinding
 import com.hongyegroup.cpt_parttime.mvvm.PartJobProfileViewModel
+import com.hongyegroup.cpt_parttime.ui.PartJobEditProfileInfoActivity
+import com.hongyegroup.cpt_parttime.ui.SettingsActivity
 import com.hongyegroup.cpt_parttime.widget.UserUrgentAlertPopup
 import com.lxj.xpopup.XPopup
 import com.scwang.smart.refresh.layout.api.RefreshLayout
@@ -23,7 +25,7 @@ import com.scwang.smart.refresh.layout.listener.OnRefreshListener
 /**
  * 兼职个人信息页面
  */
-class PartJobProfileFragment : YYBaseVDBLoadingFragment<PartJobProfileViewModel, FragmentParttimeJobProfileBinding>(), IFragmentRefresh,
+class PartTimeProfileFragment : YYBaseVDBLoadingFragment<PartJobProfileViewModel, FragmentParttimeJobProfileBinding>(), IFragmentRefresh,
     OnRefreshListener {
 
     override fun getDataBindingConfig(): DataBindingConfig {

+ 83 - 0
cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/main/PartTimeTrainFragment.kt

@@ -0,0 +1,83 @@
+package com.hongyegroup.cpt_parttime.ui.main
+
+import android.os.Bundle
+import android.view.View
+import com.guadou.cs_cptservices.base.fragment.YYBaseVDBLoadingFragment
+import com.guadou.cs_cptservices.interfaces.IFragmentRefresh
+import com.guadou.lib_baselib.base.vm.EmptyViewModel
+import com.guadou.lib_baselib.bean.DataBindingConfig
+import com.guadou.lib_baselib.utils.CommUtils
+import com.guadou.lib_baselib.view.gloading.GLoadingTitleStatus
+import com.guadou.lib_baselib.view.gloading.Gloading
+import com.guadou.lib_baselib.view.gloading.GloadingGlobalAdapter
+import com.hongyegroup.cpt_parttime.BR
+import com.hongyegroup.cpt_parttime.R
+import com.hongyegroup.cpt_parttime.databinding.FragmentJobTrainBinding
+import com.scwang.smart.refresh.layout.api.RefreshLayout
+import com.scwang.smart.refresh.layout.listener.OnRefreshListener
+
+/**
+ * 首页列表的培训Web页面
+ */
+class PartTimeTrainFragment : YYBaseVDBLoadingFragment<EmptyViewModel, FragmentJobTrainBinding>(), IFragmentRefresh,
+    OnRefreshListener {
+
+    override fun getDataBindingConfig(): DataBindingConfig {
+        return DataBindingConfig(R.layout.fragment_job_train, BR.viewModel, mViewModel)
+            .addBindingParams(BR.click, ClickProxy())
+    }
+
+    //重新生成GLoading对象-跳动动画
+    override fun generateGLoading(view: View): Gloading.Holder {
+        return Gloading.from(GloadingGlobalAdapter())
+            .wrap(view, GLoadingTitleStatus(true, true, true))
+            .withRetry { onGoadingRetry() }
+    }
+
+    override fun startObserve() {
+    }
+
+    override fun init(savedInstanceState: Bundle?) {
+
+        initRV()
+        initData()
+        initListener()
+    }
+
+    private fun initData() {
+        showStateLoading()
+        CommUtils.getHandler().postDelayed({
+            showStateSuccess()
+        }, 1500)
+    }
+
+    override fun onGoadingRetry() {
+
+    }
+
+    private fun initListener() {
+
+    }
+
+    override fun onRefresh(refreshLayout: RefreshLayout) {
+
+    }
+
+
+    private fun initRV() {
+
+    }
+
+    override fun scrollTopRefresh() {
+
+    }
+
+    /**
+     * DataBinding事件处理
+     */
+    inner class ClickProxy {
+
+    }
+
+
+}

+ 5 - 0
cpt_parttime/src/main/res/layout/activity_part_time_main.xml

@@ -47,6 +47,7 @@
 
             <!--首页-->
             <LinearLayout
+                android:id="@+id/ll_tab_home"
                 style="@style/SelectableItemBackgroundLess"
                 android:layout_width="0dp"
                 android:layout_height="wrap_content"
@@ -71,6 +72,7 @@
 
             <!-- 工作状态 -->
             <LinearLayout
+                android:id="@+id/ll_tab_active"
                 style="@style/SelectableItemBackgroundLess"
                 android:layout_width="0dp"
                 android:layout_height="wrap_content"
@@ -95,6 +97,7 @@
 
             <!--钱包-->
             <LinearLayout
+                android:id="@+id/ll_tab_wallet"
                 style="@style/SelectableItemBackgroundLess"
                 android:layout_width="0dp"
                 android:layout_height="wrap_content"
@@ -119,6 +122,7 @@
 
             <!-- 培训 -->
             <LinearLayout
+                android:id="@+id/ll_tab_train"
                 style="@style/SelectableItemBackgroundLess"
                 android:layout_width="0dp"
                 android:layout_height="wrap_content"
@@ -143,6 +147,7 @@
 
             <!-- 我的  -->
             <LinearLayout
+                android:id="@+id/ll_tab_me"
                 style="@style/SelectableItemBackgroundLess"
                 android:layout_width="0dp"
                 android:layout_height="wrap_content"

+ 1 - 1
cpt_parttime/src/main/res/layout/fragment_job_actives.xml

@@ -13,7 +13,7 @@
 
         <variable
             name="click"
-            type="com.hongyegroup.cpt_parttime.ui.main.JobActivesFragment" />
+            type="com.hongyegroup.cpt_parttime.ui.main.PartTimeActivesFragment.ClickProxy" />
 
     </data>
 

+ 66 - 0
cpt_parttime/src/main/res/layout/fragment_job_train.xml

@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:binding="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    tools:ignore="RtlHardcoded">
+
+    <data>
+
+    </data>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:background="@color/white"
+        android:orientation="vertical">
+
+        <com.guadou.lib_baselib.view.titlebar.StatusbarGrayView
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content" />
+
+        <FrameLayout
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/d_46dp">
+
+            <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center"
+                android:text="工作培训"
+                android:textColor="@color/black"
+                android:textSize="@dimen/d_18sp" />
+
+        </FrameLayout>
+
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/d_0.7dp"
+            android:background="@color/divider_color_ee" />
+
+        <com.scwang.smart.refresh.layout.SmartRefreshLayout
+            android:id="@+id/refresh_layout"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:focusable="true"
+            android:focusableInTouchMode="true"
+            app:srlEnablePreviewInEditMode="true"
+            app:srlPrimaryColor="@color/white">
+
+            <com.scwang.smart.refresh.header.ClassicsHeader
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content" />
+
+
+            <TextView
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:gravity="center"
+                android:text="工作培训页面" />
+
+        </com.scwang.smart.refresh.layout.SmartRefreshLayout>
+
+    </LinearLayout>
+
+
+</layout>

+ 1 - 1
cpt_parttime/src/main/res/layout/fragment_parttime_job_profile.xml

@@ -13,7 +13,7 @@
 
         <variable
             name="click"
-            type="com.hongyegroup.cpt_parttime.ui.PartJobProfileFragment.ClickProxy" />
+            type="com.hongyegroup.cpt_parttime.ui.main.PartTimeProfileFragment.ClickProxy" />
 
     </data>
 

+ 1 - 0
cs_cptServices/src/main/res/values/colors.xml

@@ -32,6 +32,7 @@
     <color name="text_black_37">#373737</color>
     <color name="text_yellow_ff9300">#FF9300</color>
     <color name="dark_yellow_9f5f09">#9F5F09</color>
+
     <color name="profile_black_28394a">#28394A</color>
     <color name="main_topitem_selected_bg">#0689FB</color>
     <color name="profile_black_8098b2">#8098B2</color>

+ 1 - 6
cs_router/src/main/java/com/guadou/cs_router/parttime/IParttimeComponentServer.kt

@@ -1,16 +1,11 @@
 package com.guadou.cs_router.parttime
 
-import androidx.fragment.app.Fragment
 import com.alibaba.android.arouter.facade.template.IProvider
 
 interface IParttimeComponentServer : IProvider {
 
     fun startPartTimeJobDetailPage()
 
-    fun obtainPartTimeMainFragment(): Fragment
-
-    fun obtainPartTimeActivesFragment(): Fragment
-
-    fun obtainPartTimeProfileFragment(): Fragment
+    fun startPartTimeJobMainPage()
 
 }