瀏覽代碼

Merge branch 'master' of http://git.wmzhubo.com/guadoutech/PartTimeJob_CN_Android

 Conflicts:
	cs_cptServices/src/main/java/com/guadou/cs_cptservices/YYConstants.java
	cs_cptServices/src/main/res/values/colors.xml
	cs_cptServices/src/main/res/values/styles.xml
Administrator 2 年之前
父節點
當前提交
499dcc09bc
共有 100 個文件被更改,包括 4022 次插入1290 次删除
  1. 32 0
      app/build.gradle
  2. 1 1
      app/proguard-rules.pro
  3. 2 2
      app/src/main/java/com/hongyegroup/zhurijob/app/MyApplication.kt
  4. 10 0
      cpt_ewallet/src/main/AndroidManifest.xml
  5. 14 0
      cpt_ewallet/src/main/java/com/hongyegroup/cpt_ewallet/mvvm/AppointmentEnquiryDetailViewModel.kt
  6. 16 0
      cpt_ewallet/src/main/java/com/hongyegroup/cpt_ewallet/mvvm/AppointmentEnquiryViewModel.kt
  7. 21 0
      cpt_ewallet/src/main/java/com/hongyegroup/cpt_ewallet/mvvm/BankWithdrawViewModel.kt
  8. 18 0
      cpt_ewallet/src/main/java/com/hongyegroup/cpt_ewallet/mvvm/EWalletWithdrawViewModel.kt
  9. 74 0
      cpt_ewallet/src/main/java/com/hongyegroup/cpt_ewallet/mvvm/WithdrawAppointmentViewModel.kt
  10. 2 2
      cpt_ewallet/src/main/java/com/hongyegroup/cpt_ewallet/router/EWalletComponentServiceImpl.kt
  11. 53 0
      cpt_ewallet/src/main/java/com/hongyegroup/cpt_ewallet/ui/AppointmentEnquiryActivity.kt
  12. 44 0
      cpt_ewallet/src/main/java/com/hongyegroup/cpt_ewallet/ui/AppointmentEnquiryDetailActivity.kt
  13. 59 0
      cpt_ewallet/src/main/java/com/hongyegroup/cpt_ewallet/ui/BankWithdrawActivity.kt
  14. 13 4
      cpt_ewallet/src/main/java/com/hongyegroup/cpt_ewallet/ui/EWalletMainFragment.kt
  15. 125 0
      cpt_ewallet/src/main/java/com/hongyegroup/cpt_ewallet/ui/EWalletWithdrawActivity.kt
  16. 98 0
      cpt_ewallet/src/main/java/com/hongyegroup/cpt_ewallet/ui/WithdrawAppointmentActivity.kt
  17. 49 0
      cpt_ewallet/src/main/java/com/hongyegroup/cpt_ewallet/widget/WithdrawDisclaimersPopup.kt
  18. 二進制
      cpt_ewallet/src/main/res/drawable-xhdpi/dis_five.webp
  19. 二進制
      cpt_ewallet/src/main/res/drawable-xhdpi/dis_four.webp
  20. 二進制
      cpt_ewallet/src/main/res/drawable-xhdpi/dis_one.webp
  21. 二進制
      cpt_ewallet/src/main/res/drawable-xhdpi/dis_six.webp
  22. 二進制
      cpt_ewallet/src/main/res/drawable-xhdpi/dis_three.webp
  23. 二進制
      cpt_ewallet/src/main/res/drawable-xhdpi/dis_two.webp
  24. 二進制
      cpt_ewallet/src/main/res/drawable-xxhdpi/ewallet_appiontments_icon.webp
  25. 二進制
      cpt_ewallet/src/main/res/drawable-xxhdpi/ewallet_withdraw_icon.webp
  26. 二進制
      cpt_ewallet/src/main/res/drawable-xxhdpi/giro_method.webp
  27. 二進制
      cpt_ewallet/src/main/res/drawable-xxhdpi/iv_enquiry_giro_status_date.webp
  28. 二進制
      cpt_ewallet/src/main/res/drawable-xxhdpi/iv_enquiry_giro_status_reply.webp
  29. 二進制
      cpt_ewallet/src/main/res/drawable-xxhdpi/iv_enquiry_giro_write.webp
  30. 二進制
      cpt_ewallet/src/main/res/drawable-xxhdpi/iv_giro_appointment_date.webp
  31. 二進制
      cpt_ewallet/src/main/res/drawable-xxhdpi/iv_giro_appointment_hotphone.webp
  32. 二進制
      cpt_ewallet/src/main/res/drawable-xxhdpi/pay_method_checked.webp
  33. 二進制
      cpt_ewallet/src/main/res/drawable-xxhdpi/wallet_appointments_icon.webp
  34. 二進制
      cpt_ewallet/src/main/res/drawable-xxhdpi/wallet_withdrawn_icon.webp
  35. 二進制
      cpt_ewallet/src/main/res/drawable-xxhdpi/withdrawal_all.webp
  36. 二進制
      cpt_ewallet/src/main/res/drawable-xxhdpi/withdrawal_noall.webp
  37. 二進制
      cpt_ewallet/src/main/res/drawable-xxhdpi/yypay_facial_fingerprinticon.webp
  38. 7 0
      cpt_ewallet/src/main/res/drawable/shape_gray_bg_border_line.xml
  39. 90 0
      cpt_ewallet/src/main/res/layout/activity_appointment_enquiry.xml
  40. 122 0
      cpt_ewallet/src/main/res/layout/activity_appointment_enquiry_detail.xml
  41. 279 0
      cpt_ewallet/src/main/res/layout/activity_bank_withdraw.xml
  42. 268 0
      cpt_ewallet/src/main/res/layout/activity_ewallet_withdraw.xml
  43. 47 0
      cpt_ewallet/src/main/res/layout/activity_withdraw_appointment.xml
  44. 121 60
      cpt_ewallet/src/main/res/layout/fragment_ewallet_main.xml
  45. 262 0
      cpt_ewallet/src/main/res/layout/item_withdraw_appointment.xml
  46. 77 0
      cpt_ewallet/src/main/res/layout/item_withdraw_appointment_footer.xml
  47. 179 0
      cpt_ewallet/src/main/res/layout/popup_withdraw_disclanimers.xml
  48. 13 5
      cpt_main/src/main/java/com/hongyegroup/cpt_main/ui/HomeFragment.kt
  49. 2 2
      cpt_main/src/main/java/com/hongyegroup/cpt_main/ui/MainActivity.kt
  50. 2 0
      cpt_parttime/src/main/AndroidManifest.xml
  51. 13 0
      cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/bean/IndustryBean.java
  52. 4 1
      cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/mvvm/PartJobDetailChildViewModel.kt
  53. 4 1
      cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/mvvm/PartTimeHomeViewModel.kt
  54. 92 0
      cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/mvvm/PartTimeIndustryViewModel.kt
  55. 14 1
      cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/mvvm/PartTimeJobDetailViewModel.kt
  56. 2 1
      cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/router/PartTimeComponentServiceImpl.kt
  57. 3 5
      cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/activity/PartJobAlbumActivity.kt
  58. 99 0
      cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/activity/PartTimeIndustryActivity.kt
  59. 108 52
      cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/activity/PartTimeJobDetailActivity.kt
  60. 9 3
      cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/activity/PartTimeMainActivity.kt
  61. 9 5
      cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/fragment/PartJobDetailFaqFragment.kt
  62. 63 7
      cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/fragment/PartJobDetailFragment.kt
  63. 9 5
      cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/fragment/PartJobDetailGroomingFragment.kt
  64. 23 6
      cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/fragment/PartJobDetailPaymentFragment.kt
  65. 10 4
      cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/fragment/PartJobDetailProcessFragment.kt
  66. 13 5
      cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/fragment/PartJobDetailSlotsFragment.kt
  67. 37 10
      cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/main/PartTimeHomeFragment.kt
  68. 30 12
      cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/main/PartTimeProfileFragment.kt
  69. 0 2
      cpt_parttime/src/main/res/color/selector_filter_industry.xml
  70. 二進制
      cpt_parttime/src/main/res/drawable-xxhdpi/iv_job_detail_address.webp
  71. 二進制
      cpt_parttime/src/main/res/drawable-xxhdpi/iv_job_detail_category.webp
  72. 二進制
      cpt_parttime/src/main/res/drawable-xxhdpi/iv_job_detail_classify.webp
  73. 二進制
      cpt_parttime/src/main/res/drawable-xxhdpi/iv_job_detail_price_bg.webp
  74. 二進制
      cpt_parttime/src/main/res/drawable-xxhdpi/iv_job_detail_time.webp
  75. 二進制
      cpt_parttime/src/main/res/drawable-xxhdpi/job_detail_cancel_job_tips_icon.webp
  76. 二進制
      cpt_parttime/src/main/res/drawable-xxhdpi/job_detail_directions_icon.webp
  77. 二進制
      cpt_parttime/src/main/res/drawable-xxhdpi/part_time_me_qna.webp
  78. 二進制
      cpt_parttime/src/main/res/drawable-xxhdpi/redpacket_web_delete_rules.webp
  79. 12 0
      cpt_parttime/src/main/res/drawable/shape_home_list_border_bg.xml
  80. 16 16
      cpt_parttime/src/main/res/layout/activity_part_job_edit_profile_info.xml
  81. 73 0
      cpt_parttime/src/main/res/layout/activity_parttime_industry.xml
  82. 46 233
      cpt_parttime/src/main/res/layout/activity_parttime_job_detail.xml
  83. 7 38
      cpt_parttime/src/main/res/layout/fragment_parttime_job_detail.xml
  84. 1 1
      cpt_parttime/src/main/res/layout/fragment_parttime_job_detail_faq.xml
  85. 1 1
      cpt_parttime/src/main/res/layout/fragment_parttime_job_detail_payment.xml
  86. 0 1
      cpt_parttime/src/main/res/layout/fragment_parttime_job_detail_process.xml
  87. 1 1
      cpt_parttime/src/main/res/layout/fragment_parttime_job_detail_slots.xml
  88. 39 401
      cpt_parttime/src/main/res/layout/fragment_parttime_job_profile.xml
  89. 18 9
      cpt_parttime/src/main/res/layout/fragment_parttime_main.xml
  90. 249 0
      cpt_parttime/src/main/res/layout/include_part_time_job_detail_activity.xml
  91. 448 0
      cpt_parttime/src/main/res/layout/include_part_time_job_detail_fragment.xml
  92. 0 110
      cpt_parttime/src/main/res/layout/include_parttime_job_detail_header_date_address.xml
  93. 0 39
      cpt_parttime/src/main/res/layout/include_parttime_job_detail_header_interested.xml
  94. 0 75
      cpt_parttime/src/main/res/layout/include_parttime_job_detail_header_qualification.xml
  95. 0 95
      cpt_parttime/src/main/res/layout/include_parttime_job_detail_header_requirement.xml
  96. 0 69
      cpt_parttime/src/main/res/layout/include_parttime_job_detail_header_work.xml
  97. 381 4
      cpt_parttime/src/main/res/layout/include_pensonal_turn_up_rate.xml
  98. 1 1
      cpt_parttime/src/main/res/layout/item_part_job_how_report.xml
  99. 87 0
      cpt_parttime/src/main/res/layout/item_part_time_industry.xml
  100. 0 0
      cpt_parttime/src/main/res/layout/stub_job_detail_web.xml

+ 32 - 0
app/build.gradle

@@ -7,6 +7,38 @@ android {
         versionCode 100
         versionCode 100
         versionName "1.0.0"
         versionName "1.0.0"
         applicationId "com.hongyegroup.zhurijob"
         applicationId "com.hongyegroup.zhurijob"
+
+        resConfigs('zh-rCN')
+
+        ndk {
+            //选择要添加的对应cpu类型的.so库。
+            abiFilters 'armeabi-v7a', 'arm64-v8a'
+        }
+
+    }
+
+
+    buildTypes {
+        release {
+            //默认系统混淆
+            minifyEnabled true
+            // 不显示Log
+            buildConfigField "boolean", "LOG_DEBUG", "false"
+            //是否可调试
+            debuggable false
+            //Zipalign优化
+            zipAlignEnabled true
+            //移除无用的resource文件
+            shrinkResources true
+
+            multiDexKeepProguard file('multidex-config.pro')
+            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
+        }
+        debug {
+            debuggable true
+
+            multiDexKeepProguard file('multidex-config.pro')
+        }
     }
     }
 }
 }
 
 

+ 1 - 1
app/proguard-rules.pro

@@ -126,7 +126,7 @@
 #AndPermission
 #AndPermission
 -dontwarn com.yanzhenjie.permission.**
 -dontwarn com.yanzhenjie.permission.**
 
 
-#光推送
+#光推送
 -dontoptimize
 -dontoptimize
 -dontpreverify
 -dontpreverify
 -dontwarn cn.jpush.**
 -dontwarn cn.jpush.**

+ 2 - 2
app/src/main/java/com/hongyegroup/zhurijob/app/MyApplication.kt

@@ -8,8 +8,8 @@ import android.webkit.WebView
 import com.guadou.cs_cptservices.YYConstants
 import com.guadou.cs_cptservices.YYConstants
 import com.guadou.lib_baselib.base.BaseApplication
 import com.guadou.lib_baselib.base.BaseApplication
 import com.guadou.lib_baselib.engine.SP
 import com.guadou.lib_baselib.engine.SP
-import com.guadou.lib_baselib.ext.checkEmpty
 import com.guadou.lib_baselib.engine.getString
 import com.guadou.lib_baselib.engine.getString
+import com.guadou.lib_baselib.ext.checkEmpty
 import dagger.hilt.android.HiltAndroidApp
 import dagger.hilt.android.HiltAndroidApp
 
 
 @HiltAndroidApp
 @HiltAndroidApp
@@ -38,7 +38,7 @@ class MyApplication : BaseApplication() {
     private fun setupWebView() {
     private fun setupWebView() {
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
             val processName = getProcessName(this)
             val processName = getProcessName(this)
-            if ("com.monstarlab.yyjobs" != processName) {
+            if ("com.hongyegroup.zhurijob" != processName) {
                 WebView.setDataDirectorySuffix(processName ?: "app")
                 WebView.setDataDirectorySuffix(processName ?: "app")
             }
             }
         }
         }

+ 10 - 0
cpt_ewallet/src/main/AndroidManifest.xml

@@ -6,6 +6,16 @@
 
 
         <activity android:name=".ui.EWalletHistoryActivity"/>
         <activity android:name=".ui.EWalletHistoryActivity"/>
 
 
+        <activity android:name=".ui.EWalletWithdrawActivity"/>
+
+        <activity android:name=".ui.BankWithdrawActivity"/>
+
+        <activity android:name=".ui.WithdrawAppointmentActivity"/>
+
+        <activity android:name=".ui.AppointmentEnquiryActivity"/>
+
+        <activity android:name=".ui.AppointmentEnquiryDetailActivity"/>
+
     </application>
     </application>
 
 
 </manifest>
 </manifest>

+ 14 - 0
cpt_ewallet/src/main/java/com/hongyegroup/cpt_ewallet/mvvm/AppointmentEnquiryDetailViewModel.kt

@@ -0,0 +1,14 @@
+package com.hongyegroup.cpt_ewallet.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 AppointmentEnquiryDetailViewModel @Inject constructor(
+    private val savedStateHandle: SavedStateHandle
+) : BaseViewModel() {
+
+}

+ 16 - 0
cpt_ewallet/src/main/java/com/hongyegroup/cpt_ewallet/mvvm/AppointmentEnquiryViewModel.kt

@@ -0,0 +1,16 @@
+package com.hongyegroup.cpt_ewallet.mvvm
+
+import androidx.lifecycle.SavedStateHandle
+import com.guadou.lib_baselib.base.vm.BaseViewModel
+import dagger.hilt.android.lifecycle.HiltViewModel
+import kotlinx.coroutines.flow.MutableStateFlow
+import javax.inject.Inject
+
+
+@HiltViewModel
+class AppointmentEnquiryViewModel @Inject constructor(
+    private val savedStateHandle: SavedStateHandle
+) : BaseViewModel() {
+
+    var mEnquiryMsg = MutableStateFlow("")
+}

+ 21 - 0
cpt_ewallet/src/main/java/com/hongyegroup/cpt_ewallet/mvvm/BankWithdrawViewModel.kt

@@ -0,0 +1,21 @@
+package com.hongyegroup.cpt_ewallet.mvvm
+
+import androidx.lifecycle.MutableLiveData
+import androidx.lifecycle.SavedStateHandle
+import com.guadou.lib_baselib.base.vm.BaseViewModel
+import dagger.hilt.android.lifecycle.HiltViewModel
+import kotlinx.coroutines.flow.MutableStateFlow
+import javax.inject.Inject
+
+
+@HiltViewModel
+class BankWithdrawViewModel @Inject constructor(
+    private val savedStateHandle: SavedStateHandle
+) : BaseViewModel() {
+
+    var mWithdrawMoney = MutableStateFlow("")
+
+    var mBankCardNum = MutableStateFlow("")  //银行卡卡号
+    var mSelectBankName = MutableStateFlow("")  //选中的银行名称
+    var mHoldAccount = MutableLiveData<String>()  //持卡人姓名
+}

+ 18 - 0
cpt_ewallet/src/main/java/com/hongyegroup/cpt_ewallet/mvvm/EWalletWithdrawViewModel.kt

@@ -0,0 +1,18 @@
+package com.hongyegroup.cpt_ewallet.mvvm
+
+import androidx.lifecycle.SavedStateHandle
+import com.guadou.lib_baselib.base.vm.BaseViewModel
+import dagger.hilt.android.lifecycle.HiltViewModel
+import kotlinx.coroutines.flow.MutableStateFlow
+import javax.inject.Inject
+
+
+@HiltViewModel
+class EWalletWithdrawViewModel @Inject constructor(
+    private val savedStateHandle: SavedStateHandle
+) : BaseViewModel() {
+
+    var mAllMoney = MutableStateFlow("")
+    var mWithdrawMoney = MutableStateFlow("")
+
+}

+ 74 - 0
cpt_ewallet/src/main/java/com/hongyegroup/cpt_ewallet/mvvm/WithdrawAppointmentViewModel.kt

@@ -0,0 +1,74 @@
+package com.hongyegroup.cpt_ewallet.mvvm
+
+import android.annotation.SuppressLint
+import androidx.lifecycle.LiveData
+import androidx.lifecycle.MutableLiveData
+import androidx.lifecycle.SavedStateHandle
+import com.guadou.cs_cptservices.binding.BaseDataBindingAdapter
+import com.guadou.lib_baselib.base.vm.BaseViewModel
+import com.guadou.lib_baselib.ext.checkEmpty
+import com.guadou.lib_baselib.utils.CommUtils
+import com.hongyegroup.cpt_ewallet.BR
+import com.hongyegroup.cpt_ewallet.R
+import dagger.hilt.android.lifecycle.HiltViewModel
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.delay
+import kotlinx.coroutines.withContext
+import javax.inject.Inject
+
+@HiltViewModel
+class WithdrawAppointmentViewModel @Inject constructor(
+    private val savedStateHandle: SavedStateHandle
+) : BaseViewModel() {
+
+    var mDatas = mutableListOf<String>()
+    val mAdapter by lazy { BaseDataBindingAdapter(R.layout.item_withdraw_appointment, BR.item, mDatas) }
+    var isNeedPlaceHolder = true
+
+    fun getAppointmentList(): LiveData<Boolean> {
+        val liveData = MutableLiveData<Boolean>()
+
+        launchOnUI {
+            //开始Loading
+            if (isNeedPlaceHolder) loadStartLoading()
+            val result = withContext(Dispatchers.IO) {
+                delay(1000)
+
+                val list = mutableListOf<String>()
+                for (i in 1..2) {
+                    list.add(i.toString())
+                }
+                return@withContext list
+            }
+
+            loadSuccess()
+            handleData(result)
+            liveData.postValue(true)
+
+        }
+
+        return liveData
+    }
+
+    @SuppressLint("NotifyDataSetChanged")
+    private fun handleData(list: MutableList<String>) {
+
+        if (!list.checkEmpty()) {
+
+            mDatas.clear()
+            mDatas.addAll(list)
+            mAdapter.notifyDataSetChanged()
+
+        } else {
+            //展示无数据
+            mDatas.clear()
+            mAdapter.notifyDataSetChanged()
+            //展示无数据的布局
+            val emptyView = CommUtils.inflate(R.layout.item_empty_layout)
+            mAdapter.setEmptyView(emptyView)
+        }
+
+        isNeedPlaceHolder = false
+    }
+
+}

+ 2 - 2
cpt_ewallet/src/main/java/com/hongyegroup/cpt_ewallet/router/EWalletComponentServiceImpl.kt

@@ -15,8 +15,8 @@ class EWalletComponentServiceImpl : IEWalletComponentServer {
         YYLogUtils.w("EWalletComponentServiceImpl-startWithdrawalPage")
         YYLogUtils.w("EWalletComponentServiceImpl-startWithdrawalPage")
     }
     }
 
 
-    override fun obtainEWalletMainFragment(): Fragment {
-        return EWalletMainFragment()
+    override fun obtainEWalletMainFragment(needBackLayout: Boolean): Fragment {
+        return EWalletMainFragment(needBackLayout)
     }
     }
 
 
     override fun init(context: Context?) {
     override fun init(context: Context?) {

+ 53 - 0
cpt_ewallet/src/main/java/com/hongyegroup/cpt_ewallet/ui/AppointmentEnquiryActivity.kt

@@ -0,0 +1,53 @@
+package com.hongyegroup.cpt_ewallet.ui
+
+import android.os.Bundle
+import com.guadou.cs_cptservices.base.activity.YYBaseVDBActivity
+import com.guadou.lib_baselib.bean.DataBindingConfig
+import com.guadou.lib_baselib.engine.toast
+import com.guadou.lib_baselib.ext.commContext
+import com.guadou.lib_baselib.ext.gotoActivity
+import com.guadou.lib_baselib.utils.KeyboardUtils
+import com.hongyegroup.cpt_ewallet.BR
+import com.hongyegroup.cpt_ewallet.R
+import com.hongyegroup.cpt_ewallet.databinding.ActivityAppointmentEnquiryBinding
+import com.hongyegroup.cpt_ewallet.mvvm.AppointmentEnquiryViewModel
+
+/**
+ * 提现预约的反馈页面
+ */
+class AppointmentEnquiryActivity : YYBaseVDBActivity<AppointmentEnquiryViewModel, ActivityAppointmentEnquiryBinding>() {
+
+    companion object {
+        fun startInstance() {
+            commContext().gotoActivity<AppointmentEnquiryActivity>()
+        }
+    }
+
+    override fun getDataBindingConfig(): DataBindingConfig {
+        return DataBindingConfig(R.layout.activity_appointment_enquiry, BR.viewModel, mViewModel)
+            .addBindingParams(BR.click, ClickProxy())
+    }
+
+    override fun init(savedInstanceState: Bundle?) {
+
+    }
+
+    override fun startObserve() {
+
+    }
+
+    /**
+     * DataBinding事件处理
+     */
+    inner class ClickProxy {
+
+        fun submitEnquiry() {
+            KeyboardUtils.hideSoftInput(mActivity)
+
+            toast("提交反馈查询:" + mViewModel.mEnquiryMsg.value)
+
+            AppointmentEnquiryDetailActivity.startInstance()
+        }
+
+    }
+}

+ 44 - 0
cpt_ewallet/src/main/java/com/hongyegroup/cpt_ewallet/ui/AppointmentEnquiryDetailActivity.kt

@@ -0,0 +1,44 @@
+package com.hongyegroup.cpt_ewallet.ui
+
+import android.os.Bundle
+import com.guadou.cs_cptservices.base.activity.YYBaseVDBActivity
+import com.guadou.lib_baselib.bean.DataBindingConfig
+import com.guadou.lib_baselib.ext.commContext
+import com.guadou.lib_baselib.ext.gotoActivity
+import com.hongyegroup.cpt_ewallet.BR
+import com.hongyegroup.cpt_ewallet.R
+import com.hongyegroup.cpt_ewallet.databinding.ActivityAppointmentEnquiryDetailBinding
+import com.hongyegroup.cpt_ewallet.mvvm.AppointmentEnquiryDetailViewModel
+
+/**
+ * 提现预约的反馈页面
+ */
+class AppointmentEnquiryDetailActivity : YYBaseVDBActivity<AppointmentEnquiryDetailViewModel, ActivityAppointmentEnquiryDetailBinding>() {
+
+    companion object {
+        fun startInstance() {
+            commContext().gotoActivity<AppointmentEnquiryDetailActivity>()
+        }
+    }
+
+    override fun getDataBindingConfig(): DataBindingConfig {
+        return DataBindingConfig(R.layout.activity_appointment_enquiry_detail, BR.viewModel, mViewModel)
+            .addBindingParams(BR.click, ClickProxy())
+    }
+
+    override fun init(savedInstanceState: Bundle?) {
+
+    }
+
+    override fun startObserve() {
+
+    }
+
+    /**
+     * DataBinding事件处理
+     */
+    inner class ClickProxy {
+
+    }
+
+}

+ 59 - 0
cpt_ewallet/src/main/java/com/hongyegroup/cpt_ewallet/ui/BankWithdrawActivity.kt

@@ -0,0 +1,59 @@
+package com.hongyegroup.cpt_ewallet.ui
+
+import android.content.Intent
+import android.os.Bundle
+import com.guadou.cs_cptservices.base.activity.YYBaseVDBActivity
+import com.guadou.lib_baselib.bean.DataBindingConfig
+import com.guadou.lib_baselib.engine.toast
+import com.guadou.lib_baselib.ext.commContext
+import com.guadou.lib_baselib.ext.gotoActivity
+import com.guadou.lib_baselib.utils.KeyboardUtils
+import com.hongyegroup.cpt_ewallet.BR
+import com.hongyegroup.cpt_ewallet.R
+import com.hongyegroup.cpt_ewallet.databinding.ActivityBankWithdrawBinding
+import com.hongyegroup.cpt_ewallet.mvvm.BankWithdrawViewModel
+
+/**
+ * 银行卡提现页面,输入银行卡信息
+ */
+class BankWithdrawActivity : YYBaseVDBActivity<BankWithdrawViewModel, ActivityBankWithdrawBinding>() {
+
+    var withDrawMoney: String? = null
+
+    companion object {
+        fun startInstance(withdrawMoney: String) {
+            commContext().gotoActivity<BankWithdrawActivity>(bundle = arrayOf(Pair("money", withdrawMoney)))
+        }
+    }
+
+    override fun getDataBindingConfig(): DataBindingConfig {
+        return DataBindingConfig(R.layout.activity_bank_withdraw, BR.viewModel, mViewModel)
+            .addBindingParams(BR.click, ClickProxy())
+    }
+
+    override fun getDataFromIntent(intent: Intent) {
+        withDrawMoney = intent.getStringExtra("money")
+    }
+
+    override fun init(savedInstanceState: Bundle?) {
+        setStatusBarBlackText()
+        mViewModel.mWithdrawMoney.value = withDrawMoney ?: ""
+    }
+
+    override fun startObserve() {
+
+    }
+
+    /**
+     * DataBinding事件处理
+     */
+    inner class ClickProxy {
+
+        fun submitForm() {
+            KeyboardUtils.hideSoftInput(mActivity)
+
+            toast("调用接口提交提现申请")
+        }
+
+    }
+}

+ 13 - 4
cpt_ewallet/src/main/java/com/hongyegroup/cpt_ewallet/ui/EWalletMainFragment.kt

@@ -1,16 +1,20 @@
 package com.hongyegroup.cpt_ewallet.ui
 package com.hongyegroup.cpt_ewallet.ui
 
 
 import android.os.Bundle
 import android.os.Bundle
+import android.view.View
+import com.guadou.cs_cptservices.YYConstants
 import com.guadou.cs_cptservices.base.fragment.YYBaseVDBFragment
 import com.guadou.cs_cptservices.base.fragment.YYBaseVDBFragment
 import com.guadou.cs_cptservices.interfaces.IFragmentRefresh
 import com.guadou.cs_cptservices.interfaces.IFragmentRefresh
 import com.guadou.lib_baselib.bean.DataBindingConfig
 import com.guadou.lib_baselib.bean.DataBindingConfig
 import com.guadou.lib_baselib.engine.toast
 import com.guadou.lib_baselib.engine.toast
+import com.guadou.lib_baselib.ext.click
 import com.guadou.lib_baselib.ext.vertical
 import com.guadou.lib_baselib.ext.vertical
 import com.guadou.lib_baselib.utils.CommUtils
 import com.guadou.lib_baselib.utils.CommUtils
 import com.hongyegroup.cpt_ewallet.BR
 import com.hongyegroup.cpt_ewallet.BR
 import com.hongyegroup.cpt_ewallet.R
 import com.hongyegroup.cpt_ewallet.R
 import com.hongyegroup.cpt_ewallet.databinding.FragmentEwalletMainBinding
 import com.hongyegroup.cpt_ewallet.databinding.FragmentEwalletMainBinding
 import com.hongyegroup.cpt_ewallet.mvvm.EWalletMainViewModel
 import com.hongyegroup.cpt_ewallet.mvvm.EWalletMainViewModel
+import com.jeremyliao.liveeventbus.LiveEventBus
 import com.scwang.smart.refresh.layout.api.RefreshLayout
 import com.scwang.smart.refresh.layout.api.RefreshLayout
 import com.scwang.smart.refresh.layout.listener.OnRefreshListener
 import com.scwang.smart.refresh.layout.listener.OnRefreshListener
 
 
@@ -18,8 +22,8 @@ import com.scwang.smart.refresh.layout.listener.OnRefreshListener
  * 用于MainActivity的子Fragment
  * 用于MainActivity的子Fragment
  * 钱包的主页
  * 钱包的主页
  */
  */
-class EWalletMainFragment : YYBaseVDBFragment<EWalletMainViewModel, FragmentEwalletMainBinding>(), IFragmentRefresh,
-    OnRefreshListener {
+class EWalletMainFragment(private val needBackLayout: Boolean) : YYBaseVDBFragment<EWalletMainViewModel, FragmentEwalletMainBinding>(),
+    IFragmentRefresh, OnRefreshListener {
 
 
     private val clickProxy by lazy { ClickProxy() }
     private val clickProxy by lazy { ClickProxy() }
 
 
@@ -70,6 +74,11 @@ class EWalletMainFragment : YYBaseVDBFragment<EWalletMainViewModel, FragmentEwal
     }
     }
 
 
     private fun initListener() {
     private fun initListener() {
+        mBinding.easyTitleBar.backLayout.visibility = if (needBackLayout) View.VISIBLE else View.GONE
+        mBinding.easyTitleBar.backLayout.click {
+            LiveEventBus.get<Boolean>(YYConstants.ENENT_PART_TIME_BACK).post(true)
+        }
+
         mBinding.refreshLayout.setEnableNestedScroll(true)
         mBinding.refreshLayout.setEnableNestedScroll(true)
         mBinding.refreshLayout.setEnableLoadMore(false)
         mBinding.refreshLayout.setEnableLoadMore(false)
         mBinding.refreshLayout.setEnableRefresh(true)
         mBinding.refreshLayout.setEnableRefresh(true)
@@ -112,12 +121,12 @@ class EWalletMainFragment : YYBaseVDBFragment<EWalletMainViewModel, FragmentEwal
 
 
         //去提现页面
         //去提现页面
         fun gotoWithdrawalPage() {
         fun gotoWithdrawalPage() {
-            toast("去提现页面")
+            EWalletWithdrawActivity.startInstance()
         }
         }
 
 
         //去提现预约页面
         //去提现预约页面
         fun gotoAppointmentPage() {
         fun gotoAppointmentPage() {
-            toast("去提现预约页面")
+            WithdrawAppointmentActivity.startInstance()
         }
         }
 
 
 
 

+ 125 - 0
cpt_ewallet/src/main/java/com/hongyegroup/cpt_ewallet/ui/EWalletWithdrawActivity.kt

@@ -0,0 +1,125 @@
+package com.hongyegroup.cpt_ewallet.ui
+
+import android.os.Bundle
+import com.guadou.cs_cptservices.base.activity.YYBaseVDBActivity
+import com.guadou.lib_baselib.bean.DataBindingConfig
+import com.guadou.lib_baselib.ext.checkNumberPoint
+import com.guadou.lib_baselib.ext.commContext
+import com.guadou.lib_baselib.ext.gotoActivity
+import com.guadou.lib_baselib.utils.CommUtils
+import com.guadou.lib_baselib.utils.KeyboardUtils
+import com.hongyegroup.cpt_ewallet.BR
+import com.hongyegroup.cpt_ewallet.R
+import com.hongyegroup.cpt_ewallet.databinding.ActivityEwalletWithdrawBinding
+import com.hongyegroup.cpt_ewallet.mvvm.EWalletWithdrawViewModel
+import com.hongyegroup.cpt_ewallet.widget.WithdrawDisclaimersPopup
+import com.lxj.xpopup.XPopup
+import kotlinx.coroutines.flow.MutableStateFlow
+
+/**
+ * 申请提现的页面
+ */
+class EWalletWithdrawActivity : YYBaseVDBActivity<EWalletWithdrawViewModel, ActivityEwalletWithdrawBinding>() {
+
+    private var allMoney = "92400"   //全部的金额
+
+    companion object {
+        fun startInstance() {
+            commContext().gotoActivity<EWalletWithdrawActivity>()
+        }
+    }
+
+    override fun getDataBindingConfig(): DataBindingConfig {
+        return DataBindingConfig(R.layout.activity_ewallet_withdraw, BR.viewModel, mViewModel)
+            .addBindingParams(BR.click, ClickProxy())
+    }
+
+    override fun init(savedInstanceState: Bundle?) {
+        setStatusBarBlackText()
+
+        mViewModel.mAllMoney.value = allMoney
+
+    }
+
+    override fun startObserve() {
+
+    }
+
+    /**
+     * DataBinding事件处理
+     */
+    inner class ClickProxy {
+
+        val withdrawMethod = MutableStateFlow(0)
+        var isSelectAll = MutableStateFlow(false)
+
+        //金额的监听回调
+        val onMoneyChanged: (String) -> Unit = { str ->
+            var s1 = str
+            if (!isSelectAll.value) {
+                if (s1.startsWith(".")) s1 = "0$s1"
+                //如果输入的值大于全部金额,那么就选全部金额
+                if (s1.checkNumberPoint() &&
+                    mViewModel.mAllMoney.value.checkNumberPoint() &&
+                    s1.toDouble() > mViewModel.mAllMoney.value.toDouble()
+                ) {
+                    s1 = mViewModel.mAllMoney.value
+                    //如果大于全部金额,那么ET也要展示最大金额,ET内容不能超过最大金额
+                    CommUtils.getHandler().removeCallbacksAndMessages(null)
+                    CommUtils.getHandler().postDelayed({
+                        mBinding.etWithdrawalValue.setText(s1)
+                        mBinding.etWithdrawalValue.setSelection(s1.length)
+                    }, 1000)
+                }
+            } else {
+                //已经勾选了All,并且值与AllValue不同,说明改值了,需要设置为非全选
+                if (str != mViewModel.mAllMoney.value) {
+                    isSelectAll.value = false
+                }
+            }
+        }
+
+        //选中银行卡提现
+        fun chooseGrioMethod() {
+            withdrawMethod.value = 1
+        }
+
+        fun selectCheckBox() {
+            if (isSelectAll.value) {
+                isSelectAll.value = false
+            } else {
+                isSelectAll.value = true
+                mViewModel.mWithdrawMoney.value = mViewModel.mAllMoney.value
+                CommUtils.getHandler().postDelayed({
+                    mBinding.etWithdrawalValue.setSelection(mViewModel.mAllMoney.value.length)
+                }, 50)
+            }
+        }
+
+        //提交提现申请
+        fun submitWithdraw() {
+            KeyboardUtils.hideSoftkeyboard(mActivity)
+
+            showDisclaimersDialog()
+        }
+
+        //提现的免责条例对话框
+        private fun showDisclaimersDialog() {
+            XPopup.Builder(mActivity)
+                .moveUpToKeyboard(false)
+                .hasShadowBg(true)
+                .dismissOnBackPressed(false)
+                .dismissOnTouchOutside(false)
+                .asCustom(WithdrawDisclaimersPopup(mActivity) {
+                    gotoBankWithdrawPage()
+                })
+                .show()
+        }
+
+        //跳转到银行卡的信息填写页面
+        private fun gotoBankWithdrawPage() {
+            BankWithdrawActivity.startInstance(mViewModel.mWithdrawMoney.value)
+        }
+
+    }
+}

+ 98 - 0
cpt_ewallet/src/main/java/com/hongyegroup/cpt_ewallet/ui/WithdrawAppointmentActivity.kt

@@ -0,0 +1,98 @@
+package com.hongyegroup.cpt_ewallet.ui
+
+import android.annotation.SuppressLint
+import android.os.Bundle
+import androidx.asynclayoutinflater.view.AsyncLayoutInflater
+import com.guadou.cs_cptservices.base.activity.YYBaseVDBLoadingActivity
+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.ext.vertical
+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_ewallet.R
+import com.hongyegroup.cpt_ewallet.databinding.ActivityWithdrawAppointmentBinding
+import com.hongyegroup.cpt_ewallet.mvvm.WithdrawAppointmentViewModel
+import com.scwang.smart.refresh.layout.api.RefreshLayout
+import com.scwang.smart.refresh.layout.listener.OnRefreshListener
+
+/**
+ * 提现的预约列表
+ */
+class WithdrawAppointmentActivity : YYBaseVDBLoadingActivity<WithdrawAppointmentViewModel, ActivityWithdrawAppointmentBinding>(), OnRefreshListener {
+
+    companion object {
+        fun startInstance() {
+            commContext().gotoActivity<WithdrawAppointmentActivity>()
+        }
+    }
+
+    override fun generateGLoading(): Gloading.Holder {
+        return Gloading.from(GloadingGlobalAdapter())
+            .wrap(this, GLoadingTitleStatus(true, true, false))
+            .withRetry { onGoadingRetry() }
+    }
+
+    override fun onGoadingRetry() {
+        mViewModel.isNeedPlaceHolder = true
+        initData()
+    }
+
+    override fun getDataBindingConfig(): DataBindingConfig {
+        return DataBindingConfig(R.layout.activity_withdraw_appointment)
+    }
+
+    override fun init(savedInstanceState: Bundle?) {
+        setStatusBarBlackText()
+
+        initRV()
+        initData()
+        initListener()
+    }
+
+    private fun initData() {
+        mViewModel.getAppointmentList().observe(this) {
+            mBinding.refreshLayout.finishRefresh()
+        }
+    }
+
+    @SuppressLint("InflateParams")
+    private fun initRV() {
+        mBinding.recyclerView.vertical().adapter = mViewModel.mAdapter
+
+        AsyncLayoutInflater(mActivity).inflate(R.layout.item_withdraw_appointment_footer, null) { view, _, _ ->
+            mViewModel.mAdapter.addFooterView(view)
+        }
+    }
+
+
+    private fun initListener() {
+        mViewModel.mAdapter.loadMoreModule.isEnableLoadMore = false
+
+        //刷新控件初始化
+        mBinding.refreshLayout.setEnableNestedScroll(true)
+        mBinding.refreshLayout.setEnableLoadMore(false)
+        mBinding.refreshLayout.setEnableRefresh(true)
+        mBinding.refreshLayout.setOnRefreshListener(this)
+
+        //点击事件
+        mViewModel.mAdapter.addChildClickViewIds(R.id.btn_query_status)
+        mViewModel.mAdapter.setOnItemChildClickListener { _, view, position ->
+            if (view.id == R.id.btn_query_status) {
+                //去反馈页面
+                AppointmentEnquiryActivity.startInstance()
+            }
+        }
+
+    }
+
+    override fun onRefresh(refreshLayout: RefreshLayout) {
+        initData()
+    }
+
+    override fun startObserve() {
+
+    }
+
+}

+ 49 - 0
cpt_ewallet/src/main/java/com/hongyegroup/cpt_ewallet/widget/WithdrawDisclaimersPopup.kt

@@ -0,0 +1,49 @@
+package com.hongyegroup.cpt_ewallet.widget
+
+import android.annotation.SuppressLint
+import android.content.Context
+import android.view.View
+import com.guadou.lib_baselib.ext.click
+import com.hongyegroup.cpt_ewallet.R
+import com.lxj.xpopup.core.CenterPopupView
+import com.lxj.xpopup.util.XPopupUtils
+
+/**
+ * 提现的免责声明弹窗
+ */
+@SuppressLint("ViewConstructor")
+class WithdrawDisclaimersPopup(
+    context: Context,
+    private val action: (() -> Unit)? = null,
+) : CenterPopupView(context) {
+
+    override fun getImplLayoutId(): Int = R.layout.popup_withdraw_disclanimers
+
+    override fun onCreate() {
+        super.onCreate()
+
+        findViewById<View>(R.id.btn_yes).click {
+            dismiss()
+            action?.invoke()
+        }
+
+        findViewById<View>(R.id.btn_no).click {
+            dismiss()
+        }
+
+        findViewById<View>(R.id.iv_delete).click {
+            dismiss()
+        }
+
+    }
+
+    //如果不设置可能出现xml的背景圆角无法正常显示
+    override fun getMaxWidth(): Int {
+        return if (popupInfo.maxWidth == 0) (XPopupUtils.getWindowWidth(context) * 0.99f).toInt() else popupInfo.maxWidth
+    }
+
+//    override fun getMaxHeight(): Int {
+//        return dp2px(500f)
+//    }
+
+}

二進制
cpt_ewallet/src/main/res/drawable-xhdpi/dis_five.webp


二進制
cpt_ewallet/src/main/res/drawable-xhdpi/dis_four.webp


二進制
cpt_ewallet/src/main/res/drawable-xhdpi/dis_one.webp


二進制
cpt_ewallet/src/main/res/drawable-xhdpi/dis_six.webp


二進制
cpt_ewallet/src/main/res/drawable-xhdpi/dis_three.webp


二進制
cpt_ewallet/src/main/res/drawable-xhdpi/dis_two.webp


二進制
cpt_ewallet/src/main/res/drawable-xxhdpi/ewallet_appiontments_icon.webp


二進制
cpt_ewallet/src/main/res/drawable-xxhdpi/ewallet_withdraw_icon.webp


二進制
cpt_ewallet/src/main/res/drawable-xxhdpi/giro_method.webp


二進制
cpt_ewallet/src/main/res/drawable-xxhdpi/iv_enquiry_giro_status_date.webp


二進制
cpt_ewallet/src/main/res/drawable-xxhdpi/iv_enquiry_giro_status_reply.webp


二進制
cpt_ewallet/src/main/res/drawable-xxhdpi/iv_enquiry_giro_write.webp


二進制
cpt_ewallet/src/main/res/drawable-xxhdpi/iv_giro_appointment_date.webp


二進制
cpt_ewallet/src/main/res/drawable-xxhdpi/iv_giro_appointment_hotphone.webp


二進制
cpt_ewallet/src/main/res/drawable-xxhdpi/pay_method_checked.webp


二進制
cpt_ewallet/src/main/res/drawable-xxhdpi/wallet_appointments_icon.webp


二進制
cpt_ewallet/src/main/res/drawable-xxhdpi/wallet_withdrawn_icon.webp


二進制
cpt_ewallet/src/main/res/drawable-xxhdpi/withdrawal_all.webp


二進制
cpt_ewallet/src/main/res/drawable-xxhdpi/withdrawal_noall.webp


二進制
cpt_ewallet/src/main/res/drawable-xxhdpi/yypay_facial_fingerprinticon.webp


+ 7 - 0
cpt_ewallet/src/main/res/drawable/shape_gray_bg_border_line.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <solid android:color="#F2F4F8"/>
+    <stroke android:color="@color/divider_color" android:width="@dimen/d_0.5dp"/>
+
+</shape>

+ 90 - 0
cpt_ewallet/src/main/res/layout/activity_appointment_enquiry.xml

@@ -0,0 +1,90 @@
+<?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_ewallet.mvvm.AppointmentEnquiryViewModel" />
+
+        <variable
+            name="click"
+            type="com.hongyegroup.cpt_ewallet.ui.AppointmentEnquiryActivity.ClickProxy" />
+
+        <import type="android.text.TextUtils" />
+
+    </data>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="@color/white"
+        android:orientation="vertical">
+
+        <com.guadou.lib_baselib.view.titlebar.EasyTitleBar
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            app:Easy_title="我的银行转账状态咨询" />
+
+        <!--Description-->
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/d_20dp"
+            android:layout_marginBottom="@dimen/d_15dp"
+            android:gravity="center_vertical"
+            android:orientation="horizontal"
+            android:paddingLeft="@dimen/d_20dp"
+            android:paddingRight="@dimen/d_20dp">
+
+            <ImageView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:src="@drawable/iv_enquiry_giro_write" />
+
+            <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/d_10dp"
+                android:text="如果需要查询您的转帐状态,请留言咨询"
+                android:textColor="@color/black"
+                android:textSize="@dimen/d_14sp" />
+
+        </LinearLayout>
+
+        <EditText
+            android:layout_width="match_parent"
+            android:layout_height="226dp"
+            android:layout_marginLeft="@dimen/d_20dp"
+            android:layout_marginRight="@dimen/d_20dp"
+            android:background="@drawable/shape_gray_bg_border_line"
+            android:gravity="top|left"
+            android:maxLines="9999"
+            android:paddingLeft="@dimen/d_10dp"
+            android:paddingTop="@dimen/d_15dp"
+            android:paddingRight="@dimen/d_10dp"
+            android:paddingBottom="@dimen/d_15dp"
+            android:text="@={viewModel.mEnquiryMsg}"
+            android:textColor="@color/black"
+            android:textSize="@dimen/d_15sp" />
+
+        <com.guadou.lib_baselib.font_text_view.TextViewMedium
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/d_42dp"
+            android:layout_marginLeft="@dimen/d_25dp"
+            android:layout_marginTop="@dimen/d_35dp"
+            android:layout_marginRight="@dimen/d_25dp"
+            android:background="@drawable/selector_app_blue_button_round2_bg"
+            android:gravity="center"
+            android:text="提交"
+            android:textColor="@color/white"
+            android:textSize="@dimen/d_16sp"
+            binding:clicks="@{click.submitEnquiry}" />
+
+    </LinearLayout>
+
+</layout>

+ 122 - 0
cpt_ewallet/src/main/res/layout/activity_appointment_enquiry_detail.xml

@@ -0,0 +1,122 @@
+<?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_ewallet.mvvm.AppointmentEnquiryDetailViewModel" />
+
+        <variable
+            name="click"
+            type="com.hongyegroup.cpt_ewallet.ui.AppointmentEnquiryDetailActivity.ClickProxy" />
+
+        <import type="android.text.TextUtils" />
+
+    </data>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="@color/white"
+        android:orientation="vertical">
+
+        <com.guadou.lib_baselib.view.titlebar.EasyTitleBar
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            app:Easy_title="我的银行转账状态咨询" />
+
+        <!--Submit Date-->
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/d_20dp"
+            android:layout_marginBottom="@dimen/d_15dp"
+            android:gravity="center_vertical"
+            android:orientation="horizontal"
+            android:paddingLeft="@dimen/d_20dp"
+            android:paddingRight="@dimen/d_20dp">
+
+            <ImageView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:src="@drawable/iv_enquiry_giro_status_date" />
+
+            <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                android:id="@+id/tv_enquiry_giro_status_detail_date"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/d_10dp"
+                android:text="Submission Date:-"
+                android:textColor="@color/black"
+                android:textSize="@dimen/d_14sp" />
+
+        </LinearLayout>
+
+        <com.guadou.lib_baselib.font_text_view.TextViewMedium
+            android:id="@+id/tv_enquiry_giro_status_detail_message"
+            android:layout_width="match_parent"
+            android:layout_height="122dp"
+            android:layout_marginLeft="@dimen/d_20dp"
+            android:layout_marginRight="@dimen/d_20dp"
+            android:background="@drawable/shape_gray_bg_border_line"
+            android:paddingLeft="@dimen/d_10dp"
+            android:paddingTop="@dimen/d_15dp"
+            android:paddingRight="@dimen/d_10dp"
+            android:paddingBottom="@dimen/d_15dp"
+            android:text="-"
+            android:textColor="@color/black"
+            android:textSize="@dimen/d_15sp" />
+
+        <!--Reply-->
+        <LinearLayout
+            android:id="@+id/ll_enquiry_giro_status_detail_reply"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/d_20dp"
+            android:layout_marginBottom="@dimen/d_15dp"
+            android:gravity="center_vertical"
+            android:orientation="horizontal"
+            android:paddingLeft="@dimen/d_20dp"
+            android:paddingRight="@dimen/d_20dp"
+            android:visibility="visible">
+
+            <ImageView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:src="@drawable/iv_enquiry_giro_status_reply" />
+
+            <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                android:id="@+id/tv_enquiry_giro_status_detail_reply_date"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/d_10dp"
+                android:text="回复"
+                android:textColor="@color/black"
+                android:textSize="@dimen/d_14sp" />
+
+        </LinearLayout>
+
+        <com.guadou.lib_baselib.font_text_view.TextViewMedium
+            android:id="@+id/tv_enquiry_giro_status_detail_reply"
+            android:layout_width="match_parent"
+            android:layout_height="166dp"
+            android:layout_marginLeft="@dimen/d_20dp"
+            android:layout_marginRight="@dimen/d_20dp"
+            android:background="@drawable/shape_gray_bg_border_line"
+            android:paddingLeft="@dimen/d_10dp"
+            android:paddingTop="@dimen/d_15dp"
+            android:paddingRight="@dimen/d_10dp"
+            android:paddingBottom="@dimen/d_15dp"
+            android:text="很抱歉让你等了这么久。由于公司的系统问题和银行账户问题,我们很长时间没有收到您的申请。现在我们正在帮助您尽快处理,请耐心等待三天。"
+            android:textColor="@color/profile_red"
+            android:textSize="@dimen/d_15sp"
+            android:visibility="visible" />
+
+    </LinearLayout>
+
+</layout>

+ 279 - 0
cpt_ewallet/src/main/res/layout/activity_bank_withdraw.xml

@@ -0,0 +1,279 @@
+<?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_ewallet.mvvm.BankWithdrawViewModel" />
+
+        <variable
+            name="click"
+            type="com.hongyegroup.cpt_ewallet.ui.BankWithdrawActivity.ClickProxy" />
+
+        <import type="android.text.TextUtils" />
+
+    </data>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="@color/white"
+        android:focusable="true"
+        android:focusableInTouchMode="true"
+        android:orientation="vertical">
+
+        <com.guadou.lib_baselib.view.titlebar.EasyTitleBar
+            android:id="@+id/easy_title_bar"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            app:Easy_title="银行卡提现" />
+
+        <ScrollView
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:fillViewport="true"
+            android:scrollbars="vertical">
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="vertical">
+
+                <!--提现金额-->
+                <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/d_30dp"
+                    android:layout_marginTop="@dimen/dp_10"
+                    android:paddingTop="@dimen/dp_10"
+                    android:paddingBottom="@dimen/d_10dp"
+                    android:text="提现金额"
+                    android:textColor="@color/black"
+                    android:textSize="@dimen/d_15sp" />
+
+                <RelativeLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/d_30dp"
+                    android:layout_marginRight="@dimen/d_30dp"
+                    android:background="@color/page_bg"
+                    android:paddingTop="@dimen/d_10dp"
+                    android:paddingBottom="@dimen/d_10dp">
+
+                    <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                        android:id="@+id/tv_giro_withdrawal_value"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_centerVertical="true"
+                        android:layout_marginLeft="@dimen/d_20dp"
+                        android:text="@{viewModel.mWithdrawMoney}"
+                        android:textColor="@color/app_blue"
+                        android:textSize="@dimen/d_16sp" />
+
+                    <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_alignParentRight="true"
+                        android:layout_marginRight="@dimen/d_20dp"
+                        android:text="(人民币)"
+                        android:textColor="@color/app_blue"
+                        android:textSize="@dimen/d_15sp" />
+
+                </RelativeLayout>
+
+                <!--下次提现日期-->
+                <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/d_30dp"
+                    android:layout_marginTop="@dimen/d_18dp"
+                    android:paddingTop="@dimen/dp_10"
+                    android:paddingBottom="@dimen/d_10dp"
+                    android:text="下次提现日期"
+                    android:textColor="@color/black"
+                    android:textSize="@dimen/d_15sp" />
+
+                <RelativeLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/d_30dp"
+                    android:layout_marginRight="@dimen/d_30dp"
+                    android:background="@color/page_bg"
+                    android:paddingTop="@dimen/d_10dp"
+                    android:paddingBottom="@dimen/d_10dp">
+
+                    <TextView
+                        android:id="@+id/tv_next_giro_date"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_centerVertical="true"
+                        android:layout_marginLeft="@dimen/d_20dp"
+                        android:text="-"
+                        android:textColor="@color/app_blue"
+                        android:textSize="@dimen/d_16sp" />
+
+                </RelativeLayout>
+
+
+                <!--银行卡号-->
+                <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/d_30dp"
+                    android:layout_marginTop="@dimen/d_18dp"
+                    android:paddingTop="@dimen/dp_10"
+                    android:paddingBottom="@dimen/d_10dp"
+                    android:text="银行卡卡号"
+                    android:textColor="@color/black"
+                    android:textSize="@dimen/d_15sp" />
+
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_centerVertical="true"
+                    android:layout_marginLeft="@dimen/d_30dp"
+                    android:layout_marginRight="@dimen/d_30dp"
+                    android:background="@drawable/shape_white_border"
+                    android:inputType="number"
+                    android:paddingLeft="@dimen/d_20dp"
+                    android:paddingTop="@dimen/d_10dp"
+                    android:paddingRight="@dimen/d_20dp"
+                    android:paddingBottom="@dimen/d_10dp"
+                    android:singleLine="true"
+                    android:textColor="@color/app_blue"
+                    android:textSize="@dimen/d_16sp"
+                    binding:default="@{@string/normal_empty}"
+                    tools:text="@string/normal_empty"
+                    android:text="@={viewModel.mBankCardNum}" />
+
+
+                <!--                <com.guadou.componentservice.font_text_view.TextViewRegular-->
+                <!--                    android:layout_width="match_parent"-->
+                <!--                    android:layout_height="wrap_content"-->
+                <!--                    android:layout_marginTop="@dimen/d_5dp"-->
+                <!--                    android:layout_marginBottom="@dimen/d_5dp"-->
+                <!--                    android:layout_marginLeft="@dimen/d_30dp"-->
+                <!--                    android:layout_marginRight="@dimen/d_30dp"-->
+                <!--                    android:paddingTop="@dimen/d_19dp"-->
+                <!--                    android:paddingBottom="@dimen/d_19dp"-->
+                <!--                    android:paddingLeft="@dimen/d_16dp"-->
+                <!--                    android:paddingRight="@dimen/d_16dp"-->
+                <!--                    android:drawablePadding="@dimen/d_16dp"-->
+                <!--                    android:drawableLeft="@drawable/notice_bank_name_icon"-->
+                <!--                    android:lineHeight="20.5dp"-->
+                <!--                    android:text="Please confirm this is the bank account number. Kindly ensure this is NOT Credit card number."-->
+                <!--                    android:textColor="#BB480A"-->
+                <!--                    android:background="#FFECD2"-->
+                <!--                    android:textSize="@dimen/d_15sp" />-->
+
+                <!--银行-->
+                <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/d_30dp"
+                    android:layout_marginTop="@dimen/d_18dp"
+                    android:paddingTop="@dimen/dp_10"
+                    android:paddingBottom="@dimen/d_10dp"
+                    android:text="银行名称"
+                    android:textColor="@color/black"
+                    android:textSize="@dimen/d_15sp" />
+
+                <LinearLayout
+                    android:id="@+id/ll_bank_box"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/d_30dp"
+                    android:layout_marginRight="@dimen/d_30dp"
+                    android:background="@drawable/shape_white_border"
+                    android:gravity="center_vertical"
+                    android:orientation="horizontal"
+                    android:padding="@dimen/d_1dp">
+
+                    <TextView
+                        android:id="@+id/tv_giro_withdraw_bank"
+                        android:layout_width="0dp"
+                        android:layout_height="wrap_content"
+                        android:layout_centerVertical="true"
+                        android:layout_marginRight="@dimen/d_10dp"
+                        android:layout_weight="1"
+                        android:background="@color/white"
+                        android:paddingLeft="@dimen/d_20dp"
+                        android:paddingTop="@dimen/d_10dp"
+                        android:paddingRight="@dimen/d_20dp"
+                        android:paddingBottom="@dimen/d_10dp"
+                        android:singleLine="true"
+                        tools:text="@string/normal_empty"
+                        binding:text="@{viewModel.mSelectBankName}"
+                        binding:default="@{@string/normal_empty}"
+                        android:textColor="@color/app_blue"
+                        android:textSize="@dimen/d_16sp" />
+
+                    <ImageView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginRight="@dimen/d_15dp"
+                        android:src="@drawable/drop_down" />
+
+                </LinearLayout>
+
+                <!--银行卡持有人-->
+                <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/d_30dp"
+                    android:layout_marginTop="@dimen/d_18dp"
+                    android:paddingTop="@dimen/dp_10"
+                    android:paddingBottom="@dimen/d_10dp"
+                    android:text="持卡人姓名"
+                    android:textColor="@color/black"
+                    android:textSize="@dimen/d_15sp" />
+
+                <EditText
+                    android:id="@+id/et_giro_withdraw_bank_account_holder"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_centerVertical="true"
+                    android:layout_marginLeft="@dimen/d_30dp"
+                    android:layout_marginRight="@dimen/d_30dp"
+                    android:background="@drawable/shape_white_border"
+                    android:paddingLeft="@dimen/d_20dp"
+                    android:paddingTop="@dimen/d_10dp"
+                    android:paddingRight="@dimen/d_20dp"
+                    android:paddingBottom="@dimen/d_10dp"
+                    android:singleLine="true"
+                    android:text='@{viewModel.mHoldAccount}'
+                    binding:default="@{@string/normal_empty}"
+                    tools:text="@string/normal_empty"
+                    android:textColor="@color/app_blue"
+                    android:textSize="@dimen/d_16sp" />
+
+
+                <!--Appoint Now-->
+                <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                    android:layout_width="match_parent"
+                    android:layout_height="@dimen/d_45dp"
+                    android:layout_marginLeft="@dimen/d_30dp"
+                    android:layout_marginTop="@dimen/d_50dp"
+                    android:layout_marginRight="@dimen/d_30dp"
+                    android:layout_marginBottom="@dimen/dp_40"
+                    android:background="@drawable/selector_app_blue_button_round2_bg"
+                    android:gravity="center"
+                    android:text="提现"
+                    android:textColor="@color/white"
+                    android:textSize="@dimen/d_16sp"
+                    android:visibility="visible"
+                    binding:clicks="@{click.submitForm}" />
+
+            </LinearLayout>
+
+        </ScrollView>
+
+    </LinearLayout>
+
+
+</layout>

+ 268 - 0
cpt_ewallet/src/main/res/layout/activity_ewallet_withdraw.xml

@@ -0,0 +1,268 @@
+<?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_ewallet.mvvm.EWalletWithdrawViewModel" />
+
+        <variable
+            name="click"
+            type="com.hongyegroup.cpt_ewallet.ui.EWalletWithdrawActivity.ClickProxy" />
+
+        <import type="android.text.TextUtils" />
+
+    </data>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="@color/white"
+        android:focusable="true"
+        android:focusableInTouchMode="true"
+        android:orientation="vertical">
+
+        <com.guadou.lib_baselib.view.titlebar.EasyTitleBar
+            android:id="@+id/easy_title_bar"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            app:Easy_title="余额提现" />
+
+        <ScrollView
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:fillViewport="true"
+            android:overScrollMode="never">
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="vertical"
+                android:paddingBottom="@dimen/d_20dp">
+
+                <com.guadou.lib_baselib.font_text_view.TextViewBold
+                    android:id="@+id/tv_withdrawal"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/d_24dp"
+                    android:layout_marginTop="@dimen/d_17dp"
+                    android:text="选择提现金额(人民币)"
+                    android:textColor="@color/black"
+                    android:textSize="@dimen/d_15sp" />
+
+                <EditText
+                    android:id="@+id/et_withdrawal_value"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/d_24dp"
+                    android:layout_marginTop="@dimen/d_17dp"
+                    android:layout_marginRight="@dimen/d_24dp"
+                    android:background="@drawable/shape_white_border"
+                    android:hint="输入提现金额"
+                    android:inputType="numberDecimal"
+                    android:maxLength="10"
+                    android:paddingLeft="@dimen/d_18dp"
+                    android:paddingTop="@dimen/d_13dp"
+                    android:paddingBottom="@dimen/d_13dp"
+                    android:singleLine="true"
+                    android:text="@={viewModel.mWithdrawMoney}"
+                    android:textColor="@color/profile_red"
+                    android:textCursorDrawable="@null"
+                    android:textSize="@dimen/d_16sp"
+                    binding:onTextChanged="@{click.onMoneyChanged}"
+                    binding:setDecimalPoints="@{2}"
+                    binding:typefaceMedium="@{true}" />
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="@dimen/d_5dp"
+                    android:gravity="center_vertical"
+                    android:orientation="horizontal">
+
+                    <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                        android:id="@+id/balance"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="@dimen/d_24dp"
+                        android:text="余额:"
+                        android:textColor="@color/gray_76"
+                        android:textSize="@dimen/d_15sp" />
+
+                    <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                        android:id="@+id/tv_all_value"
+                        android:layout_width="0dp"
+                        android:layout_height="wrap_content"
+                        android:layout_weight="1"
+                        android:text="@{@string/renmingbi + viewModel.mAllMoney}"
+                        android:textColor="@color/gray_76"
+                        android:textSize="@dimen/d_15sp"
+                        tools:text="¥ 7890" />
+
+
+                    <LinearLayout
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:orientation="horizontal"
+                        binding:clicks="@{click.selectCheckBox}">
+
+                        <ImageView
+                            android:id="@+id/iv_select"
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:padding="5dp"
+                            android:src="@{click.isSelectAll?@drawable/withdrawal_all:@drawable/withdrawal_noall}"
+                            tools:src="@drawable/withdrawal_noall" />
+
+                        <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                            android:id="@+id/all"
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginRight="@dimen/d_24dp"
+                            android:text="全部"
+                            android:textColor="@color/gray_76"
+                            android:textSize="@dimen/d_15sp" />
+
+
+                    </LinearLayout>
+
+                </LinearLayout>
+
+                <View
+                    android:layout_width="match_parent"
+                    android:layout_height="@dimen/d_10dp"
+                    android:layout_marginTop="@dimen/d_22dp"
+                    android:background="@color/page_bg" />
+
+                <com.guadou.lib_baselib.font_text_view.TextViewBold
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/d_24dp"
+                    android:layout_marginTop="@dimen/d_19dp"
+                    android:text="选择提现方式"
+                    android:textColor="@color/black"
+                    android:textSize="@dimen/d_15sp" />
+
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="@dimen/d_45dp"
+                    android:layout_marginLeft="@dimen/d_24dp"
+                    android:layout_marginTop="@dimen/d_12dp"
+                    android:layout_marginRight="@dimen/d_24dp"
+                    android:background="@color/page_bg"
+                    android:gravity="center_vertical"
+                    android:orientation="horizontal"
+                    binding:clicks="@{click.chooseGrioMethod}">
+
+                    <ImageView
+                        android:id="@+id/giro"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="@dimen/d_14dp"
+                        android:layout_marginRight="@dimen/d_14dp"
+                        android:src="@drawable/giro_method" />
+
+                    <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                        android:layout_width="0dp"
+                        android:layout_height="wrap_content"
+                        android:layout_weight="1"
+                        android:singleLine="true"
+                        android:text="银行卡提现"
+                        android:textColor="@color/app_blue"
+                        android:textSize="@dimen/d_15sp" />
+
+                    <ImageView
+                        android:id="@+id/iv_giro_checked"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginRight="@dimen/d_15dp"
+                        android:src="@drawable/pay_method_checked"
+                        android:visibility="gone"
+                        binding:isVisibleGone="@{click.withdrawMethod == 1}" />
+
+                </LinearLayout>
+
+                <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                    android:layout_width="match_parent"
+                    android:layout_height="@dimen/d_42dp"
+                    android:layout_marginLeft="@dimen/d_24dp"
+                    android:layout_marginTop="@dimen/d_20dp"
+                    android:layout_marginRight="@dimen/d_24dp"
+                    android:background="@{(click.withdrawMethod!=0 &amp;&amp; !TextUtils.isEmpty(viewModel.mWithdrawMoney))? @drawable/selector_app_blue_button_round2_bg : @drawable/shape_center_gray_3round}"
+                    android:gravity="center"
+                    android:text="提交"
+                    android:textColor="@color/white_text_fe"
+                    android:textSize="@dimen/d_16sp"
+                    binding:clicks="@{click.submitWithdraw}"
+                    binding:setEnable="@{click.withdrawMethod!=0 &amp;&amp; !TextUtils.isEmpty(viewModel.mWithdrawMoney)}"
+                    tools:background="@drawable/shape_center_gray_3round" />
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/d_24dp"
+                    android:layout_marginTop="@dimen/d_10dp"
+                    android:layout_marginRight="@dimen/d_24dp"
+                    android:background="@drawable/shape_white_border"
+                    android:orientation="vertical"
+                    android:paddingLeft="@dimen/d_15dp"
+                    android:paddingTop="@dimen/d_12dp"
+                    android:paddingRight="@dimen/d_15dp"
+                    android:paddingBottom="@dimen/d_12dp">
+
+                    <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="备注:"
+                        android:textColor="@color/gray_82"
+                        android:textSize="@dimen/d_13sp" />
+
+                    <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="@dimen/d_9dp"
+                        android:text="- 中国所有银行均可选择转账方式。"
+                        android:textColor="@color/gray_text"
+                        android:textSize="@dimen/d_12sp" />
+
+                    <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="@dimen/d_9dp"
+                        android:text="- 所有新的转帐申请将于下一个工作天内处理。"
+                        android:textColor="@color/gray_text"
+                        android:textSize="@dimen/d_12sp" />
+
+                    <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="@dimen/d_9dp"
+                        android:text="- 一旦转账申请被处理,您的余额将被更新。"
+                        android:textColor="@color/gray_text"
+                        android:textSize="@dimen/d_12sp" />
+
+                    <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="@dimen/d_9dp"
+                        android:text="- 您可以进入“交易历史”页面查看过去的交易。"
+                        android:textColor="@color/gray_text"
+                        android:textSize="@dimen/d_12sp" />
+
+
+                </LinearLayout>
+
+            </LinearLayout>
+
+        </ScrollView>
+
+    </LinearLayout>
+
+
+</layout>

+ 47 - 0
cpt_ewallet/src/main/res/layout/activity_withdraw_appointment.xml

@@ -0,0 +1,47 @@
+<?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="match_parent"
+        android:background="@color/white"
+        android:orientation="vertical">
+
+        <com.guadou.lib_baselib.view.titlebar.EasyTitleBar
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            app:Easy_title="我的预约" />
+
+        <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" />
+
+            <androidx.recyclerview.widget.RecyclerView
+                android:id="@+id/recyclerView"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:overScrollMode="never"
+                android:scrollbars="vertical" />
+
+        </com.scwang.smart.refresh.layout.SmartRefreshLayout>
+
+    </LinearLayout>
+
+</layout>

+ 121 - 60
cpt_ewallet/src/main/res/layout/fragment_ewallet_main.xml

@@ -27,7 +27,7 @@
             android:id="@+id/easy_title_bar"
             android:id="@+id/easy_title_bar"
             android:layout_width="match_parent"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
-            app:Easy_backLayoutState="gone"
+            app:Easy_backRes="@mipmap/back_white_icon"
             app:Easy_hasStatusPadding="true"
             app:Easy_hasStatusPadding="true"
             app:Easy_lineState="gone"
             app:Easy_lineState="gone"
             app:Easy_title="电子钱包"
             app:Easy_title="电子钱包"
@@ -172,74 +172,46 @@
 
 
 
 
                     <LinearLayout
                     <LinearLayout
+                        style="@style/SelectableItemBackground"
                         android:layout_width="match_parent"
                         android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:orientation="horizontal">
+                        android:layout_height="@dimen/d_60dp"
+                        android:gravity="center_vertical"
+                        android:orientation="horizontal"
+                        android:paddingLeft="@dimen/d_18dp"
+                        android:paddingRight="@dimen/d_18dp"
+                        binding:clicks="@{click.gotoWithdrawalPage}">
 
 
+                        <ImageView
+                            android:layout_width="@dimen/d_26dp"
+                            android:layout_height="@dimen/d_26dp"
+                            android:src="@drawable/ewallet_withdraw_icon" />
 
 
-                        <LinearLayout
-                            style="@style/SelectableItemBackground"
-                            android:layout_width="0dp"
+                        <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                            android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
                             android:layout_height="wrap_content"
-                            android:layout_weight="1"
-                            android:gravity="center"
-                            android:orientation="vertical"
-                            binding:clicks="@{click.gotoWithdrawalPage}">
-
-                            <ImageView
-                                android:layout_width="@dimen/d_35dp"
-                                android:layout_height="@dimen/d_35dp"
-                                android:src="@drawable/wallet_withdrawn_icon" />
-
-                            <com.guadou.lib_baselib.font_text_view.TextViewMedium
-                                android:layout_width="wrap_content"
-                                android:layout_height="wrap_content"
-                                android:layout_marginTop="@dimen/d_5dp"
-                                android:text="提现"
-                                android:textColor="@color/gray_76"
-                                android:textSize="@dimen/d_13sp" />
-
-                        </LinearLayout>
+                            android:layout_marginLeft="@dimen/d_8dp"
+                            android:text="提现"
+                            android:textColor="@color/gray_76"
+                            android:textSize="@dimen/d_15sp" />
 
 
                         <View
                         <View
-                            android:layout_width="@dimen/d_1dp"
-                            android:layout_height="match_parent"
-                            android:layout_marginTop="@dimen/d_5dp"
-                            android:layout_marginBottom="@dimen/d_5dp"
-                            android:background="@color/divider_color" />
-
-                        <LinearLayout
-                            style="@style/SelectableItemBackground"
                             android:layout_width="0dp"
                             android:layout_width="0dp"
                             android:layout_height="wrap_content"
                             android:layout_height="wrap_content"
-                            android:layout_weight="1"
-                            android:gravity="center"
-                            android:orientation="vertical"
-                            binding:clicks="@{click.gotoAppointmentPage}">
-
-                            <ImageView
-                                android:layout_width="@dimen/d_35dp"
-                                android:layout_height="@dimen/d_35dp"
-                                android:src="@drawable/wallet_appointments_icon" />
-
-                            <com.guadou.lib_baselib.font_text_view.TextViewMedium
-                                android:layout_width="wrap_content"
-                                android:layout_height="wrap_content"
-                                android:layout_marginTop="@dimen/d_5dp"
-                                android:text="提现预约记录"
-                                android:textColor="@color/gray_76"
-                                android:textSize="@dimen/d_13sp" />
+                            android:layout_weight="1" />
 
 
-                        </LinearLayout>
+                        <ImageView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:src="@drawable/more_gray_icon" />
 
 
                     </LinearLayout>
                     </LinearLayout>
 
 
-                    <View
+                    <ImageView
                         android:layout_width="match_parent"
                         android:layout_width="match_parent"
-                        android:layout_height="@dimen/d_10dp"
-                        android:layout_marginTop="@dimen/d_13dp"
-                        android:background="@color/page_bg" />
-
+                        android:layout_height="0.7dp"
+                        android:layout_marginLeft="@dimen/d_15dp"
+                        android:layout_marginRight="@dimen/d_15dp"
+                        android:src="@color/page_bg" />
 
 
                     <LinearLayout
                     <LinearLayout
                         style="@style/SelectableItemBackground"
                         style="@style/SelectableItemBackground"
@@ -249,18 +221,18 @@
                         android:orientation="horizontal"
                         android:orientation="horizontal"
                         android:paddingLeft="@dimen/d_18dp"
                         android:paddingLeft="@dimen/d_18dp"
                         android:paddingRight="@dimen/d_18dp"
                         android:paddingRight="@dimen/d_18dp"
-                        binding:clicks="@{click.gotoSetPsdPage}">
+                        binding:clicks="@{click.gotoAppointmentPage}">
 
 
                         <ImageView
                         <ImageView
                             android:layout_width="@dimen/d_26dp"
                             android:layout_width="@dimen/d_26dp"
                             android:layout_height="@dimen/d_26dp"
                             android:layout_height="@dimen/d_26dp"
-                            android:src="@drawable/wallet_password_icon" />
+                            android:src="@drawable/ewallet_appiontments_icon" />
 
 
                         <com.guadou.lib_baselib.font_text_view.TextViewMedium
                         <com.guadou.lib_baselib.font_text_view.TextViewMedium
                             android:layout_width="wrap_content"
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
                             android:layout_height="wrap_content"
                             android:layout_marginLeft="@dimen/d_8dp"
                             android:layout_marginLeft="@dimen/d_8dp"
-                            android:text="支付密码设置"
+                            android:text="提现预约记录"
                             android:textColor="@color/gray_76"
                             android:textColor="@color/gray_76"
                             android:textSize="@dimen/d_15sp" />
                             android:textSize="@dimen/d_15sp" />
 
 
@@ -283,7 +255,6 @@
                         android:layout_marginRight="@dimen/d_15dp"
                         android:layout_marginRight="@dimen/d_15dp"
                         android:src="@color/page_bg" />
                         android:src="@color/page_bg" />
 
 
-
                     <LinearLayout
                     <LinearLayout
                         style="@style/SelectableItemBackground"
                         style="@style/SelectableItemBackground"
                         android:layout_width="match_parent"
                         android:layout_width="match_parent"
@@ -361,6 +332,96 @@
 
 
                     </LinearLayout>
                     </LinearLayout>
 
 
+                    <LinearLayout
+                        style="@style/SelectableItemBackground"
+                        android:layout_width="match_parent"
+                        android:layout_height="@dimen/d_60dp"
+                        android:gravity="center_vertical"
+                        android:orientation="horizontal"
+                        android:paddingLeft="@dimen/d_18dp"
+                        android:paddingRight="@dimen/d_18dp"
+                        binding:clicks="@{click.gotoSetPsdPage}">
+
+                        <ImageView
+                            android:layout_width="@dimen/d_26dp"
+                            android:layout_height="@dimen/d_26dp"
+                            android:src="@drawable/wallet_password_icon" />
+
+                        <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginLeft="@dimen/d_8dp"
+                            android:text="支付密码设置"
+                            android:textColor="@color/gray_76"
+                            android:textSize="@dimen/d_15sp" />
+
+                        <View
+                            android:layout_width="0dp"
+                            android:layout_height="wrap_content"
+                            android:layout_weight="1" />
+
+                        <ImageView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:src="@drawable/more_gray_icon" />
+
+                    </LinearLayout>
+
+                    <ImageView
+                        android:layout_width="match_parent"
+                        android:layout_height="0.7dp"
+                        android:layout_marginLeft="@dimen/d_15dp"
+                        android:layout_marginRight="@dimen/d_15dp"
+                        android:src="@color/page_bg" />
+
+                    <!--设置指纹-->
+                    <LinearLayout
+                        style="@style/SelectableItemBackground"
+                        android:layout_width="match_parent"
+                        android:layout_height="@dimen/d_60dp"
+                        android:gravity="center_vertical"
+                        android:orientation="horizontal"
+                        android:paddingLeft="@dimen/d_18dp"
+                        android:paddingRight="@dimen/d_18dp">
+
+                        <ImageView
+                            android:layout_width="@dimen/d_26dp"
+                            android:layout_height="@dimen/d_26dp"
+                            android:src="@drawable/yypay_facial_fingerprinticon" />
+
+                        <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginLeft="@dimen/d_8dp"
+                            android:text="人脸/指纹"
+                            android:textColor="@color/gray_76"
+                            android:textSize="@dimen/d_15sp" />
+
+                        <View
+                            android:layout_width="0dp"
+                            android:layout_height="wrap_content"
+                            android:layout_weight="1" />
+
+                        <androidx.appcompat.widget.SwitchCompat
+                            android:id="@+id/switch_fingerprint"
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:background="@drawable/selector_switch_bg"
+                            app:showText="false"
+                            app:splitTrack="false"
+                            app:theme="@style/scstyle"
+                            app:thumbTint="#00000000"
+                            app:trackTint="#00000000" />
+
+                    </LinearLayout>
+
+                    <ImageView
+                        android:layout_width="match_parent"
+                        android:layout_height="0.7dp"
+                        android:layout_marginLeft="@dimen/d_15dp"
+                        android:layout_marginRight="@dimen/d_15dp"
+                        android:src="@color/page_bg" />
+
                     <com.guadou.lib_baselib.font_text_view.TextViewBold
                     <com.guadou.lib_baselib.font_text_view.TextViewBold
                         android:layout_width="match_parent"
                         android:layout_width="match_parent"
                         android:layout_height="wrap_content"
                         android:layout_height="wrap_content"

+ 262 - 0
cpt_ewallet/src/main/res/layout/item_withdraw_appointment.xml

@@ -0,0 +1,262 @@
+<?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">
+
+    <data>
+
+        <variable
+            name="item"
+            type="String" />
+
+    </data>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginLeft="@dimen/d_5dp"
+        android:layout_marginRight="@dimen/d_5dp"
+        android:background="@drawable/profile_white_shadow_comm_bg"
+        android:orientation="vertical">
+
+        <!--日期-->
+        <RelativeLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/d_5dp"
+            android:paddingLeft="@dimen/d_18dp"
+            android:paddingTop="@dimen/d_20dp"
+            android:paddingRight="@dimen/d_18dp"
+            android:paddingBottom="@dimen/d_20dp">
+
+            <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                android:id="@+id/tv_giro_appointment_date"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_centerVertical="true"
+                android:text="Mon,01 July 2021 13:52pm"
+                android:textColor="@color/app_blue"
+                android:textSize="@dimen/d_16sp" />
+
+            <TextView
+                android:id="@+id/tv_giro_appointment_time"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_centerVertical="true"
+                android:layout_marginLeft="@dimen/d_5dp"
+                android:layout_toRightOf="@id/tv_giro_appointment_date"
+                android:text=""
+                android:textColor="@color/app_blue"
+                android:textSize="@dimen/d_16sp"
+                android:visibility="gone" />
+
+            <ImageView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_alignParentRight="true"
+                android:layout_centerVertical="true"
+                android:src="@drawable/iv_giro_appointment_date" />
+
+        </RelativeLayout>
+
+        <ImageView
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/d_0.5dp"
+            android:layout_marginLeft="@dimen/d_20dp"
+            android:layout_marginRight="@dimen/d_20dp"
+            android:src="@color/divider_color" />
+
+        <!--提现金额-->
+        <RelativeLayout
+            android:layout_width="match_parent"
+            android:layout_height="51dp"
+            android:paddingLeft="@dimen/d_18dp"
+            android:paddingRight="@dimen/d_18dp">
+
+            <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_centerVertical="true"
+                android:text="预约提现的金额"
+                android:textColor="@color/gray_76"
+                android:textSize="@dimen/d_14sp" />
+
+            <TextView
+                android:id="@+id/tv_giro_appointment_request_money"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_alignParentRight="true"
+                android:layout_centerVertical="true"
+                android:layout_marginLeft="@dimen/d_5dp"
+                android:text="-"
+                android:textColor="@color/app_blue"
+                android:textSize="@dimen/d_16sp" />
+
+        </RelativeLayout>
+
+        <ImageView
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/d_0.5dp"
+            android:layout_marginLeft="@dimen/d_20dp"
+            android:layout_marginRight="@dimen/d_20dp"
+            android:src="@color/divider_color" />
+
+        <!--提现日期-->
+        <RelativeLayout
+            android:layout_width="match_parent"
+            android:layout_height="51dp"
+            android:paddingLeft="@dimen/d_18dp"
+            android:paddingRight="@dimen/d_18dp">
+
+            <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_centerVertical="true"
+                android:text="预约日期"
+                android:textColor="@color/gray_76"
+                android:textSize="@dimen/d_14sp" />
+
+            <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                android:id="@+id/tv_giro_appointment_giro_date"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_alignParentRight="true"
+                android:layout_centerVertical="true"
+                android:text="-"
+                android:textColor="@color/black"
+                android:textSize="@dimen/d_14sp" />
+
+        </RelativeLayout>
+
+        <ImageView
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/d_0.5dp"
+            android:layout_marginLeft="@dimen/d_20dp"
+            android:layout_marginRight="@dimen/d_20dp"
+            android:src="@color/divider_color" />
+
+        <!--银行卡号-->
+        <RelativeLayout
+            android:layout_width="match_parent"
+            android:layout_height="51dp"
+            android:paddingLeft="@dimen/d_18dp"
+            android:paddingRight="@dimen/d_18dp">
+
+            <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_centerVertical="true"
+                android:text="银行卡号"
+                android:textColor="@color/gray_76"
+                android:textSize="@dimen/d_14sp" />
+
+            <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                android:id="@+id/tv_giro_appointment_bank_account"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_alignParentRight="true"
+                android:layout_centerVertical="true"
+                android:text="-"
+                android:textColor="@color/black"
+                android:textSize="@dimen/d_14sp" />
+
+        </RelativeLayout>
+
+        <ImageView
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/d_0.5dp"
+            android:layout_marginLeft="@dimen/d_20dp"
+            android:layout_marginRight="@dimen/d_20dp"
+            android:src="@color/divider_color" />
+
+        <!--银行卡持有者-->
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="51dp"
+            android:gravity="center_vertical"
+            android:paddingLeft="@dimen/d_18dp"
+            android:paddingRight="@dimen/d_18dp">
+
+            <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_centerVertical="true"
+                android:text="银行卡持有人"
+                android:textColor="@color/gray_76"
+                android:textSize="@dimen/d_14sp" />
+
+            <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                android:id="@+id/tv_giro_appointment_bank_account_holder"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_alignParentRight="true"
+                android:layout_centerVertical="true"
+                android:layout_marginLeft="@dimen/d_10dp"
+                android:layout_weight="1"
+                android:gravity="right"
+                android:text="-"
+                android:textColor="@color/black"
+                android:textSize="@dimen/d_14sp" />
+
+        </LinearLayout>
+
+        <ImageView
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/d_0.5dp"
+            android:layout_marginLeft="@dimen/d_20dp"
+            android:layout_marginRight="@dimen/d_20dp"
+            android:src="@color/divider_color" />
+
+        <!--状态-->
+        <RelativeLayout
+            android:layout_width="match_parent"
+            android:layout_height="51dp"
+            android:paddingLeft="@dimen/d_18dp"
+            android:paddingRight="@dimen/d_18dp">
+
+            <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_centerVertical="true"
+                android:text="状态"
+                android:textColor="@color/gray_76"
+                android:textSize="@dimen/d_14sp" />
+
+            <TextView
+                android:id="@+id/tv_giro_appointment_status"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_alignParentRight="true"
+                android:layout_centerVertical="true"
+                android:text="-"
+                android:textColor="@color/profile_red"
+                android:textSize="@dimen/d_16sp" />
+
+        </RelativeLayout>
+
+        <ImageView
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/d_0.5dp"
+            android:layout_marginLeft="@dimen/d_20dp"
+            android:layout_marginRight="@dimen/d_20dp"
+            android:src="@color/divider_color" />
+
+        <com.guadou.lib_baselib.font_text_view.TextViewMedium
+            android:id="@+id/btn_query_status"
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/d_42dp"
+            android:layout_marginLeft="@dimen/d_18dp"
+            android:layout_marginTop="@dimen/d_20dp"
+            android:layout_marginRight="@dimen/d_18dp"
+            android:layout_marginBottom="@dimen/d_25dp"
+            android:background="@drawable/selector_app_blue_button_round2_bg"
+            android:gravity="center"
+            android:text="查询我的转帐状况"
+            android:textColor="@color/white"
+            android:textSize="@dimen/d_16sp" />
+
+
+    </LinearLayout>
+
+</layout>

+ 77 - 0
cpt_ewallet/src/main/res/layout/item_withdraw_appointment_footer.xml

@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="vertical"
+    android:paddingLeft="@dimen/d_27dp"
+    android:paddingTop="@dimen/d_22dp"
+    android:paddingRight="@dimen/d_27dp"
+    android:paddingBottom="@dimen/d_40dp">
+
+    <com.guadou.lib_baselib.font_text_view.TextViewMedium
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:text="备注:"
+        android:textColor="@color/gray_82"
+        android:textSize="@dimen/d_14sp" />
+
+    <com.guadou.lib_baselib.font_text_view.TextViewMedium
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="@dimen/d_9dp"
+        android:text="- 中国所有银行均可选择转账方式。"
+        android:textColor="@color/gray_text"
+        android:textSize="@dimen/d_13dsp" />
+
+    <com.guadou.lib_baselib.font_text_view.TextViewMedium
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="@dimen/d_9dp"
+        android:text="- 所有新的转帐申请将于下一个工作天内处理。"
+        android:textColor="@color/gray_text"
+        android:textSize="@dimen/d_13dsp" />
+
+    <com.guadou.lib_baselib.font_text_view.TextViewMedium
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="@dimen/d_9dp"
+        android:text="- 一旦转账申请被处理,您的余额将被更新。"
+        android:textColor="@color/gray_text"
+        android:textSize="@dimen/d_13dsp" />
+
+    <com.guadou.lib_baselib.font_text_view.TextViewMedium
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="@dimen/d_9dp"
+        android:text="- 您可以进入“交易历史”页面查看过去的交易。"
+        android:textColor="@color/gray_text"
+        android:textSize="@dimen/d_13dsp" />
+
+
+    <RelativeLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="@dimen/d_19dp">
+
+        <com.guadou.lib_baselib.font_text_view.TextViewMedium
+            android:id="@+id/tv_giro_appointment_contact_num"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_centerVertical="true"
+            android:text="更多帮助请联系66046896"
+            android:textColor="@color/app_blue"
+            android:textSize="@dimen/d_14sp" />
+
+        <ImageView
+            android:id="@+id/iv_giro_appointment_contact_num"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_alignParentRight="true"
+            android:layout_centerVertical="true"
+            android:padding="@dimen/d_5dp"
+            android:src="@drawable/iv_giro_appointment_hotphone" />
+
+    </RelativeLayout>
+
+
+</LinearLayout>

+ 179 - 0
cpt_ewallet/src/main/res/layout/popup_withdraw_disclanimers.xml

@@ -0,0 +1,179 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="@dimen/d_300dp"
+    android:layout_height="wrap_content"
+    android:orientation="vertical">
+
+    <RelativeLayout
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/d_70dp"
+        android:background="@drawable/shape_blue_top_round10">
+
+        <com.guadou.lib_baselib.font_text_view.TextViewBold
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_centerInParent="true"
+            android:text="免责声明"
+            android:textColor="@color/white"
+            android:textSize="@dimen/d_25sp" />
+
+        <ImageView
+            android:id="@+id/iv_delete"
+            android:layout_width="@dimen/d_35dp"
+            android:layout_height="@dimen/d_35dp"
+            android:layout_alignParentRight="true"
+            android:layout_marginTop="@dimen/d_10dp"
+            android:layout_marginRight="@dimen/d_10dp"
+            android:padding="@dimen/d_5dp"
+            android:src="@drawable/disclaimers_delete" />
+
+    </RelativeLayout>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:layout_weight="1"
+        android:background="@drawable/shape_white_bottom_round10"
+        android:orientation="vertical">
+
+        <com.guadou.lib_baselib.font_text_view.TextViewBold
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginLeft="@dimen/d_15dp"
+            android:layout_marginTop="@dimen/d_20dp"
+            android:layout_marginRight="@dimen/d_15dp"
+            android:text="请说明您是接受还是拒绝以下免责声明:"
+            android:textColor="@color/black"
+            android:textSize="@dimen/d_14sp" />
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginLeft="@dimen/d_15dp"
+            android:layout_marginTop="@dimen/d_20dp"
+            android:layout_marginRight="@dimen/d_15dp"
+            android:gravity="center_vertical"
+            android:orientation="horizontal">
+
+            <ImageView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:src="@drawable/dis_one" />
+
+            <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/d_8dp"
+                android:layout_marginBottom="1.5dp"
+                android:lineHeight="@dimen/d_14dp"
+                android:text="Giro 选项适用于中国的所有银行。"
+                android:textColor="@color/black"
+                android:textSize="@dimen/d_12sp" />
+        </LinearLayout>
+
+        <com.guadou.lib_baselib.font_text_view.TextViewMedium
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginLeft="@dimen/d_15dp"
+            android:layout_marginTop="@dimen/d_20dp"
+            android:layout_marginRight="@dimen/d_15dp"
+            android:drawableLeft="@drawable/dis_two"
+            android:drawablePadding="@dimen/d_8dp"
+            android:lineHeight="@dimen/d_14dp"
+            android:text="将处理所有新的转帐请求下一个工作日内。 如果它落在PH,转帐请求将是处理下一个 工作日期。 转帐完成后,您的余额将相应更新。"
+            android:textColor="@color/black"
+            android:textSize="@dimen/d_12dp" />
+
+        <com.guadou.lib_baselib.font_text_view.TextViewMedium
+            android:id="@+id/tv_dis_three"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginLeft="@dimen/d_15dp"
+            android:layout_marginTop="@dimen/d_20dp"
+            android:layout_marginRight="@dimen/d_15dp"
+            android:drawableLeft="@drawable/dis_three"
+            android:drawablePadding="@dimen/d_8dp"
+            android:lineHeight="@dimen/d_14dp"
+            android:text="所有付款将在处理后的 7-14 个工作日内 记入您的银行帐户。"
+            android:textColor="@color/app_blue"
+            android:textSize="@dimen/d_12sp" />
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginLeft="@dimen/d_15dp"
+            android:layout_marginTop="@dimen/d_20dp"
+            android:layout_marginRight="@dimen/d_15dp"
+            android:gravity="center_vertical"
+            android:orientation="horizontal">
+
+            <ImageView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:src="@drawable/dis_four" />
+
+            <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/d_8dp"
+                android:layout_marginBottom="1.5dp"
+                android:lineHeight="@dimen/d_14dp"
+                android:text="您使用电子支付是为了您自己个人使用。 你不要授权他人使用您的身份或用户状态。"
+                android:textColor="@color/black"
+                android:textSize="@dimen/d_12sp" />
+        </LinearLayout>
+
+
+        <com.guadou.lib_baselib.font_text_view.TextViewMedium
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginLeft="@dimen/d_15dp"
+            android:layout_marginTop="@dimen/d_20dp"
+            android:layout_marginRight="@dimen/d_15dp"
+            android:drawableLeft="@drawable/dis_five"
+            android:drawablePadding="@dimen/d_8dp"
+            android:lineHeight="@dimen/d_14dp"
+            android:text="YY圈不承担任何如果您的信息的责任提供给我们的是不正确的。请请在您之前检查您的详细信息提交请求。"
+            android:textColor="@color/black"
+            android:textSize="@dimen/d_12sp" />
+
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginLeft="@dimen/d_15dp"
+            android:layout_marginTop="@dimen/d_22dp"
+            android:layout_marginRight="@dimen/d_15dp"
+            android:layout_marginBottom="@dimen/d_22dp"
+            android:gravity="center">
+
+            <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                android:id="@+id/btn_yes"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_weight="1"
+                android:background="@drawable/selector_app_blue_button_round2_bg"
+                android:gravity="center"
+                android:padding="@dimen/d_8dp"
+                android:text="接受"
+                android:textColor="@color/white"
+                android:textSize="@dimen/d_16sp" />
+
+            <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                android:id="@+id/btn_no"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/d_20dp"
+                android:layout_weight="1"
+                android:background="@drawable/ios_dialog_custom_yes_selector"
+                android:gravity="center"
+                android:padding="@dimen/d_8dp"
+                android:text="拒绝"
+                android:textColor="@color/white"
+                android:textSize="@dimen/d_16sp" />
+
+        </LinearLayout>
+
+    </LinearLayout>
+
+</LinearLayout>

+ 13 - 5
cpt_main/src/main/java/com/hongyegroup/cpt_main/ui/HomeFragment.kt

@@ -27,9 +27,11 @@ import com.scwang.smart.refresh.layout.listener.OnRefreshListener
 class HomeFragment : YYBaseVDBLoadingFragment<HomeViewModel, FragmentHomeBinding>(), IFragmentRefresh,
 class HomeFragment : YYBaseVDBLoadingFragment<HomeViewModel, FragmentHomeBinding>(), IFragmentRefresh,
     OnRefreshListener {
     OnRefreshListener {
 
 
+    private val clickProxy by lazy { ClickProxy() }
+
     override fun getDataBindingConfig(): DataBindingConfig {
     override fun getDataBindingConfig(): DataBindingConfig {
         return DataBindingConfig(R.layout.fragment_home, BR.viewModel, mViewModel)
         return DataBindingConfig(R.layout.fragment_home, BR.viewModel, mViewModel)
-            .addBindingParams(BR.click, ClickProxy())
+            .addBindingParams(BR.click, clickProxy)
     }
     }
 
 
     //重新生成GLoading对象-跳动动画
     //重新生成GLoading对象-跳动动画
@@ -89,15 +91,15 @@ class HomeFragment : YYBaseVDBLoadingFragment<HomeViewModel, FragmentHomeBinding
 
 
 
 
         mViewModel.mHotJobAdapter.setOnItemClickListener { adapter, view, position ->
         mViewModel.mHotJobAdapter.setOnItemClickListener { adapter, view, position ->
-            toast("去兼职工作详情页面")
+            clickProxy.gotoPartTimeDetailPage()
         }
         }
 
 
         mViewModel.mCityJobAdapter.setOnItemClickListener { adapter, view, position ->
         mViewModel.mCityJobAdapter.setOnItemClickListener { adapter, view, position ->
-            toast("去兼职工作详情页面")
+            clickProxy.gotoPartTimeDetailPage()
         }
         }
 
 
         mViewModel.mAreaJobAdapter.setOnItemClickListener { adapter, view, position ->
         mViewModel.mAreaJobAdapter.setOnItemClickListener { adapter, view, position ->
-            toast("去兼职工作详情页面")
+            clickProxy.gotoPartTimeDetailPage()
         }
         }
 
 
         mViewModel.mJobTipsAdapter.setOnItemClickListener { adapter, view, position ->
         mViewModel.mJobTipsAdapter.setOnItemClickListener { adapter, view, position ->
@@ -134,7 +136,9 @@ class HomeFragment : YYBaseVDBLoadingFragment<HomeViewModel, FragmentHomeBinding
     inner class ClickProxy {
     inner class ClickProxy {
 
 
         fun gotoWalletPage() {
         fun gotoWalletPage() {
-            toast("去钱包页面")
+            if (requireActivity() is MainActivity) {
+                (requireActivity() as MainActivity).switchFragment(1)
+            }
         }
         }
 
 
         fun gotoRewardsPage() {
         fun gotoRewardsPage() {
@@ -154,6 +158,10 @@ class HomeFragment : YYBaseVDBLoadingFragment<HomeViewModel, FragmentHomeBinding
             YYRouterService.parttimeComponentServer?.startPartTimeJobMainPage()
             YYRouterService.parttimeComponentServer?.startPartTimeJobMainPage()
         }
         }
 
 
+        fun gotoPartTimeDetailPage() {
+            YYRouterService.parttimeComponentServer?.startPartTimeJobDetailPage()
+        }
+
         fun gotoBulletinBoardPage() {
         fun gotoBulletinBoardPage() {
             toast("去公告板页面")
             toast("去公告板页面")
         }
         }

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

@@ -208,7 +208,7 @@ class MainActivity : YYBaseVDBActivity<MainViewModel, ActivityMainBinding>() {
     private fun initFragment() {
     private fun initFragment() {
         // 正常情况下初始化
         // 正常情况下初始化
         mHomeFragment = HomeFragment()
         mHomeFragment = HomeFragment()
-        mEWalletFragment = YYRouterService.eWalletComponentServer?.obtainEWalletMainFragment()
+        mEWalletFragment = YYRouterService.eWalletComponentServer?.obtainEWalletMainFragment(false)
         mNewsFeedFragment = YYRouterService.newsfeedComponentServer?.obtainNewsFeedMainFragment()
         mNewsFeedFragment = YYRouterService.newsfeedComponentServer?.obtainNewsFeedMainFragment()
         mProfileFragment = ProfileFragment()
         mProfileFragment = ProfileFragment()
     }
     }
@@ -232,7 +232,7 @@ class MainActivity : YYBaseVDBActivity<MainViewModel, ActivityMainBinding>() {
 
 
             // 复用
             // 复用
             mHomeFragment = f0 ?: HomeFragment()
             mHomeFragment = f0 ?: HomeFragment()
-            mEWalletFragment = f1 ?: YYRouterService.eWalletComponentServer?.obtainEWalletMainFragment()
+            mEWalletFragment = f1 ?: YYRouterService.eWalletComponentServer?.obtainEWalletMainFragment(false)
             mNewsFeedFragment = f2 ?: YYRouterService.newsfeedComponentServer?.obtainNewsFeedMainFragment()
             mNewsFeedFragment = f2 ?: YYRouterService.newsfeedComponentServer?.obtainNewsFeedMainFragment()
             mProfileFragment = f3 ?: ProfileFragment()
             mProfileFragment = f3 ?: ProfileFragment()
         }
         }

+ 2 - 0
cpt_parttime/src/main/AndroidManifest.xml

@@ -18,6 +18,8 @@
 
 
         <activity android:name=".ui.ResetPasswordActivity"/>
         <activity android:name=".ui.ResetPasswordActivity"/>
 
 
+        <activity android:name=".ui.activity.PartTimeIndustryActivity"/>
+
     </application>
     </application>
 
 
 </manifest>
 </manifest>

+ 13 - 0
cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/bean/IndustryBean.java

@@ -0,0 +1,13 @@
+package com.hongyegroup.cpt_parttime.bean;
+
+
+public class IndustryBean {
+
+    public String industry_id;
+    public String industry_name;
+    public String industry_image;
+    public String jobs_count;
+
+    public boolean isSelected;
+
+}

+ 4 - 1
cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/mvvm/PartJobDetailChildViewModel.kt

@@ -21,6 +21,7 @@ class PartJobDetailChildViewModel @Inject constructor(
     private val savedStateHandle: SavedStateHandle
     private val savedStateHandle: SavedStateHandle
 ) : BaseViewModel() {
 ) : BaseViewModel() {
 
 
+    var isLoadSuccessed = false
     var mDatas = mutableListOf<PartJobResult>()
     var mDatas = mutableListOf<PartJobResult>()
     val mAdapter by lazy { BaseDataBindingAdapter(R.layout.item_part_time_jobs, BR.item, mDatas) }
     val mAdapter by lazy { BaseDataBindingAdapter(R.layout.item_part_time_jobs, BR.item, mDatas) }
 
 
@@ -32,9 +33,10 @@ class PartJobDetailChildViewModel @Inject constructor(
         val liveData = MutableLiveData<Boolean>()
         val liveData = MutableLiveData<Boolean>()
 
 
         launchOnUI {
         launchOnUI {
+            loadStartLoading()
 
 
             val result = withContext(Dispatchers.IO) {
             val result = withContext(Dispatchers.IO) {
-                delay(1000)
+                delay(800)
 
 
                 val list = mutableListOf<PartJobResult>()
                 val list = mutableListOf<PartJobResult>()
                 for (i in 1..10) {
                 for (i in 1..10) {
@@ -46,6 +48,7 @@ class PartJobDetailChildViewModel @Inject constructor(
             }
             }
 
 
             handleData(result)
             handleData(result)
+            isLoadSuccessed = true
             liveData.postValue(true)
             liveData.postValue(true)
 
 
         }
         }

+ 4 - 1
cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/mvvm/PartTimeHomeViewModel.kt

@@ -23,6 +23,8 @@ class PartTimeHomeViewModel @Inject constructor(
     private val savedStateHandle: SavedStateHandle
     private val savedStateHandle: SavedStateHandle
 ) : BaseViewModel() {
 ) : BaseViewModel() {
 
 
+    var mFilterIndustryIds: ArrayList<String>? = null   //筛选的行业Ids
+
     val mKeywordLiveData = MutableLiveData<String>()  //搜索Key值
     val mKeywordLiveData = MutableLiveData<String>()  //搜索Key值
     var mCurPage = 1
     var mCurPage = 1
     var isNeedPlaceHolder = true
     var isNeedPlaceHolder = true
@@ -75,8 +77,9 @@ class PartTimeHomeViewModel @Inject constructor(
                 return@withContext list
                 return@withContext list
             }
             }
 
 
-            loadSuccess()
+
             handleData(result)
             handleData(result)
+            loadSuccess()
             liveData.postValue(true)
             liveData.postValue(true)
 
 
             //返回的数据是封装过的,检查是否成功
             //返回的数据是封装过的,检查是否成功

+ 92 - 0
cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/mvvm/PartTimeIndustryViewModel.kt

@@ -0,0 +1,92 @@
+package com.hongyegroup.cpt_parttime.mvvm
+
+import android.annotation.SuppressLint
+import android.view.View
+import androidx.lifecycle.LiveData
+import androidx.lifecycle.MutableLiveData
+import androidx.lifecycle.SavedStateHandle
+import com.guadou.cs_cptservices.binding.BaseDataBindingAdapter
+import com.guadou.lib_baselib.base.vm.BaseViewModel
+import com.guadou.lib_baselib.ext.checkEmpty
+import com.guadou.lib_baselib.utils.CommUtils
+import com.hongyegroup.cpt_parttime.BR
+import com.hongyegroup.cpt_parttime.R
+import com.hongyegroup.cpt_parttime.bean.IndustryBean
+import dagger.hilt.android.lifecycle.HiltViewModel
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.delay
+import kotlinx.coroutines.withContext
+import javax.inject.Inject
+
+@HiltViewModel
+class PartTimeIndustryViewModel @Inject constructor(
+    private val savedStateHandle: SavedStateHandle
+) : BaseViewModel() {
+
+    var mDatas = mutableListOf<IndustryBean>()
+    val mAdapter by lazy { BaseDataBindingAdapter(R.layout.item_part_time_industry, BR.item, mDatas) }
+
+
+    /**
+     * 获取行业列表
+     */
+    fun getIndustryList(selectedIds: ArrayList<String>?): LiveData<Boolean> {
+        val liveData = MutableLiveData<Boolean>()
+
+        launchOnUI {
+            //开始Loading
+            loadStartLoading()
+            val result = withContext(Dispatchers.IO) {
+                delay(1500)
+
+                val list = mutableListOf<IndustryBean>()
+                for (i in 1..10) {
+                    list.add(IndustryBean().apply {
+                        industry_id = i.toString()
+                        industry_image = "http://yyjobs.sg/storage/201808/17/eVvOzW6QuxmVPiPtyjo6iSgw0AwRY08YP9fTHVfH.png"
+                    })
+                }
+                return@withContext list
+            }
+
+            loadSuccess()
+            handleData(result, selectedIds)
+            liveData.postValue(true)
+
+        }
+
+        return liveData
+    }
+
+    //处理数据-添加或刷新
+    @SuppressLint("NotifyDataSetChanged")
+    private fun handleData(list: List<IndustryBean>?, selectedIds: ArrayList<String>?) {
+        if (!list.checkEmpty()) {
+
+            mDatas.clear()
+
+            //添加已经选中的标记出来
+            if (!selectedIds.checkEmpty()) {
+                list!!.forEach {
+                    it.isSelected = selectedIds!!.contains(it.industry_id)
+                    mDatas.add(it)
+                }
+            } else {
+                mDatas.addAll(list!!)
+            }
+
+            mAdapter.notifyDataSetChanged()
+
+        } else {
+            //展示无数据
+            mDatas.clear()
+            mAdapter.notifyDataSetChanged()
+            //展示无数据的布局
+            val emptyView: View = CommUtils.inflate(R.layout.item_empty_layout)
+            mAdapter.setEmptyView(emptyView)
+
+        }
+
+    }
+
+}

+ 14 - 1
cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/mvvm/PartTimeJobDetailViewModel.kt

@@ -4,6 +4,7 @@ import androidx.fragment.app.Fragment
 import androidx.lifecycle.LiveData
 import androidx.lifecycle.LiveData
 import androidx.lifecycle.MutableLiveData
 import androidx.lifecycle.MutableLiveData
 import androidx.lifecycle.SavedStateHandle
 import androidx.lifecycle.SavedStateHandle
+import com.guadou.cs_cptservices.adapter.BannerGlobalAdapter
 import com.guadou.lib_baselib.base.vm.BaseViewModel
 import com.guadou.lib_baselib.base.vm.BaseViewModel
 import dagger.hilt.android.lifecycle.HiltViewModel
 import dagger.hilt.android.lifecycle.HiltViewModel
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.Dispatchers
@@ -16,6 +17,12 @@ class PartTimeJobDetailViewModel @Inject constructor(
     private val savedStateHandle: SavedStateHandle
     private val savedStateHandle: SavedStateHandle
 ) : BaseViewModel() {
 ) : BaseViewModel() {
 
 
+    var testText = MutableLiveData<String>()
+
+    var mPartTimeJobDetail :String? = null
+    private val imgUrls = mutableListOf<String>()
+    val mBannerImgAdapter by lazy { BannerGlobalAdapter(imgUrls) }
+
     var mFragments = mutableListOf<Fragment>()
     var mFragments = mutableListOf<Fragment>()
 
 
     /**
     /**
@@ -32,7 +39,13 @@ class PartTimeJobDetailViewModel @Inject constructor(
                 delay(1000)
                 delay(1000)
             }
             }
 
 
-            loadSuccess()
+            mPartTimeJobDetail = "xx"
+
+            imgUrls.clear()
+            imgUrls.add("https://img.zcool.cn/community/0160855ac4e9c6a801212573507ad7.png@1280w_1l_2o_100sh.png")
+            imgUrls.add("http://img.zcool.cn/community/019241565fa3df6ac7255d2e15560a.jpg@1280w_1l_2o_100sh.jpg")
+            imgUrls.add("http://img.zcool.cn/community/0158a658a2b836a801219c77059a95.png@1280w_1l_2o_100sh.png")
+
             liveData.postValue(true)
             liveData.postValue(true)
 
 
         }
         }

+ 2 - 1
cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/router/PartTimeComponentServiceImpl.kt

@@ -4,13 +4,14 @@ import android.content.Context
 import com.alibaba.android.arouter.facade.annotation.Route
 import com.alibaba.android.arouter.facade.annotation.Route
 import com.guadou.cs_router.ARouterPath
 import com.guadou.cs_router.ARouterPath
 import com.guadou.cs_router.parttime.IParttimeComponentServer
 import com.guadou.cs_router.parttime.IParttimeComponentServer
+import com.hongyegroup.cpt_parttime.ui.activity.PartTimeJobDetailActivity
 import com.hongyegroup.cpt_parttime.ui.activity.PartTimeMainActivity
 import com.hongyegroup.cpt_parttime.ui.activity.PartTimeMainActivity
 
 
 @Route(path = ARouterPath.PATH_SERVICE_PARTTIME, name = "PartTime模块路由服务")
 @Route(path = ARouterPath.PATH_SERVICE_PARTTIME, name = "PartTime模块路由服务")
 class PartTimeComponentServiceImpl : IParttimeComponentServer {
 class PartTimeComponentServiceImpl : IParttimeComponentServer {
 
 
     override fun startPartTimeJobDetailPage() {
     override fun startPartTimeJobDetailPage() {
-
+        PartTimeJobDetailActivity.startInstance()
     }
     }
 
 
     override fun startPartTimeJobMainPage() {
     override fun startPartTimeJobMainPage() {

+ 3 - 5
cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/activity/PartJobAlbumActivity.kt

@@ -1,6 +1,5 @@
 package com.hongyegroup.cpt_parttime.ui.activity
 package com.hongyegroup.cpt_parttime.ui.activity
 
 
-import android.content.Intent
 import android.os.Bundle
 import android.os.Bundle
 import android.view.ViewGroup
 import android.view.ViewGroup
 import android.widget.ImageView
 import android.widget.ImageView
@@ -11,6 +10,8 @@ import com.guadou.lib_baselib.bean.DataBindingConfig
 import com.guadou.lib_baselib.engine.ImagePreviewUtils
 import com.guadou.lib_baselib.engine.ImagePreviewUtils
 import com.guadou.lib_baselib.engine.extLoad
 import com.guadou.lib_baselib.engine.extLoad
 import com.guadou.lib_baselib.ext.click
 import com.guadou.lib_baselib.ext.click
+import com.guadou.lib_baselib.ext.commContext
+import com.guadou.lib_baselib.ext.gotoActivity
 import com.guadou.lib_baselib.ext.vertical
 import com.guadou.lib_baselib.ext.vertical
 import com.guadou.lib_baselib.utils.CommUtils
 import com.guadou.lib_baselib.utils.CommUtils
 import com.hongyegroup.cpt_parttime.R
 import com.hongyegroup.cpt_parttime.R
@@ -28,10 +29,7 @@ class PartJobAlbumActivity : YYBaseVDBActivity<EmptyViewModel, ActivityParttimeJ
 
 
     companion object {
     companion object {
         fun startInstance() {
         fun startInstance() {
-            val context = CommUtils.getContext()
-            val intent = Intent(context, PartJobAlbumActivity::class.java)
-            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
-            context.startActivity(intent)
+            commContext().gotoActivity<PartJobAlbumActivity>()
         }
         }
     }
     }
 
 

+ 99 - 0
cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/activity/PartTimeIndustryActivity.kt

@@ -0,0 +1,99 @@
+package com.hongyegroup.cpt_parttime.ui.activity
+
+import android.annotation.SuppressLint
+import android.content.Intent
+import android.os.Bundle
+import com.guadou.cs_cptservices.base.activity.YYBaseVDBLoadingActivity
+import com.guadou.lib_baselib.bean.DataBindingConfig
+import com.guadou.lib_baselib.ext.click
+import com.guadou.lib_baselib.ext.vertical
+import com.guadou.lib_baselib.view.gloading.GLoadingTitleStatus
+import com.guadou.lib_baselib.view.gloading.Gloading
+import com.guadou.lib_baselib.view.gloading.GloadingPlaceHolderlAdapter
+import com.hongyegroup.cpt_parttime.R
+import com.hongyegroup.cpt_parttime.databinding.ActivityParttimeIndustryBinding
+import com.hongyegroup.cpt_parttime.mvvm.PartTimeIndustryViewModel
+import com.scwang.smart.refresh.layout.api.RefreshLayout
+import com.scwang.smart.refresh.layout.listener.OnRefreshListener
+import dagger.hilt.android.AndroidEntryPoint
+
+@AndroidEntryPoint
+class PartTimeIndustryActivity : YYBaseVDBLoadingActivity<PartTimeIndustryViewModel, ActivityParttimeIndustryBinding>(), OnRefreshListener {
+
+    var selectedIds: ArrayList<String>? = null
+
+    //重新生成GLoading对象
+    override fun generateGLoading(): Gloading.Holder {
+        return Gloading.from(GloadingPlaceHolderlAdapter(R.layout.layout_placeholder_grid))
+            .wrap(this, GLoadingTitleStatus(true, true, false))
+            .withRetry { onGoadingRetry() }
+    }
+
+    override fun getDataBindingConfig(): DataBindingConfig {
+        return DataBindingConfig(R.layout.activity_parttime_industry)
+    }
+
+    override fun getDataFromIntent(intent: Intent) {
+        selectedIds = intent.getStringArrayListExtra("industryIds")
+    }
+
+    override fun init(savedInstanceState: Bundle?) {
+        initRV()
+        initData()
+        initListener()
+    }
+
+    private fun initData() {
+        mViewModel.getIndustryList(selectedIds).observe(this) {
+            mBinding.refreshLayout.finishRefresh()
+        }
+    }
+
+    private fun initRV() {
+        mBinding.recyclerView.vertical(2).adapter = mViewModel.mAdapter
+    }
+
+    @SuppressLint("NotifyDataSetChanged")
+    private fun initListener() {
+        mViewModel.mAdapter.loadMoreModule.isEnableLoadMore = false
+
+        //刷新控件初始化
+        mBinding.refreshLayout.setEnableNestedScroll(true)
+        mBinding.refreshLayout.setEnableLoadMore(false)
+        mBinding.refreshLayout.setEnableRefresh(true)
+        mBinding.refreshLayout.setOnRefreshListener(this)
+
+        //点击事件
+        mViewModel.mAdapter.setOnItemClickListener { _, view, position ->
+            mViewModel.mDatas[position].apply {
+                isSelected = !isSelected
+            }
+            mViewModel.mAdapter.notifyItemChanged(position, "check")
+        }
+
+        mBinding.easyTitle.addRightText("重置") {
+            mViewModel.mDatas.forEach {
+                it.isSelected = false
+            }
+            mViewModel.mAdapter.notifyDataSetChanged()
+        }
+
+        //点击提交
+        mBinding.buttonApply.click {
+            val list = mViewModel.mDatas.filter { it.isSelected }.map { it.industry_id }
+            setResult(RESULT_OK, Intent().apply {
+                putStringArrayListExtra("industryIds", ArrayList(list))
+            })
+            finish()
+        }
+    }
+
+    override fun onRefresh(refreshLayout: RefreshLayout) {
+        initData()
+    }
+
+    override fun startObserve() {
+
+    }
+
+}

+ 108 - 52
cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/activity/PartTimeJobDetailActivity.kt

@@ -1,30 +1,38 @@
 package com.hongyegroup.cpt_parttime.ui.activity
 package com.hongyegroup.cpt_parttime.ui.activity
 
 
-import android.content.Intent
+import android.annotation.SuppressLint
 import android.os.Bundle
 import android.os.Bundle
 import android.view.View
 import android.view.View
 import android.view.WindowManager
 import android.view.WindowManager
 import android.widget.TextView
 import android.widget.TextView
-import androidx.lifecycle.MutableLiveData
-import androidx.viewpager.widget.ViewPager
+import androidx.databinding.DataBindingUtil
+import androidx.viewpager2.widget.ViewPager2
 import com.google.android.material.tabs.TabLayout
 import com.google.android.material.tabs.TabLayout
-import com.guadou.cs_cptservices.base.activity.YYBaseVDBActivity
+import com.guadou.cs_cptservices.base.activity.YYBaseVDBLoadingActivity
 import com.guadou.lib_baselib.bean.DataBindingConfig
 import com.guadou.lib_baselib.bean.DataBindingConfig
-import com.guadou.lib_baselib.engine.extLoad
 import com.guadou.lib_baselib.engine.toast
 import com.guadou.lib_baselib.engine.toast
 import com.guadou.lib_baselib.ext.bindFragment
 import com.guadou.lib_baselib.ext.bindFragment
+import com.guadou.lib_baselib.ext.commContext
+import com.guadou.lib_baselib.ext.gotoActivity
 import com.guadou.lib_baselib.utils.CommUtils
 import com.guadou.lib_baselib.utils.CommUtils
-import com.guadou.lib_baselib.utils.StatusBarUtils
+import com.guadou.lib_baselib.utils.log.YYLogUtils
+import com.guadou.lib_baselib.view.gloading.GLoadingTitleStatus
+import com.guadou.lib_baselib.view.gloading.Gloading
+import com.guadou.lib_baselib.view.gloading.GloadingPlaceHolderlAdapter
 import com.hongyegroup.cpt_parttime.BR
 import com.hongyegroup.cpt_parttime.BR
 import com.hongyegroup.cpt_parttime.R
 import com.hongyegroup.cpt_parttime.R
 import com.hongyegroup.cpt_parttime.databinding.ActivityParttimeJobDetailBinding
 import com.hongyegroup.cpt_parttime.databinding.ActivityParttimeJobDetailBinding
+import com.hongyegroup.cpt_parttime.databinding.IncludePartTimeJobDetailActivityBinding
 import com.hongyegroup.cpt_parttime.mvvm.PartTimeJobDetailViewModel
 import com.hongyegroup.cpt_parttime.mvvm.PartTimeJobDetailViewModel
 import com.hongyegroup.cpt_parttime.ui.fragment.*
 import com.hongyegroup.cpt_parttime.ui.fragment.*
+import com.youth.banner.indicator.CircleIndicator
 import dagger.hilt.android.AndroidEntryPoint
 import dagger.hilt.android.AndroidEntryPoint
 
 
+@SuppressLint("NotifyDataSetChanged")
 @AndroidEntryPoint
 @AndroidEntryPoint
-class PartTimeJobDetailActivity : YYBaseVDBActivity<PartTimeJobDetailViewModel, ActivityParttimeJobDetailBinding>() {
+class PartTimeJobDetailActivity : YYBaseVDBLoadingActivity<PartTimeJobDetailViewModel, ActivityParttimeJobDetailBinding>() {
 
 
+    private var mRootBinding: IncludePartTimeJobDetailActivityBinding? = null
     private val mClickProxy by lazy { ClickProxy() }
     private val mClickProxy by lazy { ClickProxy() }
     private val titleList = mutableListOf<String>()  //TabLayot的Title
     private val titleList = mutableListOf<String>()  //TabLayot的Title
     private var mCurPagePosition = 0
     private var mCurPagePosition = 0
@@ -39,43 +47,84 @@ class PartTimeJobDetailActivity : YYBaseVDBActivity<PartTimeJobDetailViewModel,
 
 
     companion object {
     companion object {
         fun startInstance() {
         fun startInstance() {
-            val context = CommUtils.getContext()
-            val intent = Intent(context, PartTimeJobDetailActivity::class.java)
-            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
-            context.startActivity(intent)
+            commContext().gotoActivity<PartTimeJobDetailActivity>()
         }
         }
     }
     }
 
 
+    //重新生成GLoading对象-跳动动画
+    override fun generateGLoading(): Gloading.Holder {
+        return Gloading.from(GloadingPlaceHolderlAdapter(R.layout.layout_placeholder_part_time_detail))
+            .wrap(this, GLoadingTitleStatus(true, true, false))
+            .withRetry { onGoadingRetry() }
+    }
+
     override fun getDataBindingConfig(): DataBindingConfig {
     override fun getDataBindingConfig(): DataBindingConfig {
         return DataBindingConfig(R.layout.activity_parttime_job_detail, BR.viewModel, mViewModel)
         return DataBindingConfig(R.layout.activity_parttime_job_detail, BR.viewModel, mViewModel)
             .addBindingParams(BR.click, mClickProxy)
             .addBindingParams(BR.click, mClickProxy)
     }
     }
 
 
-    override fun init(savedInstanceState: Bundle?) {
-        StatusBarUtils.immersive(this)
-        setStatusBarWhiteText()
+    override fun startObserve() {
 
 
-        initData()
     }
     }
 
 
-    //请求工作详情数据
-    private fun initData() {
-        //normal status
-        titleList.add("工作详情")
-        titleList.add("更多工作")
-        for (i in titleList.indices) {
-            val tab: TabLayout.Tab = mBinding.tabLayout.newTab()
-            val view = CommUtils.inflate(R.layout.tab_job_detail_category)
-            tab.customView = view
-            val text = view.findViewById<TextView>(R.id.tab_text)
-            text.text = titleList[i]
-            mBinding.tabLayout.addTab(tab)
+    override fun init(savedInstanceState: Bundle?) {
+        initDataAndRootView()
+    }
+
+    //请求工作详情数据-并加载真正的布局
+    private fun initDataAndRootView() {
+        if (!mBinding.viewStubRoot.isInflate()) {
+            val start1 = System.currentTimeMillis()
+            mBinding.viewStubRoot.inflateAsync { view ->
+                val end1 = System.currentTimeMillis()
+                YYLogUtils.w("添加布局耗时:" + (end1 - start1))
+                mRootBinding = DataBindingUtil.bind<IncludePartTimeJobDetailActivityBinding>(view)?.apply {
+                    click = mClickProxy
+                }
+
+                initRV()
+                checkView2Showed()
+            }
         }
         }
 
 
-        mBinding.ivJobImage.extLoad("https://img.zcool.cn/community/0160855ac4e9c6a801212573507ad7.png@1280w_1l_2o_100sh.png")
+        //并发网络请求
+        requestDetailData()
+    }
 
 
+    //这里请求网络数据完成,只展示顶部图片和标题和TabView和ViewPager
+    private fun requestDetailData() {
         mViewModel.requestJobDetail().observe(this) {
         mViewModel.requestJobDetail().observe(this) {
+            checkView2Showed()
+        }
+    }
+
+    override fun onGoadingRetry() {
+        requestDetailData()
+    }
+
+    //查询异步加载的布局和异步的远端数据是否已经准备就绪
+    private fun checkView2Showed() {
+        if (mViewModel.mPartTimeJobDetail != null && mRootBinding != null) {
+            //尝试手动赋值BR
+            mViewModel.testText.value = "123"
+            mRootBinding?.setVariable(BR.viewModel, mViewModel)
+
+            showStateSuccess()
+
             initPager(hasHow2Report = true, hasGrooming = true)
             initPager(hasHow2Report = true, hasGrooming = true)
+            popupData2Top()
+        }
+    }
+
+    private fun popupData2Top() {
+        //展示顶部的图片或者Banner
+        mRootBinding?.apply {
+            ivJobPhotoCover.visibility = View.GONE
+            bannerEmployerImgs.visibility = View.VISIBLE
+            mViewModel.mBannerImgAdapter.notifyDataSetChanged()
+
+
+            //展示标题为工作标题
         }
         }
     }
     }
 
 
@@ -112,48 +161,50 @@ class PartTimeJobDetailActivity : YYBaseVDBActivity<PartTimeJobDetailViewModel,
         mViewModel.mFragments.add(mPartJobDetailFaqFragment!!)
         mViewModel.mFragments.add(mPartJobDetailFaqFragment!!)
         titleList.add("常见问题")
         titleList.add("常见问题")
 
 
-        //设置Viewpager-Adapter
-        mBinding.viewPager.bindFragment(supportFragmentManager, mViewModel.mFragments)
+        //更新ViewPager
+        mRootBinding?.viewPager?.apply {
+            adapter?.notifyDataSetChanged()
+            offscreenPageLimit = mViewModel.mFragments.size - 1
+        }
 
 
         //自定义Tab View,自定义下划线
         //自定义Tab View,自定义下划线
-        mBinding.tabLayout.removeAllTabs()
+        mRootBinding?.tabLayout?.removeAllTabs()
         for (i in titleList.indices) {
         for (i in titleList.indices) {
-            val tab: TabLayout.Tab = mBinding.tabLayout.newTab()
+            val tab: TabLayout.Tab? = mRootBinding?.tabLayout?.newTab()
             val view = CommUtils.inflate(R.layout.tab_job_detail_category)
             val view = CommUtils.inflate(R.layout.tab_job_detail_category)
-            tab.customView = view
+            tab?.customView = view
             val text = view.findViewById<TextView>(R.id.tab_text)
             val text = view.findViewById<TextView>(R.id.tab_text)
             text.text = titleList[i]
             text.text = titleList[i]
-            mBinding.tabLayout.addTab(tab)
+            mRootBinding?.tabLayout?.addTab(tab!!)
         }
         }
 
 
-        mBinding.viewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener {
-            override fun onPageScrolled(i: Int, v: Float, i1: Int) {}
-            override fun onPageScrollStateChanged(i: Int) {}
-            override fun onPageSelected(i: Int) {
-                mCurPagePosition = i
-                mBinding.tabLayout.setScrollPosition(i, 0f, true)
-                if (i == 0) {
+        mRootBinding?.viewPager?.registerOnPageChangeCallback(object : ViewPager2.OnPageChangeCallback() {
+            override fun onPageSelected(position: Int) {
+                mCurPagePosition = position
+                mRootBinding?.tabLayout?.setScrollPosition(position, 0f, true)
+
+                if (position == 0) {
                     if (isFragmentShowedStatus) {
                     if (isFragmentShowedStatus) {
-                        mClickProxy.isShowBottomBtn.value = true
+                        mRootBinding?.flBottomBtns?.visibility = View.VISIBLE
                     }
                     }
 //                    if (!CheckUtil.isEmpty(mCurrentJobDetail.getJob().work_status_describe)) {
 //                    if (!CheckUtil.isEmpty(mCurrentJobDetail.getJob().work_status_describe)) {
 //                        mTvCancelStatusMessage.setVisibility(View.VISIBLE)
 //                        mTvCancelStatusMessage.setVisibility(View.VISIBLE)
 //                    }
 //                    }
                 } else {
                 } else {
-                    mClickProxy.isShowBottomBtn.value = false
+                    mRootBinding?.flBottomBtns?.visibility = View.GONE
                 }
                 }
 
 
-                mBinding.ivTabRight.visibility = if (i == titleList.size - 1) View.GONE else View.VISIBLE
+                mRootBinding?.ivTabRight?.visibility = if (position == titleList.size - 1) View.GONE else View.VISIBLE
 
 
                 //监听滚动,设置是否禁用截屏功能
                 //监听滚动,设置是否禁用截屏功能
-                setScreenshotEnable(i != 2)
+                setScreenshotEnable(position != 2)
             }
             }
         })
         })
 
 
-        mBinding.tabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener {
+        mRootBinding?.tabLayout?.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener {
             override fun onTabSelected(tab: TabLayout.Tab) {
             override fun onTabSelected(tab: TabLayout.Tab) {
                 val position = tab.position
                 val position = tab.position
-                mBinding.viewPager.setCurrentItem(position, true)
+                mRootBinding?.viewPager?.setCurrentItem(position, true)
             }
             }
 
 
             override fun onTabUnselected(tab: TabLayout.Tab) {}
             override fun onTabUnselected(tab: TabLayout.Tab) {}
@@ -170,18 +221,23 @@ class PartTimeJobDetailActivity : YYBaseVDBActivity<PartTimeJobDetailViewModel,
         }
         }
     }
     }
 
 
-    override fun startObserve() {
+    private fun initRV() {
+        //设置banner图片的RV
+        mRootBinding?.apply {
+            bannerEmployerImgs.addBannerLifecycleObserver(this@PartTimeJobDetailActivity)
+            bannerEmployerImgs.indicator = CircleIndicator(mActivity)
+            bannerEmployerImgs.adapter = mViewModel.mBannerImgAdapter
 
 
-    }
+            viewPager.bindFragment(supportFragmentManager, this@PartTimeJobDetailActivity.lifecycle, mViewModel.mFragments)
+        }
 
 
+    }
 
 
     /**
     /**
      * DataBinding事件处理
      * DataBinding事件处理
      */
      */
     inner class ClickProxy {
     inner class ClickProxy {
 
 
-        var isShowBottomBtn = MutableLiveData(true)
-
         //点击申请工作
         //点击申请工作
         fun applyJob() {
         fun applyJob() {
             toast("点击申请工作")
             toast("点击申请工作")
@@ -194,7 +250,7 @@ class PartTimeJobDetailActivity : YYBaseVDBActivity<PartTimeJobDetailViewModel,
 
 
         //点击Tab下一个
         //点击Tab下一个
         fun tabNext() {
         fun tabNext() {
-            mBinding.viewPager.setCurrentItem(mCurPagePosition + 1, true)
+            mRootBinding?.viewPager?.setCurrentItem(mCurPagePosition + 1, true)
         }
         }
 
 
         //去相册页面
         //去相册页面

+ 9 - 3
cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/activity/PartTimeMainActivity.kt

@@ -4,6 +4,7 @@ import android.os.Bundle
 import androidx.fragment.app.Fragment
 import androidx.fragment.app.Fragment
 import androidx.fragment.app.FragmentManager
 import androidx.fragment.app.FragmentManager
 import androidx.fragment.app.FragmentTransaction
 import androidx.fragment.app.FragmentTransaction
+import com.guadou.cs_cptservices.YYConstants
 import com.guadou.cs_cptservices.base.activity.YYBaseVDBActivity
 import com.guadou.cs_cptservices.base.activity.YYBaseVDBActivity
 import com.guadou.cs_cptservices.interfaces.IFragmentRefresh
 import com.guadou.cs_cptservices.interfaces.IFragmentRefresh
 import com.guadou.cs_router.YYRouterService
 import com.guadou.cs_router.YYRouterService
@@ -20,6 +21,7 @@ import com.hongyegroup.cpt_parttime.ui.main.PartTimeActivesFragment
 import com.hongyegroup.cpt_parttime.ui.main.PartTimeHomeFragment
 import com.hongyegroup.cpt_parttime.ui.main.PartTimeHomeFragment
 import com.hongyegroup.cpt_parttime.ui.main.PartTimeProfileFragment
 import com.hongyegroup.cpt_parttime.ui.main.PartTimeProfileFragment
 import com.hongyegroup.cpt_parttime.ui.main.PartTimeTrainFragment
 import com.hongyegroup.cpt_parttime.ui.main.PartTimeTrainFragment
+import com.jeremyliao.liveeventbus.LiveEventBus
 import dagger.hilt.android.AndroidEntryPoint
 import dagger.hilt.android.AndroidEntryPoint
 
 
 /**
 /**
@@ -67,7 +69,11 @@ class PartTimeMainActivity : YYBaseVDBActivity<PartTimeMainViewModel, ActivityPa
     }
     }
 
 
     override fun startObserve() {
     override fun startObserve() {
-
+        //收到消息-回到第一个Tab
+        LiveEventBus.get<Boolean>(YYConstants.ENENT_PART_TIME_BACK).observe(this) {
+            mClickPage = 0
+            switchFragment(0)
+        }
     }
     }
 
 
     override fun needRegistNetworkChangeObserver(): Boolean = true
     override fun needRegistNetworkChangeObserver(): Boolean = true
@@ -233,7 +239,7 @@ class PartTimeMainActivity : YYBaseVDBActivity<PartTimeMainViewModel, ActivityPa
         // 正常情况下初始化
         // 正常情况下初始化
         mPartTimeHomeFragment = PartTimeHomeFragment()
         mPartTimeHomeFragment = PartTimeHomeFragment()
         mPartTimeActiveFragment = PartTimeActivesFragment()
         mPartTimeActiveFragment = PartTimeActivesFragment()
-        mPartTimeWalletFragment = YYRouterService.eWalletComponentServer?.obtainEWalletMainFragment()
+        mPartTimeWalletFragment = YYRouterService.eWalletComponentServer?.obtainEWalletMainFragment(true)
         mPartTimeTrainFragment = PartTimeTrainFragment()
         mPartTimeTrainFragment = PartTimeTrainFragment()
         mPartTimeMeFragment = PartTimeProfileFragment()
         mPartTimeMeFragment = PartTimeProfileFragment()
     }
     }
@@ -259,7 +265,7 @@ class PartTimeMainActivity : YYBaseVDBActivity<PartTimeMainViewModel, ActivityPa
             // 复用
             // 复用
             mPartTimeHomeFragment = f0 ?: PartTimeHomeFragment()
             mPartTimeHomeFragment = f0 ?: PartTimeHomeFragment()
             mPartTimeActiveFragment = f1 ?: PartTimeActivesFragment()
             mPartTimeActiveFragment = f1 ?: PartTimeActivesFragment()
-            mPartTimeWalletFragment = f2 ?: YYRouterService.eWalletComponentServer?.obtainEWalletMainFragment()
+            mPartTimeWalletFragment = f2 ?: YYRouterService.eWalletComponentServer?.obtainEWalletMainFragment(true)
             mPartTimeTrainFragment = f3 ?: PartTimeTrainFragment()
             mPartTimeTrainFragment = f3 ?: PartTimeTrainFragment()
             mPartTimeMeFragment = f4 ?: PartTimeProfileFragment()
             mPartTimeMeFragment = f4 ?: PartTimeProfileFragment()
         }
         }

+ 9 - 5
cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/fragment/PartJobDetailFaqFragment.kt

@@ -1,9 +1,10 @@
 package com.hongyegroup.cpt_parttime.ui.fragment
 package com.hongyegroup.cpt_parttime.ui.fragment
 
 
 import android.os.Bundle
 import android.os.Bundle
-import com.guadou.cs_cptservices.base.fragment.YYBaseVDBLazyLoadingFragment
+import com.guadou.cs_cptservices.base.fragment.YYBaseVDBLoadingFragment
 import com.guadou.cs_cptservices.interfaces.IFragmentRefresh
 import com.guadou.cs_cptservices.interfaces.IFragmentRefresh
 import com.guadou.lib_baselib.bean.DataBindingConfig
 import com.guadou.lib_baselib.bean.DataBindingConfig
+import com.guadou.lib_baselib.ext.checkEmpty
 import com.guadou.lib_baselib.ext.vertical
 import com.guadou.lib_baselib.ext.vertical
 import com.hongyegroup.cpt_parttime.R
 import com.hongyegroup.cpt_parttime.R
 import com.hongyegroup.cpt_parttime.databinding.FragmentParttimeJobDetailFaqBinding
 import com.hongyegroup.cpt_parttime.databinding.FragmentParttimeJobDetailFaqBinding
@@ -12,10 +13,9 @@ import com.hongyegroup.cpt_parttime.mvvm.PartJobDetailFaqViewModel
 /**
 /**
  * 工作详情 子页面 展示推荐的工作
  * 工作详情 子页面 展示推荐的工作
  */
  */
-class PartJobDetailFaqFragment : YYBaseVDBLazyLoadingFragment<PartJobDetailFaqViewModel, FragmentParttimeJobDetailFaqBinding>(),
+class PartJobDetailFaqFragment : YYBaseVDBLoadingFragment<PartJobDetailFaqViewModel, FragmentParttimeJobDetailFaqBinding>(),
     IFragmentRefresh {
     IFragmentRefresh {
 
 
-
     override fun getDataBindingConfig(): DataBindingConfig {
     override fun getDataBindingConfig(): DataBindingConfig {
         return DataBindingConfig(R.layout.fragment_parttime_job_detail_faq)
         return DataBindingConfig(R.layout.fragment_parttime_job_detail_faq)
     }
     }
@@ -24,8 +24,12 @@ class PartJobDetailFaqFragment : YYBaseVDBLazyLoadingFragment<PartJobDetailFaqVi
         initRV()
         initRV()
     }
     }
 
 
-    override fun onLazyInitData() {
-        mViewModel.requestJobFaqs()
+    override fun onResume() {
+        super.onResume()
+
+        if (mViewModel.mDatas.checkEmpty()){
+            mViewModel.requestJobFaqs()
+        }
     }
     }
 
 
     private fun initRV() {
     private fun initRV() {

+ 63 - 7
cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/fragment/PartJobDetailFragment.kt

@@ -1,38 +1,94 @@
 package com.hongyegroup.cpt_parttime.ui.fragment
 package com.hongyegroup.cpt_parttime.ui.fragment
 
 
 import android.os.Bundle
 import android.os.Bundle
-import com.guadou.cs_cptservices.base.fragment.YYBaseVDBFragment
+import android.view.View
+import androidx.databinding.DataBindingUtil
+import com.guadou.cs_cptservices.base.fragment.YYBaseVDBLoadingFragment
 import com.guadou.cs_cptservices.interfaces.IFragmentRefresh
 import com.guadou.cs_cptservices.interfaces.IFragmentRefresh
 import com.guadou.lib_baselib.bean.DataBindingConfig
 import com.guadou.lib_baselib.bean.DataBindingConfig
 import com.guadou.lib_baselib.engine.toast
 import com.guadou.lib_baselib.engine.toast
+import com.guadou.lib_baselib.ext.checkEmpty
 import com.guadou.lib_baselib.ext.vertical
 import com.guadou.lib_baselib.ext.vertical
+import com.guadou.lib_baselib.utils.log.YYLogUtils
+import com.guadou.lib_baselib.view.gloading.GLoadingTitleStatus
+import com.guadou.lib_baselib.view.gloading.Gloading
+import com.guadou.lib_baselib.view.gloading.GloadingPlaceHolderlAdapter
 import com.hongyegroup.cpt_parttime.BR
 import com.hongyegroup.cpt_parttime.BR
 import com.hongyegroup.cpt_parttime.R
 import com.hongyegroup.cpt_parttime.R
 import com.hongyegroup.cpt_parttime.databinding.FragmentParttimeJobDetailBinding
 import com.hongyegroup.cpt_parttime.databinding.FragmentParttimeJobDetailBinding
+import com.hongyegroup.cpt_parttime.databinding.IncludePartTimeJobDetailFragmentBinding
 import com.hongyegroup.cpt_parttime.mvvm.PartJobDetailChildViewModel
 import com.hongyegroup.cpt_parttime.mvvm.PartJobDetailChildViewModel
 import com.hongyegroup.cpt_parttime.ui.activity.PartTimeJobDetailActivity
 import com.hongyegroup.cpt_parttime.ui.activity.PartTimeJobDetailActivity
 
 
 /**
 /**
  * 工作详情 子页面 展示工作详细信息
  * 工作详情 子页面 展示工作详细信息
  */
  */
-class PartJobDetailFragment : YYBaseVDBFragment<PartJobDetailChildViewModel, FragmentParttimeJobDetailBinding>(), IFragmentRefresh {
+class PartJobDetailFragment : YYBaseVDBLoadingFragment<PartJobDetailChildViewModel, FragmentParttimeJobDetailBinding>(), IFragmentRefresh {
 
 
+    private var mRootBinding: IncludePartTimeJobDetailFragmentBinding? = null
     private val mClickProxy by lazy { ClickProxy() }
     private val mClickProxy by lazy { ClickProxy() }
 
 
+    //重新生成GLoading对象-跳动动画
+    override fun generateGLoading(view: View): Gloading.Holder {
+        return Gloading.from(GloadingPlaceHolderlAdapter(R.layout.layout_placeholder_part_time_detail_child))
+            .wrap(view, GLoadingTitleStatus(false, true, false))
+            .withRetry { onGoadingRetry() }
+    }
+
     override fun getDataBindingConfig(): DataBindingConfig {
     override fun getDataBindingConfig(): DataBindingConfig {
         return DataBindingConfig(R.layout.fragment_parttime_job_detail, BR.viewModel, mViewModel)
         return DataBindingConfig(R.layout.fragment_parttime_job_detail, BR.viewModel, mViewModel)
             .addBindingParams(BR.click, mClickProxy)
             .addBindingParams(BR.click, mClickProxy)
     }
     }
 
 
     override fun init(savedInstanceState: Bundle?) {
     override fun init(savedInstanceState: Bundle?) {
-
         initRV()
         initRV()
-        initData()
         initListener()
         initListener()
     }
     }
 
 
-    private fun initData() {
-        mViewModel.getRecommendJobs()
+    override fun onResume() {
+        super.onResume()
+        initDataAndRootView()
+    }
+
+    private fun initDataAndRootView() {
+
+        if (!mBinding.viewStubRoot.isInflate()) {
+            val start1 = System.currentTimeMillis()
+            mBinding.viewStubRoot.inflateAsync { view ->
+                val end1 = System.currentTimeMillis()
+                YYLogUtils.w("添加2布局耗时:" + (end1 - start1))
+                mRootBinding = DataBindingUtil.bind<IncludePartTimeJobDetailFragmentBinding>(view)?.apply {
+                    viewModel = mViewModel
+                    click = mClickProxy
+                }
+                popupDetailData()
+                checkView2Showed()
+            }
+        }
+
+        requestRecommendJob()
+
+    }
+
+    //这里请求网络数据完成
+    private fun requestRecommendJob() {
+        if (mViewModel.mDatas.checkEmpty()) {
+            mViewModel.getRecommendJobs().observe(this) {
+                checkView2Showed()
+            }
+        }
+    }
+
+    //查询异步加载的布局和异步的远端数据是否已经准备就绪
+    private fun checkView2Showed() {
+        if (mViewModel.isLoadSuccessed && mRootBinding != null) {
+            showStateSuccess()
+        }
+    }
+
+    //父Activity传递过来的详情数据展示出来
+    private fun popupDetailData() {
+        //部分使用DataBinding 部分手动赋值
     }
     }
 
 
     private fun initRV() {
     private fun initRV() {
@@ -59,7 +115,7 @@ class PartJobDetailFragment : YYBaseVDBFragment<PartJobDetailChildViewModel, Fra
         if (mViewModel.mDatas.size > 1) {
         if (mViewModel.mDatas.size > 1) {
             mBinding.rvRecommend.scrollToPosition(0)
             mBinding.rvRecommend.scrollToPosition(0)
         }
         }
-        initData()
+        requestRecommendJob()
     }
     }
 
 
     /**
     /**

+ 9 - 5
cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/fragment/PartJobDetailGroomingFragment.kt

@@ -1,9 +1,10 @@
 package com.hongyegroup.cpt_parttime.ui.fragment
 package com.hongyegroup.cpt_parttime.ui.fragment
 
 
 import android.os.Bundle
 import android.os.Bundle
-import com.guadou.cs_cptservices.base.fragment.YYBaseVDBLazyLoadingFragment
+import com.guadou.cs_cptservices.base.fragment.YYBaseVDBLoadingFragment
 import com.guadou.cs_cptservices.interfaces.IFragmentRefresh
 import com.guadou.cs_cptservices.interfaces.IFragmentRefresh
 import com.guadou.lib_baselib.bean.DataBindingConfig
 import com.guadou.lib_baselib.bean.DataBindingConfig
+import com.guadou.lib_baselib.ext.checkEmpty
 import com.guadou.lib_baselib.ext.vertical
 import com.guadou.lib_baselib.ext.vertical
 import com.hongyegroup.cpt_parttime.R
 import com.hongyegroup.cpt_parttime.R
 import com.hongyegroup.cpt_parttime.databinding.FragmentParttimeJobDetailGroomingBinding
 import com.hongyegroup.cpt_parttime.databinding.FragmentParttimeJobDetailGroomingBinding
@@ -12,8 +13,7 @@ import com.hongyegroup.cpt_parttime.mvvm.PartJobDetailGroomingViewModel
 /**
 /**
  * 工作详情 子页面 展示推荐的工作
  * 工作详情 子页面 展示推荐的工作
  */
  */
-class PartJobDetailGroomingFragment :
-    YYBaseVDBLazyLoadingFragment<PartJobDetailGroomingViewModel, FragmentParttimeJobDetailGroomingBinding>(), IFragmentRefresh {
+class PartJobDetailGroomingFragment : YYBaseVDBLoadingFragment<PartJobDetailGroomingViewModel, FragmentParttimeJobDetailGroomingBinding>(), IFragmentRefresh {
 
 
     override fun getDataBindingConfig(): DataBindingConfig {
     override fun getDataBindingConfig(): DataBindingConfig {
         return DataBindingConfig(R.layout.fragment_parttime_job_detail_grooming)
         return DataBindingConfig(R.layout.fragment_parttime_job_detail_grooming)
@@ -24,8 +24,12 @@ class PartJobDetailGroomingFragment :
         initRV()
         initRV()
     }
     }
 
 
-    override fun onLazyInitData() {
-        mViewModel.getGroomingData()
+    override fun onResume() {
+        super.onResume()
+
+        if (mViewModel.mDatas.checkEmpty()){
+            mViewModel.getGroomingData()
+        }
     }
     }
 
 
     private fun initRV() {
     private fun initRV() {

+ 23 - 6
cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/fragment/PartJobDetailPaymentFragment.kt

@@ -4,7 +4,7 @@ import android.os.Bundle
 import android.text.TextUtils
 import android.text.TextUtils
 import android.view.ViewGroup
 import android.view.ViewGroup
 import android.widget.FrameLayout
 import android.widget.FrameLayout
-import com.guadou.cs_cptservices.base.fragment.YYBaseVDBFragment
+import com.guadou.cs_cptservices.base.fragment.YYBaseVDBLoadingFragment
 import com.guadou.cs_cptservices.interfaces.IFragmentRefresh
 import com.guadou.cs_cptservices.interfaces.IFragmentRefresh
 import com.guadou.lib_baselib.bean.DataBindingConfig
 import com.guadou.lib_baselib.bean.DataBindingConfig
 import com.guadou.lib_baselib.view.MyWebView
 import com.guadou.lib_baselib.view.MyWebView
@@ -16,7 +16,7 @@ import com.hongyegroup.cpt_parttime.mvvm.PartJobDetailPaymentViewModel
 /**
 /**
  * 工作详情 子页面 展示推荐的工作
  * 工作详情 子页面 展示推荐的工作
  */
  */
-class PartJobDetailPaymentFragment : YYBaseVDBFragment<PartJobDetailPaymentViewModel, FragmentParttimeJobDetailPaymentBinding>(),
+class PartJobDetailPaymentFragment : YYBaseVDBLoadingFragment<PartJobDetailPaymentViewModel, FragmentParttimeJobDetailPaymentBinding>(),
     IFragmentRefresh {
     IFragmentRefresh {
 
 
     private val mWebUrl = "http://yyjobs-api-dev.guabean.com/payment_process/payment_process_life.html" //网页加载的地址
     private val mWebUrl = "http://yyjobs-api-dev.guabean.com/payment_process/payment_process_life.html" //网页加载的地址
@@ -27,11 +27,19 @@ class PartJobDetailPaymentFragment : YYBaseVDBFragment<PartJobDetailPaymentViewM
     }
     }
 
 
     override fun init(savedInstanceState: Bundle?) {
     override fun init(savedInstanceState: Bundle?) {
+        //在显示出来的时候再加载WebView
+    }
+
+    override fun onResume() {
+        super.onResume()
 
 
-        initWebview()
+        if (mBinding.flPaymentProcess.childCount < 1) {
+            initWebview()
+        }
     }
     }
 
 
     private fun initWebview() {
     private fun initWebview() {
+        showStateLoading()
 
 
         //先移除所有View
         //先移除所有View
         mBinding.flPaymentProcess.removeAllViews()
         mBinding.flPaymentProcess.removeAllViews()
@@ -42,9 +50,16 @@ class PartJobDetailPaymentFragment : YYBaseVDBFragment<PartJobDetailPaymentViewM
 
 
         mWebView.setOnWebChangeListener(object : MyWebView.OnWebChangeListener {
         mWebView.setOnWebChangeListener(object : MyWebView.OnWebChangeListener {
             override fun titleChange(title: String?) {}
             override fun titleChange(title: String?) {}
-            override fun progressChange(progress: Int) {}
+            override fun progressChange(progress: Int) {
+                if (progress > 90) {
+                    showStateSuccess()
+                }
+            }
+
             override fun onInnerLinkChecked() {}
             override fun onInnerLinkChecked() {}
-            override fun onWebLoadError() {}
+            override fun onWebLoadError() {
+                showStateError("无法加载此页面!")
+            }
         })
         })
 
 
         if (!TextUtils.isEmpty(mWebUrl)) {
         if (!TextUtils.isEmpty(mWebUrl)) {
@@ -58,7 +73,9 @@ class PartJobDetailPaymentFragment : YYBaseVDBFragment<PartJobDetailPaymentViewM
     override fun onDestroyView() {
     override fun onDestroyView() {
         super.onDestroyView()
         super.onDestroyView()
         //工具类回收重置状态
         //工具类回收重置状态
-        WebViewManager.recycle(mWebView)
+        if (this::mWebView.isInitialized) {
+            WebViewManager.recycle(mWebView)
+        }
     }
     }
 
 
     override fun startObserve() {
     override fun startObserve() {

+ 10 - 4
cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/fragment/PartJobDetailProcessFragment.kt

@@ -1,9 +1,10 @@
 package com.hongyegroup.cpt_parttime.ui.fragment
 package com.hongyegroup.cpt_parttime.ui.fragment
 
 
 import android.os.Bundle
 import android.os.Bundle
-import com.guadou.cs_cptservices.base.fragment.YYBaseVDBLazyLoadingFragment
+import com.guadou.cs_cptservices.base.fragment.YYBaseVDBLoadingFragment
 import com.guadou.cs_cptservices.interfaces.IFragmentRefresh
 import com.guadou.cs_cptservices.interfaces.IFragmentRefresh
 import com.guadou.lib_baselib.bean.DataBindingConfig
 import com.guadou.lib_baselib.bean.DataBindingConfig
+import com.guadou.lib_baselib.ext.checkEmpty
 import com.guadou.lib_baselib.ext.vertical
 import com.guadou.lib_baselib.ext.vertical
 import com.hongyegroup.cpt_parttime.R
 import com.hongyegroup.cpt_parttime.R
 import com.hongyegroup.cpt_parttime.databinding.FragmentParttimeJobDetailProcessBinding
 import com.hongyegroup.cpt_parttime.databinding.FragmentParttimeJobDetailProcessBinding
@@ -13,7 +14,7 @@ import com.hongyegroup.cpt_parttime.mvvm.PartJobDetailProcessViewModel
  * 工作详情 子页面 How To Report
  * 工作详情 子页面 How To Report
  * 工作流程
  * 工作流程
  */
  */
-class PartJobDetailProcessFragment : YYBaseVDBLazyLoadingFragment<PartJobDetailProcessViewModel, FragmentParttimeJobDetailProcessBinding>(),
+class PartJobDetailProcessFragment : YYBaseVDBLoadingFragment<PartJobDetailProcessViewModel, FragmentParttimeJobDetailProcessBinding>(),
     IFragmentRefresh {
     IFragmentRefresh {
 
 
     override fun getDataBindingConfig(): DataBindingConfig {
     override fun getDataBindingConfig(): DataBindingConfig {
@@ -24,10 +25,15 @@ class PartJobDetailProcessFragment : YYBaseVDBLazyLoadingFragment<PartJobDetailP
         initRV()
         initRV()
     }
     }
 
 
-    override fun onLazyInitData() {
-       mViewModel.getHowReportData()
+    override fun onResume() {
+        super.onResume()
+
+        if (mViewModel.mDatas.checkEmpty()){
+            mViewModel.getHowReportData()
+        }
     }
     }
 
 
+
     private fun initRV() {
     private fun initRV() {
         mBinding.rvHowReport.vertical().apply {
         mBinding.rvHowReport.vertical().apply {
             adapter = mViewModel.mAdapter
             adapter = mViewModel.mAdapter

+ 13 - 5
cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/fragment/PartJobDetailSlotsFragment.kt

@@ -1,9 +1,10 @@
 package com.hongyegroup.cpt_parttime.ui.fragment
 package com.hongyegroup.cpt_parttime.ui.fragment
 
 
 import android.os.Bundle
 import android.os.Bundle
-import com.guadou.cs_cptservices.base.fragment.YYBaseVDBLazyLoadingFragment
+import com.guadou.cs_cptservices.base.fragment.YYBaseVDBLoadingFragment
 import com.guadou.cs_cptservices.interfaces.IFragmentRefresh
 import com.guadou.cs_cptservices.interfaces.IFragmentRefresh
 import com.guadou.lib_baselib.bean.DataBindingConfig
 import com.guadou.lib_baselib.bean.DataBindingConfig
+import com.guadou.lib_baselib.ext.checkEmpty
 import com.guadou.lib_baselib.ext.vertical
 import com.guadou.lib_baselib.ext.vertical
 import com.hongyegroup.cpt_parttime.R
 import com.hongyegroup.cpt_parttime.R
 import com.hongyegroup.cpt_parttime.databinding.FragmentParttimeJobDetailSlotsBinding
 import com.hongyegroup.cpt_parttime.databinding.FragmentParttimeJobDetailSlotsBinding
@@ -12,7 +13,7 @@ import com.hongyegroup.cpt_parttime.mvvm.PartJobDetailSlotsViewModel
 /**
 /**
  * 工作详情 子页面 展示推荐的工作
  * 工作详情 子页面 展示推荐的工作
  */
  */
-class PartJobDetailSlotsFragment : YYBaseVDBLazyLoadingFragment<PartJobDetailSlotsViewModel, FragmentParttimeJobDetailSlotsBinding>(),
+class PartJobDetailSlotsFragment : YYBaseVDBLoadingFragment<PartJobDetailSlotsViewModel, FragmentParttimeJobDetailSlotsBinding>(),
     IFragmentRefresh {
     IFragmentRefresh {
 
 
     override fun getDataBindingConfig(): DataBindingConfig {
     override fun getDataBindingConfig(): DataBindingConfig {
@@ -20,15 +21,22 @@ class PartJobDetailSlotsFragment : YYBaseVDBLazyLoadingFragment<PartJobDetailSlo
     }
     }
 
 
     override fun init(savedInstanceState: Bundle?) {
     override fun init(savedInstanceState: Bundle?) {
-
         initRV()
         initRV()
+    }
+
+    override fun onResume() {
+        super.onResume()
 
 
+        initData()
     }
     }
 
 
-    override fun onLazyInitData() {
-        mViewModel.requestJobSlots()
+    private fun initData() {
+        if (mViewModel.mDatas.checkEmpty()){
+            mViewModel.requestJobSlots()
+        }
     }
     }
 
 
+
     private fun initRV() {
     private fun initRV() {
         mBinding.rvSlots.vertical().apply {
         mBinding.rvSlots.vertical().apply {
             adapter = mViewModel.mAdapter
             adapter = mViewModel.mAdapter

+ 37 - 10
cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/main/PartTimeHomeFragment.kt

@@ -1,15 +1,19 @@
 package com.hongyegroup.cpt_parttime.ui.main
 package com.hongyegroup.cpt_parttime.ui.main
 
 
+import android.app.Activity.RESULT_OK
+import android.content.Intent
 import android.graphics.Color
 import android.graphics.Color
 import android.os.Bundle
 import android.os.Bundle
 import android.view.View
 import android.view.View
 import android.widget.TextView
 import android.widget.TextView
+import androidx.activity.result.contract.ActivityResultContracts
 import com.chad.library.adapter.base.listener.OnLoadMoreListener
 import com.chad.library.adapter.base.listener.OnLoadMoreListener
 import com.gavin.com.library.PowerfulStickyDecoration
 import com.gavin.com.library.PowerfulStickyDecoration
 import com.gavin.com.library.listener.PowerGroupListener
 import com.gavin.com.library.listener.PowerGroupListener
 import com.guadou.cs_cptservices.base.fragment.YYBaseVDBLoadingFragment
 import com.guadou.cs_cptservices.base.fragment.YYBaseVDBLoadingFragment
 import com.guadou.cs_cptservices.interfaces.IFragmentRefresh
 import com.guadou.cs_cptservices.interfaces.IFragmentRefresh
 import com.guadou.lib_baselib.bean.DataBindingConfig
 import com.guadou.lib_baselib.bean.DataBindingConfig
+import com.guadou.lib_baselib.ext.checkEmpty
 import com.guadou.lib_baselib.ext.dp2px
 import com.guadou.lib_baselib.ext.dp2px
 import com.guadou.lib_baselib.ext.horizontal
 import com.guadou.lib_baselib.ext.horizontal
 import com.guadou.lib_baselib.ext.vertical
 import com.guadou.lib_baselib.ext.vertical
@@ -21,10 +25,12 @@ import com.hongyegroup.cpt_parttime.BR
 import com.hongyegroup.cpt_parttime.R
 import com.hongyegroup.cpt_parttime.R
 import com.hongyegroup.cpt_parttime.databinding.FragmentParttimeMainBinding
 import com.hongyegroup.cpt_parttime.databinding.FragmentParttimeMainBinding
 import com.hongyegroup.cpt_parttime.mvvm.PartTimeHomeViewModel
 import com.hongyegroup.cpt_parttime.mvvm.PartTimeHomeViewModel
+import com.hongyegroup.cpt_parttime.ui.activity.PartTimeIndustryActivity
 import com.hongyegroup.cpt_parttime.ui.activity.PartTimeJobDetailActivity
 import com.hongyegroup.cpt_parttime.ui.activity.PartTimeJobDetailActivity
 import com.scwang.smart.refresh.layout.api.RefreshLayout
 import com.scwang.smart.refresh.layout.api.RefreshLayout
 import com.scwang.smart.refresh.layout.listener.OnRefreshListener
 import com.scwang.smart.refresh.layout.listener.OnRefreshListener
 import kotlinx.coroutines.flow.MutableStateFlow
 import kotlinx.coroutines.flow.MutableStateFlow
+import java.util.*
 
 
 /**
 /**
  * 兼职模块的首页Frgment
  * 兼职模块的首页Frgment
@@ -32,6 +38,13 @@ import kotlinx.coroutines.flow.MutableStateFlow
 class PartTimeHomeFragment : YYBaseVDBLoadingFragment<PartTimeHomeViewModel, FragmentParttimeMainBinding>(), IFragmentRefresh, OnRefreshListener,
 class PartTimeHomeFragment : YYBaseVDBLoadingFragment<PartTimeHomeViewModel, FragmentParttimeMainBinding>(), IFragmentRefresh, OnRefreshListener,
     OnLoadMoreListener {
     OnLoadMoreListener {
 
 
+    private val startForResultLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
+        if (result.resultCode == RESULT_OK) {
+            val industryIds = result.data?.getStringArrayListExtra("industryIds")
+            setIndustryFilter(industryIds)
+        }
+    }
+
     private var mTopDecoration: PowerfulStickyDecoration? = null
     private var mTopDecoration: PowerfulStickyDecoration? = null
     private val mClickProxy by lazy { ClickProxy() }
     private val mClickProxy by lazy { ClickProxy() }
 
 
@@ -60,11 +73,6 @@ class PartTimeHomeFragment : YYBaseVDBLoadingFragment<PartTimeHomeViewModel, Fra
         mViewModel.requestJobList().observe(this) {
         mViewModel.requestJobList().observe(this) {
             mBinding.refreshLayout.finishRefresh()
             mBinding.refreshLayout.finishRefresh()
             mViewModel.mAllJobAdapter.loadMoreModule.isEnableLoadMore = true
             mViewModel.mAllJobAdapter.loadMoreModule.isEnableLoadMore = true
-
-            //清楚悬停头缓存
-            if (mViewModel.isNeedCleanAllData) {
-                mTopDecoration?.clearCache()
-            }
         }
         }
     }
     }
 
 
@@ -165,12 +173,26 @@ class PartTimeHomeFragment : YYBaseVDBLoadingFragment<PartTimeHomeViewModel, Fra
 
 
     }
     }
 
 
+    //设置行业的筛选选中
+    private fun setIndustryFilter(industryIds: ArrayList<String>?) {
+        mViewModel.mFilterIndustryIds = industryIds
+        //设置是否选中
+        mClickProxy.filterIndustryFlow.value = !industryIds.checkEmpty()
+    }
+
     /**
     /**
      * DataBinding事件处理
      * DataBinding事件处理
      */
      */
     inner class ClickProxy {
     inner class ClickProxy {
 
 
-        var filterIndex = MutableStateFlow(-1)
+        var filterIndustryFlow = MutableStateFlow(false)
+        var filterDateFlow = MutableStateFlow(false)
+        var filterOptionFlow = MutableStateFlow(false)
+
+        //关闭Activity
+        fun backPage() {
+            mActivity.finish()
+        }
 
 
         //执行搜索
         //执行搜索
         fun doSearch() {
         fun doSearch() {
@@ -186,7 +208,9 @@ class PartTimeHomeFragment : YYBaseVDBLoadingFragment<PartTimeHomeViewModel, Fra
 
 
         //重置筛选的条件
         //重置筛选的条件
         fun searchReset() {
         fun searchReset() {
-            filterIndex.value = -1
+            filterIndustryFlow.value = false
+            filterDateFlow.value = false
+            filterOptionFlow.value = false
             mViewModel.mKeywordLiveData.value = ""
             mViewModel.mKeywordLiveData.value = ""
             doSearch()
             doSearch()
         }
         }
@@ -197,15 +221,18 @@ class PartTimeHomeFragment : YYBaseVDBLoadingFragment<PartTimeHomeViewModel, Fra
         }
         }
 
 
         fun filterIndustry() {
         fun filterIndustry() {
-            filterIndex.value = 0
+            //带返回值的启动
+            startForResultLauncher.launch(
+                Intent(mActivity, PartTimeIndustryActivity::class.java).putExtra("industryIds", mViewModel.mFilterIndustryIds)
+            )
         }
         }
 
 
         fun filterDate() {
         fun filterDate() {
-            filterIndex.value = 1
+            filterDateFlow.value = true
         }
         }
 
 
         fun filterOption() {
         fun filterOption() {
-            filterIndex.value = 2
+            filterOptionFlow.value = true
         }
         }
 
 
     }
     }

+ 30 - 12
cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/main/PartTimeProfileFragment.kt

@@ -2,16 +2,19 @@ package com.hongyegroup.cpt_parttime.ui.main
 
 
 import android.os.Bundle
 import android.os.Bundle
 import android.view.View
 import android.view.View
+import androidx.databinding.DataBindingUtil
 import com.guadou.cs_cptservices.base.fragment.YYBaseVDBLoadingFragment
 import com.guadou.cs_cptservices.base.fragment.YYBaseVDBLoadingFragment
 import com.guadou.cs_cptservices.interfaces.IFragmentRefresh
 import com.guadou.cs_cptservices.interfaces.IFragmentRefresh
 import com.guadou.lib_baselib.bean.DataBindingConfig
 import com.guadou.lib_baselib.bean.DataBindingConfig
 import com.guadou.lib_baselib.utils.CommUtils
 import com.guadou.lib_baselib.utils.CommUtils
+import com.guadou.lib_baselib.utils.log.YYLogUtils
 import com.guadou.lib_baselib.view.gloading.GLoadingTitleStatus
 import com.guadou.lib_baselib.view.gloading.GLoadingTitleStatus
 import com.guadou.lib_baselib.view.gloading.Gloading
 import com.guadou.lib_baselib.view.gloading.Gloading
 import com.guadou.lib_baselib.view.gloading.GloadingGlobalAdapter
 import com.guadou.lib_baselib.view.gloading.GloadingGlobalAdapter
 import com.hongyegroup.cpt_parttime.BR
 import com.hongyegroup.cpt_parttime.BR
 import com.hongyegroup.cpt_parttime.R
 import com.hongyegroup.cpt_parttime.R
 import com.hongyegroup.cpt_parttime.databinding.FragmentParttimeJobProfileBinding
 import com.hongyegroup.cpt_parttime.databinding.FragmentParttimeJobProfileBinding
+import com.hongyegroup.cpt_parttime.databinding.IncludePensonalTurnUpRateBinding
 import com.hongyegroup.cpt_parttime.mvvm.PartJobProfileViewModel
 import com.hongyegroup.cpt_parttime.mvvm.PartJobProfileViewModel
 import com.hongyegroup.cpt_parttime.ui.PartJobEditProfileInfoActivity
 import com.hongyegroup.cpt_parttime.ui.PartJobEditProfileInfoActivity
 import com.hongyegroup.cpt_parttime.widget.UserUrgentAlertPopup
 import com.hongyegroup.cpt_parttime.widget.UserUrgentAlertPopup
@@ -25,9 +28,13 @@ import com.scwang.smart.refresh.layout.listener.OnRefreshListener
 class PartTimeProfileFragment : YYBaseVDBLoadingFragment<PartJobProfileViewModel, FragmentParttimeJobProfileBinding>(), IFragmentRefresh,
 class PartTimeProfileFragment : YYBaseVDBLoadingFragment<PartJobProfileViewModel, FragmentParttimeJobProfileBinding>(), IFragmentRefresh,
     OnRefreshListener {
     OnRefreshListener {
 
 
+    val clickProxy by lazy { ClickProxy() }
+    var mUserProfile: String? = null
+    var mRootBinding: IncludePensonalTurnUpRateBinding? = null
+
     override fun getDataBindingConfig(): DataBindingConfig {
     override fun getDataBindingConfig(): DataBindingConfig {
         return DataBindingConfig(R.layout.fragment_parttime_job_profile, BR.viewModel, mViewModel)
         return DataBindingConfig(R.layout.fragment_parttime_job_profile, BR.viewModel, mViewModel)
-            .addBindingParams(BR.click, ClickProxy())
+            .addBindingParams(BR.click, clickProxy)
     }
     }
 
 
     //重新生成GLoading对象-跳动动画
     //重新生成GLoading对象-跳动动画
@@ -45,23 +52,34 @@ class PartTimeProfileFragment : YYBaseVDBLoadingFragment<PartJobProfileViewModel
         initListener()
         initListener()
     }
     }
 
 
-
     private fun initData() {
     private fun initData() {
         showStateLoading()
         showStateLoading()
+
+        YYLogUtils.w("开始异步加载真正的跟视图")
+        if (!mBinding.viewStubRoot.isInflate()) {
+            mBinding.viewStubRoot.inflateAsync { view ->
+                mRootBinding = DataBindingUtil.bind<IncludePensonalTurnUpRateBinding>(view)?.apply {
+                    click = clickProxy
+                }
+
+                popupData2View()
+            }
+        }
+
+
+        YYLogUtils.w("开始请求用户详情数据")
         CommUtils.getHandler().postDelayed({
         CommUtils.getHandler().postDelayed({
+            mUserProfile = "xxx"
             showStateSuccess()
             showStateSuccess()
-
-//            popupPartTimeProfile()
-        }, 1500)
+            popupData2View()
+        }, 1200)
     }
     }
 
 
-//    private fun popupPartTimeProfile() {
-//        val mRatingView = mBinding.viewStubRating.viewStub?.inflate()
-//
-//        val mRateBinding = DataBindingUtil.bind<IncludePensonalTurnUpRateBinding>(mRatingView!!)
-//
-//        mRateBinding?.turnUpProgress?.setValue("60", 100f)
-//    }
+    private fun popupData2View() {
+        if (mUserProfile != null && mRootBinding != null) {
+            mRootBinding!!.turnUpProgress.setValue("60", 100F)
+        }
+    }
 
 
     override fun onGoadingRetry() {
     override fun onGoadingRetry() {
 
 

+ 0 - 2
cpt_parttime/src/main/res/color/selector_filter_industry.xml

@@ -2,10 +2,8 @@
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:color="@color/white" android:state_selected="true" />
     <item android:color="@color/white" android:state_selected="true" />
     <item android:color="@color/white" android:state_active="true" />
     <item android:color="@color/white" android:state_active="true" />
-    <item android:color="@color/white" android:state_pressed="true" />
     <item android:color="@color/white" android:state_checked="true" />
     <item android:color="@color/white" android:state_checked="true" />
     <item android:color="@color/text_yellow_ff9300" android:state_selected="false" />
     <item android:color="@color/text_yellow_ff9300" android:state_selected="false" />
     <item android:color="@color/text_yellow_ff9300" android:state_active="false" />
     <item android:color="@color/text_yellow_ff9300" android:state_active="false" />
-    <item android:color="@color/text_yellow_ff9300" android:state_pressed="false" />
     <item android:color="@color/text_yellow_ff9300" android:state_checked="false" />
     <item android:color="@color/text_yellow_ff9300" android:state_checked="false" />
 </selector>
 </selector>

二進制
cpt_parttime/src/main/res/drawable-xxhdpi/iv_job_detail_address.webp


二進制
cpt_parttime/src/main/res/drawable-xxhdpi/iv_job_detail_category.webp


二進制
cpt_parttime/src/main/res/drawable-xxhdpi/iv_job_detail_classify.webp


二進制
cpt_parttime/src/main/res/drawable-xxhdpi/iv_job_detail_price_bg.webp


二進制
cpt_parttime/src/main/res/drawable-xxhdpi/iv_job_detail_time.webp


二進制
cpt_parttime/src/main/res/drawable-xxhdpi/job_detail_cancel_job_tips_icon.webp


二進制
cpt_parttime/src/main/res/drawable-xxhdpi/job_detail_directions_icon.webp


二進制
cpt_parttime/src/main/res/drawable-xxhdpi/part_time_me_qna.webp


二進制
cpt_parttime/src/main/res/drawable-xxhdpi/redpacket_web_delete_rules.webp


+ 12 - 0
cpt_parttime/src/main/res/drawable/shape_home_list_border_bg.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <padding
+        android:bottom="0.5dp"
+        android:left="0.5dp"
+        android:right="0.5dp"
+        android:top="0.5dp" />
+    <stroke
+        android:width="0.5dp"
+        android:color="#E5E5E5" />
+
+</shape>

+ 16 - 16
cpt_parttime/src/main/res/layout/activity_part_job_edit_profile_info.xml

@@ -1127,7 +1127,7 @@
                                 android:layout_height="wrap_content"
                                 android:layout_height="wrap_content"
                                 android:layout_weight="1"
                                 android:layout_weight="1"
                                 android:background="@color/transparent"
                                 android:background="@color/transparent"
-                                android:button="@drawable/selector_check_red_square"
+                                android:button="@drawable/selector_check_red_big_10padding"
                                 android:text="英语"
                                 android:text="英语"
                                 android:textColor="@color/profile_black_8098b2"
                                 android:textColor="@color/profile_black_8098b2"
                                 android:textSize="14sp"
                                 android:textSize="14sp"
@@ -1141,7 +1141,7 @@
                                 android:layout_marginLeft="3dp"
                                 android:layout_marginLeft="3dp"
                                 android:layout_weight="1"
                                 android:layout_weight="1"
                                 android:background="@color/transparent"
                                 android:background="@color/transparent"
-                                android:button="@drawable/selector_check_red_square"
+                                android:button="@drawable/selector_check_red_big_10padding"
                                 android:text="中文"
                                 android:text="中文"
                                 android:textColor="@color/profile_black_8098b2"
                                 android:textColor="@color/profile_black_8098b2"
                                 android:textSize="14sp"
                                 android:textSize="14sp"
@@ -1155,7 +1155,7 @@
                                 android:layout_marginLeft="3dp"
                                 android:layout_marginLeft="3dp"
                                 android:layout_weight="1"
                                 android:layout_weight="1"
                                 android:background="@color/transparent"
                                 android:background="@color/transparent"
-                                android:button="@drawable/selector_check_red_square"
+                                android:button="@drawable/selector_check_red_big_10padding"
                                 android:text="马来语"
                                 android:text="马来语"
                                 android:textColor="@color/profile_black_8098b2"
                                 android:textColor="@color/profile_black_8098b2"
                                 android:textSize="14sp"
                                 android:textSize="14sp"
@@ -1178,7 +1178,7 @@
                                 android:layout_height="wrap_content"
                                 android:layout_height="wrap_content"
                                 android:layout_weight="1"
                                 android:layout_weight="1"
                                 android:background="@color/transparent"
                                 android:background="@color/transparent"
-                                android:button="@drawable/selector_check_red_square"
+                                android:button="@drawable/selector_check_red_big_10padding"
                                 android:text="泰米尔语"
                                 android:text="泰米尔语"
                                 android:textColor="@color/profile_black_8098b2"
                                 android:textColor="@color/profile_black_8098b2"
                                 android:textSize="14sp"
                                 android:textSize="14sp"
@@ -1192,7 +1192,7 @@
                                 android:layout_marginLeft="3dp"
                                 android:layout_marginLeft="3dp"
                                 android:layout_weight="1"
                                 android:layout_weight="1"
                                 android:background="@color/transparent"
                                 android:background="@color/transparent"
-                                android:button="@drawable/selector_check_red_square"
+                                android:button="@drawable/selector_check_red_big_10padding"
                                 android:text="北印度语"
                                 android:text="北印度语"
                                 android:textColor="@color/profile_black_8098b2"
                                 android:textColor="@color/profile_black_8098b2"
                                 android:textSize="14sp"
                                 android:textSize="14sp"
@@ -1206,7 +1206,7 @@
                                 android:layout_marginLeft="3dp"
                                 android:layout_marginLeft="3dp"
                                 android:layout_weight="1"
                                 android:layout_weight="1"
                                 android:background="@color/transparent"
                                 android:background="@color/transparent"
-                                android:button="@drawable/selector_check_red_square"
+                                android:button="@drawable/selector_check_red_big_10padding"
                                 android:text="其他"
                                 android:text="其他"
                                 android:textColor="@color/profile_black_8098b2"
                                 android:textColor="@color/profile_black_8098b2"
                                 android:textSize="14sp"
                                 android:textSize="14sp"
@@ -1658,7 +1658,7 @@
                             android:layout_marginLeft="@dimen/d_20dp"
                             android:layout_marginLeft="@dimen/d_20dp"
                             android:layout_marginBottom="@dimen/d_20dp"
                             android:layout_marginBottom="@dimen/d_20dp"
                             android:background="@color/transparent"
                             android:background="@color/transparent"
-                            android:button="@drawable/selector_check_red_square"
+                            android:button="@drawable/selector_check_red_big_10padding"
                             android:checked="false"
                             android:checked="false"
                             android:clickable="true"
                             android:clickable="true"
                             android:text="与住宅地址相同"
                             android:text="与住宅地址相同"
@@ -1722,7 +1722,7 @@
                                 android:layout_height="wrap_content"
                                 android:layout_height="wrap_content"
                                 android:layout_weight="1"
                                 android:layout_weight="1"
                                 android:background="@color/transparent"
                                 android:background="@color/transparent"
-                                android:button="@drawable/selector_check_red_square"
+                                android:button="@drawable/selector_check_red_big_10padding"
                                 android:text="短信"
                                 android:text="短信"
                                 android:textColor="@color/profile_black_8098b2"
                                 android:textColor="@color/profile_black_8098b2"
                                 android:textSize="14sp"
                                 android:textSize="14sp"
@@ -1736,7 +1736,7 @@
                                 android:layout_marginLeft="3dp"
                                 android:layout_marginLeft="3dp"
                                 android:layout_weight="1"
                                 android:layout_weight="1"
                                 android:background="@color/transparent"
                                 android:background="@color/transparent"
-                                android:button="@drawable/selector_check_red_square"
+                                android:button="@drawable/selector_check_red_big_10padding"
                                 android:text="电话"
                                 android:text="电话"
                                 android:textColor="@color/profile_black_8098b2"
                                 android:textColor="@color/profile_black_8098b2"
                                 android:textSize="14sp"
                                 android:textSize="14sp"
@@ -1750,7 +1750,7 @@
                                 android:layout_marginLeft="3dp"
                                 android:layout_marginLeft="3dp"
                                 android:layout_weight="1"
                                 android:layout_weight="1"
                                 android:background="@color/transparent"
                                 android:background="@color/transparent"
-                                android:button="@drawable/selector_check_red_square"
+                                android:button="@drawable/selector_check_red_big_10padding"
                                 android:text="邮箱"
                                 android:text="邮箱"
                                 android:textColor="@color/profile_black_8098b2"
                                 android:textColor="@color/profile_black_8098b2"
                                 android:textSize="14sp"
                                 android:textSize="14sp"
@@ -1765,7 +1765,7 @@
                             android:layout_marginLeft="@dimen/d_20dp"
                             android:layout_marginLeft="@dimen/d_20dp"
                             android:layout_marginBottom="@dimen/d_25dp"
                             android:layout_marginBottom="@dimen/d_25dp"
                             android:background="@color/transparent"
                             android:background="@color/transparent"
-                            android:button="@drawable/selector_check_red_square"
+                            android:button="@drawable/selector_check_red_big_10padding"
                             android:text="其他"
                             android:text="其他"
                             android:textColor="@color/profile_black_8098b2"
                             android:textColor="@color/profile_black_8098b2"
                             android:textSize="14sp"
                             android:textSize="14sp"
@@ -1827,7 +1827,7 @@
                                 android:layout_width="wrap_content"
                                 android:layout_width="wrap_content"
                                 android:layout_height="wrap_content"
                                 android:layout_height="wrap_content"
                                 android:background="@color/transparent"
                                 android:background="@color/transparent"
-                                android:button="@drawable/selector_check_red_circle"
+                                android:button="@drawable/selector_radio_red_circle_10padding"
                                 android:text="是"
                                 android:text="是"
                                 android:textColor="@color/profile_black_8098b2"
                                 android:textColor="@color/profile_black_8098b2"
                                 android:textSize="14sp" />
                                 android:textSize="14sp" />
@@ -1839,7 +1839,7 @@
                                 android:layout_marginStart="30dp"
                                 android:layout_marginStart="30dp"
                                 android:layout_marginLeft="30dp"
                                 android:layout_marginLeft="30dp"
                                 android:background="@color/transparent"
                                 android:background="@color/transparent"
-                                android:button="@drawable/selector_check_red_circle"
+                                android:button="@drawable/selector_radio_red_circle_10padding"
                                 android:text="@string/no"
                                 android:text="@string/no"
                                 android:textColor="@color/profile_black_8098b2"
                                 android:textColor="@color/profile_black_8098b2"
                                 android:textSize="14sp" />
                                 android:textSize="14sp" />
@@ -1926,7 +1926,7 @@
                                 android:layout_width="wrap_content"
                                 android:layout_width="wrap_content"
                                 android:layout_height="wrap_content"
                                 android:layout_height="wrap_content"
                                 android:background="@color/transparent"
                                 android:background="@color/transparent"
-                                android:button="@drawable/selector_check_red_circle"
+                                android:button="@drawable/selector_radio_red_circle_10padding"
                                 android:text="是"
                                 android:text="是"
                                 android:textColor="@color/profile_black_8098b2"
                                 android:textColor="@color/profile_black_8098b2"
                                 android:textSize="14sp" />
                                 android:textSize="14sp" />
@@ -1938,7 +1938,7 @@
                                 android:layout_marginStart="30dp"
                                 android:layout_marginStart="30dp"
                                 android:layout_marginLeft="30dp"
                                 android:layout_marginLeft="30dp"
                                 android:background="@color/transparent"
                                 android:background="@color/transparent"
-                                android:button="@drawable/selector_check_red_circle"
+                                android:button="@drawable/selector_radio_red_circle_10padding"
                                 android:text="@string/no"
                                 android:text="@string/no"
                                 android:textColor="@color/profile_black_8098b2"
                                 android:textColor="@color/profile_black_8098b2"
                                 android:textSize="14sp" />
                                 android:textSize="14sp" />
@@ -2023,7 +2023,7 @@
                                 android:layout_height="wrap_content"
                                 android:layout_height="wrap_content"
                                 android:layout_marginLeft="@dimen/d_20dp"
                                 android:layout_marginLeft="@dimen/d_20dp"
                                 android:background="@color/transparent"
                                 android:background="@color/transparent"
-                                android:button="@drawable/selector_check_red"
+                                android:button="@drawable/selector_check_red_10padding"
                                 android:gravity="top"
                                 android:gravity="top"
                                 android:theme="@style/AppThemeLight" />
                                 android:theme="@style/AppThemeLight" />
 
 

+ 73 - 0
cpt_parttime/src/main/res/layout/activity_parttime_industry.xml

@@ -0,0 +1,73 @@
+<?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="match_parent"
+        android:background="@color/white"
+        android:orientation="vertical">
+
+        <com.guadou.lib_baselib.view.titlebar.EasyTitleBar
+            android:id="@+id/easy_title"
+            android:layout_width="match_parent"
+            app:Easy_menuTextSize="@dimen/d_15sp"
+            android:layout_height="wrap_content"
+            app:Easy_menuTextColor="@color/profile_red"
+            app:Easy_title="选择行业" />
+
+        <com.scwang.smart.refresh.layout.SmartRefreshLayout
+            android:id="@+id/refresh_layout"
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
+            android:layout_weight="1"
+            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" />
+
+            <androidx.recyclerview.widget.RecyclerView
+                android:id="@+id/recyclerView"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:paddingRight="@dimen/d_10dp"
+                android:scrollbars="none" />
+
+        </com.scwang.smart.refresh.layout.SmartRefreshLayout>
+
+        <FrameLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_gravity="bottom"
+            android:background="#90ffffff">
+
+            <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                android:id="@+id/button_apply"
+                android:layout_width="match_parent"
+                android:layout_height="@dimen/d_42dp"
+                android:layout_marginLeft="@dimen/d_35dp"
+                android:layout_marginTop="@dimen/d_25dp"
+                android:layout_marginRight="@dimen/d_35dp"
+                android:layout_marginBottom="@dimen/d_25dp"
+                android:background="@drawable/selector_app_blue_button_round2_bg"
+                android:gravity="center"
+                android:text="确认"
+                android:textColor="@color/white"
+                android:textSize="@dimen/d_16sp" />
+
+        </FrameLayout>
+
+    </LinearLayout>
+
+</layout>

+ 46 - 233
cpt_parttime/src/main/res/layout/activity_parttime_job_detail.xml

@@ -25,246 +25,59 @@
         android:background="@color/white"
         android:background="@color/white"
         android:orientation="vertical">
         android:orientation="vertical">
 
 
-        <androidx.constraintlayout.motion.widget.MotionLayout
+        <com.guadou.lib_baselib.view.titlebar.EasyTitleBar
             android:layout_width="match_parent"
             android:layout_width="match_parent"
-            android:layout_height="0dp"
-            android:layout_weight="1"
-            app:layoutDescription="@xml/scene_part_job_detail">
-
-            <!--   顶部的图片    -->
-            <androidx.constraintlayout.widget.ConstraintLayout
-                android:id="@+id/cl_top_img_box"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content">
-
-                <ImageView
-                    android:id="@+id/iv_job_image"
-                    android:layout_width="0dp"
-                    android:layout_height="0dp"
-                    android:background="@color/gray"
-                    android:scaleType="centerCrop"
-                    app:layout_constraintDimensionRatio="W,219:375"
-                    app:layout_constraintLeft_toLeftOf="parent"
-                    app:layout_constraintRight_toRightOf="parent"
-                    app:layout_constraintTop_toTopOf="parent" />
-
-            </androidx.constraintlayout.widget.ConstraintLayout>
-
-            <!-- 相册布局 -->
-            <LinearLayout
-                android:id="@+id/ll_gallery_box"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginRight="@dimen/d_15dp"
-                android:layout_marginBottom="@dimen/d_10dp"
-                android:background="@drawable/shape_job_detail_gallery_box"
-                android:gravity="center"
-                android:orientation="horizontal"
-                app:layout_constraintBottom_toBottomOf="@id/cl_top_img_box"
-                app:layout_constraintRight_toRightOf="@id/cl_top_img_box"
-                binding:clicks="@{click.gotoGalleryPage}">
-
-                <TextView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:drawableLeft="@drawable/job_detail_gallery_icon"
-                    android:drawablePadding="@dimen/d_7dp"
-                    android:paddingLeft="@dimen/d_10dp"
-                    android:paddingTop="@dimen/d_6dp"
-                    android:paddingRight="@dimen/d_10dp"
-                    android:paddingBottom="@dimen/d_6dp"
-                    android:text="相册"
-                    android:textColor="@color/white"
-                    android:textSize="@dimen/d_14sp" />
-
-            </LinearLayout>
+            android:layout_height="wrap_content"
+            app:Easy_title="香格里拉酒店" />
 
 
-            <!--   固定的状态栏 用于定位     -->
-            <com.guadou.lib_baselib.view.titlebar.StatusbarGrayView
-                android:id="@+id/status_view"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content" />
+        <FrameLayout
+            android:layout_width="match_parent"
+            android:layout_height="match_parent">
 
 
-            <!--   返回栏    -->
-            <FrameLayout
-                android:id="@+id/back_layout"
+            <com.guadou.cs_cptservices.widget.AsyncViewStub
+                android:id="@+id/view_stub_root"
                 android:layout_width="match_parent"
                 android:layout_width="match_parent"
-                android:layout_height="@dimen/d_40dp"
-                android:background="@color/transparent"
-                tools:layout_editor_absoluteY="24dp">
-
-                <ImageView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_gravity="center_vertical"
-                    android:layout_marginLeft="@dimen/d_14dp"
-                    android:layout_marginTop="@dimen/d_2dp"
-                    android:src="@mipmap/back_white_icon" />
-
-                <ImageView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_gravity="center_vertical|right"
-                    android:layout_marginRight="@dimen/d_15dp"
-                    android:src="@drawable/part_detail_job_collect_icon" />
-
-            </FrameLayout>
-
-            <!--  工作信息等TextView    -->
-            <com.guadou.lib_baselib.font_text_view.TextViewBold
-                android:id="@+id/tv_job_title"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginLeft="@dimen/d_15dp"
-                android:layout_marginTop="@dimen/d_5dp"
-                android:ellipsize="end"
-                android:gravity="center"
-                android:lines="1"
-                android:singleLine="true"
-                android:text="斗鱼主播招聘"
-                android:textColor="@color/white"
-                android:textSize="@dimen/d_20sp"
-                app:layout_constraintLeft_toLeftOf="parent"
-                app:layout_constraintTop_toBottomOf="@id/back_layout" />
-
+                android:layout_height="match_parent"
+                app:layout="@layout/include_part_time_job_detail_activity" />
+
+            <!--  IM图标  -->
+            <ImageView
+                android:id="@+id/iv_yy_chat"
+                android:layout_width="@dimen/d_90dp"
+                android:layout_height="@dimen/d_90dp"
+                android:layout_gravity="bottom|right"
+                android:layout_marginRight="@dimen/d_10dp"
+                android:layout_marginBottom="@dimen/d_80dp"
+                android:src="@drawable/jump_chat_icon"
+                android:visibility="visible"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintRight_toRightOf="parent"
+                app:layout_constraintTop_toTopOf="parent" />
+
+            <!--  取消工作等之类的工作异常状态显示  -->
             <com.guadou.lib_baselib.font_text_view.TextViewMedium
             <com.guadou.lib_baselib.font_text_view.TextViewMedium
-                android:id="@+id/tv_job_employer"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginLeft="@dimen/d_15dp"
-                android:layout_marginTop="@dimen/d_10dp"
-                android:text="武汉斗鱼网络科技有限公司"
-                android:textColor="@color/white"
-                android:textSize="@dimen/d_14sp"
-                app:layout_constraintLeft_toLeftOf="parent"
-                app:layout_constraintTop_toBottomOf="@id/tv_job_title" />
-
-            <com.guadou.lib_baselib.font_text_view.TextViewBold
-                android:id="@+id/tv_job_hour"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginLeft="@dimen/d_15dp"
-                android:layout_marginTop="@dimen/d_10dp"
-                android:text="100元/小时"
-                android:textColor="@color/text_orange"
-                android:textSize="@dimen/d_16sp"
-                app:layout_constraintLeft_toLeftOf="parent"
-                app:layout_constraintTop_toBottomOf="@id/tv_job_employer" />
-
-            <com.guadou.lib_baselib.font_text_view.TextViewMedium
-                android:id="@+id/tv_job_industry"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginLeft="@dimen/d_15dp"
-                android:layout_marginTop="@dimen/d_8dp"
-                android:text="江岸 | 主播"
-                android:textColor="@color/white"
-                android:textSize="@dimen/d_14sp"
-                app:layout_constraintLeft_toLeftOf="parent"
-                app:layout_constraintTop_toBottomOf="@id/tv_job_hour" />
-
-            <!--   Tab布局     -->
-            <FrameLayout
-                android:id="@+id/tab_layout_box"
-                android:layout_width="match_parent"
-                android:layout_height="@dimen/d_40dp">
-
-                <com.google.android.material.tabs.TabLayout
-                    android:id="@+id/tabLayout"
-                    android:layout_width="match_parent"
-                    android:layout_height="@dimen/d_40dp"
-                    android:background="@color/white"
-                    app:tabIndicator="@drawable/shape_blue_bottom_line_3conner"
-                    app:tabIndicatorColor="@color/app_blue"
-                    app:tabIndicatorFullWidth="false"
-                    app:tabIndicatorHeight="@dimen/d_2dp"
-                    app:tabMode="scrollable"
-                    app:tabRippleColor="@color/transparent"
-                    app:tabSelectedTextColor="@color/app_blue"
-                    app:tabTextColor="@color/black" />
-
-                <ImageView
-                    android:id="@+id/iv_tab_right"
-                    android:layout_width="wrap_content"
-                    android:layout_height="match_parent"
-                    android:layout_gravity="right"
-                    android:src="@drawable/job_detail_tab_right_arrow"
-                    binding:clicks="@{click.tabNext}" />
-
-            </FrameLayout>
-
-            <!--   Fragment容器     -->
-            <androidx.viewpager.widget.ViewPager
-                android:id="@+id/view_pager"
+                android:id="@+id/tv_cancel_status_message"
                 android:layout_width="match_parent"
                 android:layout_width="match_parent"
-                android:layout_height="0dp" />
-
-
-        </androidx.constraintlayout.motion.widget.MotionLayout>
-
-        <!-- 底部按钮组容器 -->
-        <FrameLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="vertical"
-            binding:isVisibleGone="@{click.isShowBottomBtn}">
-
-            <LinearLayout
+                android:layout_height="wrap_content"
+                android:background="@color/app_blue"
+                android:drawableLeft="@drawable/job_detail_cancel_job_tips_icon"
+                android:drawablePadding="@dimen/d_6dp"
+                android:gravity="center_vertical"
+                android:paddingLeft="@dimen/d_15dp"
+                android:paddingTop="@dimen/d_12dp"
+                android:paddingRight="@dimen/d_15dp"
+                android:paddingBottom="@dimen/d_12dp"
+                android:text="你已经取消过此工作,你无法再次申请工作"
+                android:textColor="#FFFFF001"
+                android:textSize="@dimen/d_15sp"
+                android:visibility="gone" />
+
+            <!-- 红包宝箱的WebView容器 -->
+            <ViewStub
+                android:id="@+id/view_stub_redpacket"
                 android:layout_width="match_parent"
                 android:layout_width="match_parent"
-                android:layout_height="@dimen/d_45dp"
-                android:orientation="horizontal">
-
-                <LinearLayout
-                    android:layout_width="0dp"
-                    android:layout_height="match_parent"
-                    android:layout_weight="1"
-                    android:background="@color/part_share_btn_bg"
-                    android:gravity="center"
-                    android:orientation="horizontal"
-                    binding:clicks="@{click.shareJob}">
-
-                    <ImageView
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:src="@drawable/part_share_icon" />
-
-                    <com.guadou.lib_baselib.font_text_view.TextViewBold
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_marginLeft="@dimen/d_10dp"
-                        android:gravity="center"
-                        android:text="分享"
-                        android:textColor="@color/profile_red"
-                        android:textSize="@dimen/d_17sp" />
-
-                </LinearLayout>
-
-                <LinearLayout
-                    android:layout_width="0dp"
-                    android:layout_height="match_parent"
-                    android:layout_weight="2"
-                    android:background="@color/profile_red"
-                    android:gravity="center"
-                    android:orientation="horizontal"
-                    binding:clicks="@{click.applyJob}">
-
-                    <ImageView
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:src="@drawable/part_apply_icon" />
-
-                    <com.guadou.lib_baselib.font_text_view.TextViewBold
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_marginLeft="@dimen/d_10dp"
-                        android:gravity="center"
-                        android:text="立即申请"
-                        android:textColor="@color/white"
-                        android:textSize="@dimen/d_17sp" />
-
-                </LinearLayout>
-
-            </LinearLayout>
+                android:layout_height="match_parent"
+                android:layout="@layout/stub_job_detail_web" />
 
 
         </FrameLayout>
         </FrameLayout>
 
 

+ 7 - 38
cpt_parttime/src/main/res/layout/fragment_parttime_job_detail.xml

@@ -19,52 +19,23 @@
 
 
     </data>
     </data>
 
 
-<!--    <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:layout_behavior="@string/appbar_scrolling_view_behavior"-->
-<!--        app:srlEnablePreviewInEditMode="false"-->
-<!--        app:srlPrimaryColor="@color/white">-->
-
-<!--    <com.scwang.smart.refresh.header.ClassicsHeader-->
-<!--        android:layout_width="match_parent"-->
-<!--        android:layout_height="wrap_content" />-->
-
     <androidx.core.widget.NestedScrollView
     <androidx.core.widget.NestedScrollView
         android:layout_width="match_parent"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
-        android:scrollbars="vertical"
+        android:background="@color/page_bg"
         android:overScrollMode="never"
         android:overScrollMode="never"
-        android:background="@color/page_bg">
+        android:scrollbars="vertical">
 
 
         <LinearLayout
         <LinearLayout
             android:layout_width="match_parent"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
             android:orientation="vertical">
             android:orientation="vertical">
 
 
-            <include
-                layout="@layout/include_parttime_job_detail_header_date_address"
-                binding:click="@{click}"
-                binding:viewModel="@{viewModel}" />
-
-            <include
-                layout="@layout/include_parttime_job_detail_header_requirement"
-                binding:viewModel="@{viewModel}" />
-
-            <include
-                layout="@layout/include_parttime_job_detail_header_work"
-                binding:viewModel="@{viewModel}" />
-
-            <include
-                layout="@layout/include_parttime_job_detail_header_qualification"
-                binding:viewModel="@{viewModel}" />
-
-            <include
-                layout="@layout/include_parttime_job_detail_header_interested"
-                binding:viewModel="@{viewModel}" />
+            <com.guadou.cs_cptservices.widget.AsyncViewStub
+                android:id="@+id/view_stub_root"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                app:layout="@layout/include_part_time_job_detail_fragment" />
 
 
             <androidx.recyclerview.widget.RecyclerView
             <androidx.recyclerview.widget.RecyclerView
                 android:id="@+id/rv_recommend"
                 android:id="@+id/rv_recommend"
@@ -77,8 +48,6 @@
 
 
     </androidx.core.widget.NestedScrollView>
     </androidx.core.widget.NestedScrollView>
 
 
-<!--    </com.scwang.smart.refresh.layout.SmartRefreshLayout>-->
-
 </layout>
 </layout>
 
 
 
 

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

@@ -23,7 +23,7 @@
                 android:layout_width="match_parent"
                 android:layout_width="match_parent"
                 android:layout_height="@dimen/d_10dp" />
                 android:layout_height="@dimen/d_10dp" />
 
 
-            <com.guadou.lib_baselib.font_text_view.TextViewBold
+            <com.guadou.lib_baselib.font_text_view.TextViewMedium
                 android:layout_width="match_parent"
                 android:layout_width="match_parent"
                 android:layout_height="43dp"
                 android:layout_height="43dp"
                 android:background="@color/white"
                 android:background="@color/white"

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

@@ -25,7 +25,7 @@
                 android:layout_width="match_parent"
                 android:layout_width="match_parent"
                 android:layout_height="@dimen/d_10dp" />
                 android:layout_height="@dimen/d_10dp" />
 
 
-            <com.guadou.lib_baselib.font_text_view.TextViewBold
+            <com.guadou.lib_baselib.font_text_view.TextViewMedium
                 android:layout_width="match_parent"
                 android:layout_width="match_parent"
                 android:layout_height="43dp"
                 android:layout_height="43dp"
                 android:background="@color/white"
                 android:background="@color/white"

+ 0 - 1
cpt_parttime/src/main/res/layout/fragment_parttime_job_detail_process.xml

@@ -7,7 +7,6 @@
 
 
     </data>
     </data>
 
 
-
     <androidx.core.widget.NestedScrollView
     <androidx.core.widget.NestedScrollView
         android:layout_width="match_parent"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"

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

@@ -23,7 +23,7 @@
                 android:layout_width="match_parent"
                 android:layout_width="match_parent"
                 android:layout_height="@dimen/d_10dp" />
                 android:layout_height="@dimen/d_10dp" />
 
 
-            <com.guadou.lib_baselib.font_text_view.TextViewBold
+            <com.guadou.lib_baselib.font_text_view.TextViewMedium
                 android:layout_width="match_parent"
                 android:layout_width="match_parent"
                 android:layout_height="43dp"
                 android:layout_height="43dp"
                 android:background="@color/white"
                 android:background="@color/white"

+ 39 - 401
cpt_parttime/src/main/res/layout/fragment_parttime_job_profile.xml

@@ -23,25 +23,41 @@
         android:background="@color/white"
         android:background="@color/white"
         android:orientation="vertical">
         android:orientation="vertical">
 
 
-        <FrameLayout
-            android:id="@+id/ll_title_box"
+        <!--   Title的布局    -->
+        <LinearLayout
             android:layout_width="match_parent"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
-            android:background="@drawable/shape_gradient_proifle_title_top">
+            android:background="@drawable/shape_gradient_proifle_title_top"
+            android:orientation="vertical">
 
 
-            <com.guadou.lib_baselib.view.titlebar.EasyTitleBar
-                android:id="@+id/title_bar_parttime_job_profile"
+            <com.guadou.lib_baselib.view.titlebar.StatusbarGrayView
                 android:layout_width="match_parent"
                 android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:textSize="@dimen/d_18sp"
-                app:Easy_backRes="@null"
-                app:Easy_hasStatusPadding="true"
-                app:Easy_lineState="gone"
-                app:Easy_title="我的"
-                app:Easy_titleBarBackground="@color/transparent"
-                app:Easy_titleColor="@color/white" />
+                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:gravity="center"
+                    android:text="我的"
+                    android:textColor="@color/white"
+                    android:textSize="@dimen/d_18sp" />
+
+                <ImageView
+                    android:layout_width="@dimen/d_70dp"
+                    android:layout_height="28.5dp"
+                    android:layout_gravity="center_vertical|right"
+                    android:layout_marginTop="1.5dp"
+                    android:layout_marginRight="@dimen/d_12dp"
+                    android:src="@drawable/part_time_me_qna" />
+
+            </FrameLayout>
 
 
-        </FrameLayout>
+        </LinearLayout>
 
 
         <com.scwang.smart.refresh.layout.SmartRefreshLayout
         <com.scwang.smart.refresh.layout.SmartRefreshLayout
             android:id="@+id/refresh_layout"
             android:id="@+id/refresh_layout"
@@ -50,7 +66,7 @@
             android:focusable="true"
             android:focusable="true"
             android:focusableInTouchMode="true"
             android:focusableInTouchMode="true"
             app:srlAccentColor="#03A3FE"
             app:srlAccentColor="#03A3FE"
-            app:srlEnablePreviewInEditMode="true"
+            app:srlEnablePreviewInEditMode="false"
             app:srlPrimaryColor="@color/app_blue">
             app:srlPrimaryColor="@color/app_blue">
 
 
             <com.scwang.smart.refresh.header.ClassicsHeader
             <com.scwang.smart.refresh.header.ClassicsHeader
@@ -65,6 +81,7 @@
                 android:overScrollMode="never">
                 android:overScrollMode="never">
 
 
                 <LinearLayout
                 <LinearLayout
+                    android:id="@+id/ll_root_container"
                     android:layout_width="match_parent"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
                     android:layout_height="wrap_content"
                     android:background="#FAFDFF"
                     android:background="#FAFDFF"
@@ -119,7 +136,7 @@
                                     android:layout_height="wrap_content"
                                     android:layout_height="wrap_content"
                                     android:textColor="@color/profile_black_28394a"
                                     android:textColor="@color/profile_black_28394a"
                                     android:textSize="24sp"
                                     android:textSize="24sp"
-                                    tools:text="Lisa Yang" />
+                                    android:text="阳顶天" />
 
 
 
 
                                 <com.guadou.lib_baselib.font_text_view.TextViewRegular
                                 <com.guadou.lib_baselib.font_text_view.TextViewRegular
@@ -130,7 +147,7 @@
                                     android:layout_marginTop="@dimen/d_2dp"
                                     android:layout_marginTop="@dimen/d_2dp"
                                     android:textColor="#8098B2"
                                     android:textColor="#8098B2"
                                     android:textSize="13.8dp"
                                     android:textSize="13.8dp"
-                                    tools:text="Fangyuan@hongyegroup.com" />
+                                    android:text="Fangyuan@hongyegroup.com" />
 
 
                                 <com.guadou.lib_baselib.font_text_view.TextViewRegular
                                 <com.guadou.lib_baselib.font_text_view.TextViewRegular
                                     android:id="@+id/text_view_joined_date"
                                     android:id="@+id/text_view_joined_date"
@@ -140,7 +157,7 @@
                                     android:layout_marginTop="@dimen/d_2dp"
                                     android:layout_marginTop="@dimen/d_2dp"
                                     android:textColor="#8098B2"
                                     android:textColor="#8098B2"
                                     android:textSize="13.8dp"
                                     android:textSize="13.8dp"
-                                    tools:text="10,May 2020" />
+                                    android:text="10,May 2020" />
 
 
                                 <LinearLayout
                                 <LinearLayout
                                     android:id="@+id/ll_profile_me_detail_point"
                                     android:id="@+id/ll_profile_me_detail_point"
@@ -149,7 +166,6 @@
                                     android:layout_marginTop="@dimen/d_6dp"
                                     android:layout_marginTop="@dimen/d_6dp"
                                     android:orientation="horizontal">
                                     android:orientation="horizontal">
 
 
-
                                     <com.guadou.lib_baselib.font_text_view.TextViewMedium
                                     <com.guadou.lib_baselib.font_text_view.TextViewMedium
                                         android:id="@+id/text_view_profile_points"
                                         android:id="@+id/text_view_profile_points"
                                         android:layout_width="105dp"
                                         android:layout_width="105dp"
@@ -171,7 +187,6 @@
 
 
                                 </LinearLayout>
                                 </LinearLayout>
 
 
-
                             </LinearLayout>
                             </LinearLayout>
 
 
                         </LinearLayout>
                         </LinearLayout>
@@ -268,389 +283,12 @@
 
 
                     </LinearLayout>
                     </LinearLayout>
 
 
-                    <!--    基本信息     -->
-                    <LinearLayout
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:layout_marginLeft="@dimen/d_5dp"
-                        android:layout_marginRight="@dimen/d_5dp"
-                        android:background="@drawable/profile_white_shadow_comm_bg"
-                        android:orientation="vertical"
-                        android:paddingTop="@dimen/d_25dp"
-                        android:paddingBottom="@dimen/d_38dp">
-
-                        <com.guadou.lib_baselib.font_text_view.TextViewBold
-                            android:layout_width="wrap_content"
-                            android:layout_height="wrap_content"
-                            android:layout_marginLeft="@dimen/d_23dp"
-                            android:text="个人信息"
-                            android:textColor="@color/profile_black_28394a"
-                            android:textSize="17dp" />
-
-                        <com.guadou.lib_baselib.font_text_view.TextViewMedium
-                            android:id="@+id/text_view_name"
-                            android:layout_width="match_parent"
-                            android:layout_height="wrap_content"
-                            android:layout_marginLeft="@dimen/d_23dp"
-                            android:layout_marginTop="@dimen/d_20dp"
-                            android:layout_marginRight="@dimen/d_10dp"
-                            android:drawableLeft="@drawable/profile_detail_name_icon"
-                            android:drawablePadding="@dimen/d_12dp"
-                            android:text="@string/null_data"
-                            android:textColor="@color/profile_black_8098b2"
-                            android:textSize="@dimen/d_14sp"
-                            tools:text="Lisa Yang" />
-
-                        <com.guadou.lib_baselib.font_text_view.TextViewMedium
-                            android:id="@+id/text_view_email_address_below"
-                            android:layout_width="match_parent"
-                            android:layout_height="wrap_content"
-                            android:layout_marginLeft="@dimen/d_23dp"
-                            android:layout_marginTop="@dimen/d_20dp"
-                            android:layout_marginRight="@dimen/d_10dp"
-                            android:drawableLeft="@drawable/profile_detail_email_icon"
-                            android:drawablePadding="@dimen/d_12dp"
-                            android:text="@string/null_data"
-                            android:textColor="@color/profile_black_8098b2"
-                            android:textSize="@dimen/d_14sp" />
-
-                        <com.guadou.lib_baselib.font_text_view.TextViewMedium
-                            android:id="@+id/text_view_mobile_number"
-                            android:layout_width="match_parent"
-                            android:layout_height="wrap_content"
-                            android:layout_marginLeft="@dimen/d_23dp"
-                            android:layout_marginTop="@dimen/d_20dp"
-                            android:layout_marginRight="@dimen/d_10dp"
-                            android:drawableLeft="@drawable/profile_detail_phone_icon"
-                            android:drawablePadding="@dimen/d_12dp"
-                            android:text="@string/null_data"
-                            android:textColor="@color/profile_black_8098b2"
-                            android:textSize="@dimen/d_14sp" />
-
-                        <com.guadou.lib_baselib.font_text_view.TextViewMedium
-                            android:id="@+id/text_view_nric_no"
-                            android:layout_width="match_parent"
-                            android:layout_height="wrap_content"
-                            android:layout_marginLeft="@dimen/d_23dp"
-                            android:layout_marginTop="@dimen/d_20dp"
-                            android:layout_marginRight="@dimen/d_10dp"
-                            android:drawableLeft="@drawable/profile_detail_nric_icon"
-                            android:drawablePadding="@dimen/d_12dp"
-                            android:text="@string/null_data"
-                            android:textColor="@color/profile_black_8098b2"
-                            android:textSize="@dimen/d_14sp" />
-
-                        <com.guadou.lib_baselib.font_text_view.TextViewMedium
-                            android:id="@+id/text_view_nationality"
-                            android:layout_width="match_parent"
-                            android:layout_height="wrap_content"
-                            android:layout_marginLeft="@dimen/d_23dp"
-                            android:layout_marginTop="@dimen/d_20dp"
-                            android:layout_marginRight="@dimen/d_10dp"
-                            android:drawableLeft="@drawable/profile_detail_lang_icon"
-                            android:drawablePadding="@dimen/d_12dp"
-                            android:text="@string/null_data"
-                            android:textColor="@color/profile_black_8098b2"
-                            android:textSize="@dimen/d_14sp" />
-
-                        <com.guadou.lib_baselib.font_text_view.TextViewMedium
-                            android:id="@+id/tv_rate"
-                            android:layout_width="match_parent"
-                            android:layout_height="wrap_content"
-                            android:layout_marginLeft="@dimen/d_23dp"
-                            android:layout_marginTop="@dimen/d_20dp"
-                            android:layout_marginRight="@dimen/d_10dp"
-                            android:drawableLeft="@drawable/profile_detail_rate_icon"
-                            android:drawablePadding="@dimen/d_12dp"
-                            android:text="@string/null_data"
-                            android:textColor="@color/profile_black_8098b2"
-                            android:textSize="@dimen/d_14sp" />
-
-
-                        <LinearLayout
-                            android:id="@+id/rl_request_view_profile_total_hours"
-                            android:layout_width="match_parent"
-                            android:layout_height="wrap_content"
-                            android:layout_marginTop="@dimen/d_20dp"
-                            android:gravity="center_vertical"
-                            android:orientation="horizontal"
-                            android:visibility="visible">
-
-                            <com.guadou.lib_baselib.font_text_view.TextViewMedium
-                                android:layout_width="wrap_content"
-                                android:layout_height="wrap_content"
-                                android:layout_marginLeft="@dimen/d_23dp"
-                                android:drawableLeft="@drawable/profile_detail_hours_icon"
-                                android:drawablePadding="@dimen/d_12dp"
-                                android:text="Total Hours: "
-                                android:textColor="@color/profile_black_8098b2"
-                                android:textSize="@dimen/d_14sp" />
-
-                            <com.guadou.lib_baselib.font_text_view.TextViewMedium
-                                android:id="@+id/tv_request_view_profile_total_hours"
-                                android:layout_width="wrap_content"
-                                android:layout_height="wrap_content"
-                                android:text="1024"
-                                android:textColor="@color/app_blue"
-                                android:textSize="@dimen/d_14sp" />
-
-                            <com.guadou.lib_baselib.font_text_view.TextViewMedium
-                                android:layout_width="wrap_content"
-                                android:layout_height="wrap_content"
-                                android:layout_marginLeft="@dimen/d_3dp"
-                                android:text="Hrs"
-                                android:textColor="@color/gray_text"
-                                android:textSize="@dimen/d_15sp" />
-
-
-                            <View
-                                android:layout_width="0dp"
-                                android:layout_height="1dp"
-                                android:layout_weight="1" />
-
-                            <com.guadou.lib_baselib.font_text_view.TextViewMedium
-                                android:id="@+id/tv_profile_rules"
-                                android:layout_width="wrap_content"
-                                android:layout_height="wrap_content"
-                                android:layout_centerVertical="true"
-                                android:layout_marginRight="@dimen/d_10dp"
-                                android:layout_toLeftOf="@id/iv_total_hours_arrow"
-                                android:text="Rules"
-                                android:textColor="@color/app_blue"
-                                android:textSize="14.5sp" />
-
-                            <ImageView
-                                android:id="@+id/iv_total_hours_arrow"
-                                android:layout_width="wrap_content"
-                                android:layout_height="wrap_content"
-                                android:layout_alignParentRight="true"
-                                android:layout_centerVertical="true"
-                                android:layout_marginRight="@dimen/d_15dp"
-                                android:src="@drawable/back_more_black" />
-
-                        </LinearLayout>
-
-                    </LinearLayout>
-
-                    <!-- 技能的选择 -->
-                    <LinearLayout
-                        android:id="@+id/ll_edit_profile_work_type"
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:layout_marginLeft="@dimen/d_5dp"
-                        android:layout_marginRight="@dimen/d_5dp"
-                        android:background="@drawable/profile_white_shadow_comm_bg"
-                        android:orientation="vertical"
-                        android:paddingTop="@dimen/d_25dp"
-                        android:paddingBottom="@dimen/d_38dp">
-
-                        <LinearLayout
-                            android:layout_width="match_parent"
-                            android:layout_height="wrap_content"
-                            android:gravity="center_vertical"
-                            android:orientation="horizontal">
-
-                            <com.guadou.lib_baselib.font_text_view.TextViewBold
-                                android:layout_width="0dp"
-                                android:layout_height="wrap_content"
-                                android:layout_marginLeft="@dimen/d_23dp"
-                                android:layout_weight="1"
-                                android:text="技能"
-                                android:textColor="@color/profile_black_28394a"
-                                android:textSize="17dp" />
-
-                            <ImageView
-                                android:layout_width="wrap_content"
-                                android:layout_height="wrap_content"
-                                android:layout_alignParentRight="true"
-                                android:layout_centerVertical="true"
-                                android:layout_marginRight="@dimen/d_15dp"
-                                android:src="@drawable/back_more_black"
-                                app:tint="@color/gray_8098B2"
-                                tools:tint="@color/gray_8098B2" />
-
-                        </LinearLayout>
-
-                        <LinearLayout
-                            android:id="@+id/ll_edit_profile_work_type1"
-                            android:layout_width="match_parent"
-                            android:layout_height="wrap_content"
-                            android:layout_marginTop="@dimen/d_15dp"
-                            android:orientation="vertical"
-                            android:paddingLeft="@dimen/d_23dp"
-                            android:visibility="visible">
-
-                            <com.guadou.lib_baselib.font_text_view.TextViewMedium
-                                android:id="@+id/tv_edit_profile_work_type1"
-                                android:layout_width="match_parent"
-                                android:layout_height="wrap_content"
-                                android:layout_weight="1"
-                                android:drawableLeft="@drawable/profile_detail_skill_icon1"
-                                android:drawablePadding="@dimen/d_12dp"
-                                android:paddingBottom="@dimen/d_10dp"
-                                android:text="Clean Service"
-                                android:textColor="@color/profile_black_8098b2"
-                                android:textSize="@dimen/d_14sp"
-                                android:visibility="gone" />
-
-                            <com.guadou.lib_baselib.font_text_view.TextViewMedium
-                                android:id="@+id/tv_edit_profile_work_type2"
-                                android:layout_width="match_parent"
-                                android:layout_height="wrap_content"
-                                android:layout_marginTop="@dimen/d_10dp"
-                                android:layout_weight="1"
-                                android:drawableLeft="@drawable/profile_detail_skill_icon2"
-                                android:drawablePadding="@dimen/d_12dp"
-                                android:paddingBottom="@dimen/d_10dp"
-                                android:text="Business"
-                                android:textColor="@color/profile_black_8098b2"
-                                android:textSize="@dimen/d_14sp"
-                                android:visibility="gone" />
-                        </LinearLayout>
-
-                        <LinearLayout
-                            android:id="@+id/ll_edit_profile_work_type2"
-                            android:layout_width="match_parent"
-                            android:layout_height="wrap_content"
-                            android:layout_marginTop="@dimen/d_10dp"
-                            android:orientation="vertical"
-                            android:paddingLeft="@dimen/d_23dp"
-                            android:visibility="visible">
-
-                            <com.guadou.lib_baselib.font_text_view.TextViewMedium
-                                android:id="@+id/tv_edit_profile_work_type3"
-                                android:layout_width="match_parent"
-                                android:layout_height="wrap_content"
-                                android:layout_weight="1"
-                                android:drawableLeft="@drawable/profile_detail_skill_icon3"
-                                android:drawablePadding="@dimen/d_12dp"
-                                android:paddingBottom="@dimen/d_10dp"
-                                android:text="Finance"
-                                android:textColor="@color/profile_black_8098b2"
-                                android:textSize="@dimen/d_14sp"
-                                android:visibility="gone" />
-
-                            <com.guadou.lib_baselib.font_text_view.TextViewMedium
-                                android:id="@+id/tv_edit_profile_work_type4"
-                                android:layout_width="match_parent"
-                                android:layout_height="wrap_content"
-                                android:layout_marginTop="@dimen/d_10dp"
-                                android:layout_weight="1"
-                                android:drawableLeft="@drawable/profile_detail_skill_icon4"
-                                android:drawablePadding="@dimen/d_12dp"
-                                android:paddingBottom="@dimen/d_10dp"
-                                android:text="Food &#38; Banquet"
-                                android:textColor="@color/profile_black_8098b2"
-                                android:textSize="@dimen/d_14sp"
-                                android:visibility="gone" />
-                        </LinearLayout>
-
-                        <LinearLayout
-                            android:id="@+id/ll_edit_profile_work_type3"
-                            android:layout_width="match_parent"
-                            android:layout_height="wrap_content"
-                            android:layout_marginTop="@dimen/d_10dp"
-                            android:orientation="vertical"
-                            android:paddingLeft="@dimen/d_23dp"
-                            android:visibility="visible"
-                            android:weightSum="2">
-
-                            <com.guadou.lib_baselib.font_text_view.TextViewMedium
-                                android:id="@+id/tv_edit_profile_work_type5"
-                                android:layout_width="match_parent"
-                                android:layout_height="wrap_content"
-                                android:layout_weight="1"
-                                android:drawableLeft="@drawable/profile_detail_skill_icon5"
-                                android:drawablePadding="@dimen/d_12dp"
-                                android:paddingBottom="@dimen/d_15dp"
-                                android:text="Recruitment"
-                                android:textColor="@color/profile_black_8098b2"
-                                android:textSize="@dimen/d_14sp"
-                                android:visibility="gone" />
-
-                            <com.guadou.lib_baselib.font_text_view.TextViewMedium
-                                android:id="@+id/tv_edit_profile_work_type6"
-                                android:layout_width="match_parent"
-                                android:layout_height="wrap_content"
-                                android:layout_weight="1"
-                                android:drawableLeft="@drawable/profile_detail_skill_icon6"
-                                android:drawablePadding="@dimen/d_12dp"
-                                android:text="Recruitment"
-                                android:textColor="@color/profile_black_8098b2"
-                                android:textSize="@dimen/d_14sp"
-                                android:visibility="gone" />
-
-                        </LinearLayout>
-
-                    </LinearLayout>
-
-                    <!--  证书  -->
-                    <LinearLayout
+                    <!--  异步加载-其他的布局  -->
+                    <com.guadou.cs_cptservices.widget.AsyncViewStub
+                        android:id="@+id/view_stub_root"
                         android:layout_width="match_parent"
                         android:layout_width="match_parent"
                         android:layout_height="wrap_content"
                         android:layout_height="wrap_content"
-                        android:layout_marginLeft="@dimen/d_5dp"
-                        android:layout_marginRight="@dimen/d_5dp"
-                        android:background="@drawable/profile_white_shadow_comm_bg"
-                        android:orientation="vertical"
-                        android:paddingTop="@dimen/d_25dp"
-                        android:paddingBottom="@dimen/d_38dp">
-
-                        <com.guadou.lib_baselib.font_text_view.TextViewBold
-                            android:layout_width="wrap_content"
-                            android:layout_height="wrap_content"
-                            android:layout_marginLeft="@dimen/d_23dp"
-                            android:text="食品证书"
-                            android:textColor="@color/profile_black_28394a"
-                            android:textSize="17dp" />
-
-
-                        <FrameLayout
-                            android:id="@+id/fl_certificate_box"
-                            android:layout_width="wrap_content"
-                            android:layout_height="wrap_content"
-                            android:layout_marginLeft="@dimen/d_23dp"
-                            android:layout_marginTop="@dimen/d_17dp">
-
-                            <ImageView
-                                android:id="@+id/iv_certificate_img"
-                                android:layout_width="98dp"
-                                android:layout_height="98dp"
-                                android:layout_gravity="center"
-                                android:background="#F0F2F9" />
-
-                            <ImageView
-                                android:id="@+id/iv_upload_empty"
-                                android:layout_width="wrap_content"
-                                android:layout_height="wrap_content"
-                                android:layout_gravity="center"
-                                android:src="@drawable/profile_edit_cert_empty_img"
-                                android:visibility="visible" />
-
-                            <ImageView
-                                android:id="@+id/iv_certificate_img_delete"
-                                android:layout_width="wrap_content"
-                                android:layout_height="wrap_content"
-                                android:layout_gravity="right|top"
-                                android:layout_marginLeft="95dp"
-                                android:paddingLeft="@dimen/d_5dp"
-                                android:paddingTop="-10dp"
-                                android:paddingRight="@dimen/d_5dp"
-                                android:paddingBottom="@dimen/d_5dp"
-                                android:src="@drawable/profile_edit_cert_delete"
-                                android:visibility="visible" />
-
-                        </FrameLayout>
-
-
-                    </LinearLayout>
-
-                    <!--  个人信息的到达率等懒加载信息   -->
-                    <!--                    <ViewStub-->
-                    <!--                        android:id="@+id/view_stub_rating"-->
-                    <!--                        android:layout_width="match_parent"-->
-                    <!--                        android:layout_height="match_parent"-->
-                    <!--                        android:layout="@layout/include_pensonal_turn_up_rate"-->
-                    <!--                        />-->
+                        app:layout="@layout/include_pensonal_turn_up_rate" />
 
 
                     <View
                     <View
                         android:layout_width="1dp"
                         android:layout_width="1dp"

+ 18 - 9
cpt_parttime/src/main/res/layout/fragment_parttime_main.xml

@@ -39,6 +39,15 @@
             android:paddingLeft="@dimen/d_15dp"
             android:paddingLeft="@dimen/d_15dp"
             android:paddingRight="@dimen/d_15dp">
             android:paddingRight="@dimen/d_15dp">
 
 
+            <ImageButton
+                binding:clicks="@{click.backPage}"
+                android:layout_marginTop="1.5dp"
+                style="@style/SelectableItemBackgroundLess"
+                android:theme="@style/RippleWhite"
+                android:src="@mipmap/iv_blue_back"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"/>
+
             <LinearLayout
             <LinearLayout
                 android:layout_width="0dp"
                 android:layout_width="0dp"
                 android:layout_height="32dp"
                 android:layout_height="32dp"
@@ -109,7 +118,7 @@
                 android:id="@+id/tv_filter_industry"
                 android:id="@+id/tv_filter_industry"
                 android:layout_width="wrap_content"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
-                android:background="@{click.filterIndex == 0? @drawable/shape_blue_round5 : @drawable/shape_white_round5}"
+                android:background="@{click.filterIndustryFlow? @drawable/shape_blue_round5 : @drawable/shape_white_round5}"
                 android:drawableLeft="@drawable/industry_black"
                 android:drawableLeft="@drawable/industry_black"
                 android:drawablePadding="@dimen/d_8dp"
                 android:drawablePadding="@dimen/d_8dp"
                 android:paddingLeft="@dimen/d_21dp"
                 android:paddingLeft="@dimen/d_21dp"
@@ -117,7 +126,7 @@
                 android:paddingRight="@dimen/d_24dp"
                 android:paddingRight="@dimen/d_24dp"
                 android:paddingBottom="@dimen/d_9dp"
                 android:paddingBottom="@dimen/d_9dp"
                 android:text="行业"
                 android:text="行业"
-                android:textColor="@{click.filterIndex == 0? @color/white : @color/black}"
+                android:textColor="@{click.filterIndustryFlow ? @color/white : @color/black}"
                 android:textSize="@dimen/d_16sp"
                 android:textSize="@dimen/d_16sp"
                 app:drawableTint="@color/selector_filter_industry"
                 app:drawableTint="@color/selector_filter_industry"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
@@ -125,13 +134,13 @@
                 app:layout_constraintRight_toLeftOf="@id/tv_filter_date"
                 app:layout_constraintRight_toLeftOf="@id/tv_filter_date"
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintTop_toTopOf="parent"
                 binding:clicks="@{click.filterIndustry}"
                 binding:clicks="@{click.filterIndustry}"
-                binding:setSelected="@{click.filterIndex == 0}" />
+                binding:setSelected="@{click.filterIndustryFlow}" />
 
 
             <com.guadou.lib_baselib.font_text_view.TextViewRegular
             <com.guadou.lib_baselib.font_text_view.TextViewRegular
                 android:id="@+id/tv_filter_date"
                 android:id="@+id/tv_filter_date"
                 android:layout_width="wrap_content"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
-                android:background="@{click.filterIndex == 1? @drawable/shape_blue_round5 : @drawable/shape_white_round5}"
+                android:background="@{click.filterDateFlow ? @drawable/shape_blue_round5 : @drawable/shape_white_round5}"
                 android:drawableLeft="@drawable/date_black"
                 android:drawableLeft="@drawable/date_black"
                 android:drawablePadding="@dimen/d_9dp"
                 android:drawablePadding="@dimen/d_9dp"
                 android:paddingLeft="@dimen/d_21dp"
                 android:paddingLeft="@dimen/d_21dp"
@@ -139,7 +148,7 @@
                 android:paddingRight="@dimen/d_24dp"
                 android:paddingRight="@dimen/d_24dp"
                 android:paddingBottom="@dimen/d_9dp"
                 android:paddingBottom="@dimen/d_9dp"
                 android:text="日期"
                 android:text="日期"
-                android:textColor="@{click.filterIndex == 1? @color/white : @color/black}"
+                android:textColor="@{click.filterDateFlow? @color/white : @color/black}"
                 android:textSize="@dimen/d_16sp"
                 android:textSize="@dimen/d_16sp"
                 app:drawableTint="@color/selector_filter_date"
                 app:drawableTint="@color/selector_filter_date"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
@@ -147,13 +156,13 @@
                 app:layout_constraintRight_toLeftOf="@id/tv_filter_option"
                 app:layout_constraintRight_toLeftOf="@id/tv_filter_option"
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintTop_toTopOf="parent"
                 binding:clicks="@{click.filterDate}"
                 binding:clicks="@{click.filterDate}"
-                binding:setSelected="@{click.filterIndex == 1}" />
+                binding:setSelected="@{click.filterDateFlow}" />
 
 
             <com.guadou.lib_baselib.font_text_view.TextViewRegular
             <com.guadou.lib_baselib.font_text_view.TextViewRegular
                 android:id="@+id/tv_filter_option"
                 android:id="@+id/tv_filter_option"
                 android:layout_width="wrap_content"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
-                android:background="@{click.filterIndex == 2? @drawable/shape_blue_round5 : @drawable/shape_white_round5}"
+                android:background="@{click.filterOptionFlow ? @drawable/shape_blue_round5 : @drawable/shape_white_round5}"
                 android:drawableLeft="@drawable/part_filterby_white"
                 android:drawableLeft="@drawable/part_filterby_white"
                 android:drawablePadding="@dimen/d_10dp"
                 android:drawablePadding="@dimen/d_10dp"
                 android:paddingLeft="@dimen/d_21dp"
                 android:paddingLeft="@dimen/d_21dp"
@@ -161,7 +170,7 @@
                 android:paddingRight="@dimen/d_24dp"
                 android:paddingRight="@dimen/d_24dp"
                 android:paddingBottom="@dimen/d_9dp"
                 android:paddingBottom="@dimen/d_9dp"
                 android:text="筛选"
                 android:text="筛选"
-                android:textColor="@{click.filterIndex == 2? @color/white : @color/black}"
+                android:textColor="@{click.filterOptionFlow ? @color/white : @color/black}"
                 android:textSize="@dimen/d_16sp"
                 android:textSize="@dimen/d_16sp"
                 app:drawableTint="@color/selector_filter_option"
                 app:drawableTint="@color/selector_filter_option"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintBottom_toBottomOf="parent"
@@ -169,7 +178,7 @@
                 app:layout_constraintRight_toRightOf="parent"
                 app:layout_constraintRight_toRightOf="parent"
                 app:layout_constraintTop_toTopOf="parent"
                 app:layout_constraintTop_toTopOf="parent"
                 binding:clicks="@{click.filterOption}"
                 binding:clicks="@{click.filterOption}"
-                binding:setSelected="@{click.filterIndex == 2}" />
+                binding:setSelected="@{click.filterOptionFlow}" />
 
 
         </androidx.constraintlayout.widget.ConstraintLayout>
         </androidx.constraintlayout.widget.ConstraintLayout>
 
 

+ 249 - 0
cpt_parttime/src/main/res/layout/include_part_time_job_detail_activity.xml

@@ -0,0 +1,249 @@
+<?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_parttime.mvvm.PartTimeJobDetailViewModel" />
+
+        <variable
+            name="click"
+            type="com.hongyegroup.cpt_parttime.ui.activity.PartTimeJobDetailActivity.ClickProxy" />
+
+        <import type="android.text.TextUtils" />
+
+    </data>
+
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical">
+
+        <com.scwang.smart.refresh.layout.SmartRefreshLayout
+            android:id="@+id/refresh_layout"
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
+            android:layout_weight="1"
+            android:focusable="true"
+            android:focusableInTouchMode="true"
+            app:srlEnablePreviewInEditMode="false"
+            app:srlPrimaryColor="@color/white">
+
+            <com.scwang.smart.refresh.header.ClassicsHeader
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content" />
+
+            <androidx.coordinatorlayout.widget.CoordinatorLayout
+                android:layout_width="match_parent"
+                android:layout_height="match_parent">
+
+                <com.google.android.material.appbar.AppBarLayout
+                    android:id="@+id/app_bar_layout"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:background="@color/white"
+                    android:orientation="vertical"
+                    app:elevation="0dp">
+
+                    <!--   顶部的图片    -->
+                    <androidx.constraintlayout.widget.ConstraintLayout
+                        android:id="@+id/cl_img_box"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        app:layout_scrollFlags="scroll|snap">
+
+                        <ImageView
+                            android:id="@+id/iv_job_photo_cover"
+                            android:layout_width="0dp"
+                            android:layout_height="0dp"
+                            android:scaleType="centerCrop"
+                            app:layout_constraintDimensionRatio="W,437:750"
+                            app:layout_constraintLeft_toLeftOf="parent"
+                            app:layout_constraintRight_toRightOf="parent"
+                            app:layout_constraintTop_toTopOf="parent" />
+
+                        <ProgressBar
+                            android:id="@+id/progress_bar_job_img"
+                            android:layout_width="25dp"
+                            android:layout_height="25dp"
+                            android:layout_gravity="center"
+                            android:indeterminate="true"
+                            android:indeterminateTint="@color/colorAccent"
+                            android:indeterminateTintMode="src_atop"
+                            app:layout_constraintBottom_toBottomOf="parent"
+                            app:layout_constraintLeft_toLeftOf="parent"
+                            app:layout_constraintRight_toRightOf="parent"
+                            app:layout_constraintTop_toTopOf="parent" />
+
+                        <com.youth.banner.Banner
+                            android:id="@+id/banner_employer_imgs"
+                            android:layout_width="match_parent"
+                            android:layout_height="0dp"
+                            android:background="@drawable/placeholder_img_banner"
+
+                            app:banner_auto_loop="false"
+                            app:banner_indicator_height="@dimen/d_5dp"
+                            app:banner_indicator_marginBottom="@dimen/d_15dp"
+                            app:banner_indicator_normal_color="#66ffffff"
+                            app:banner_indicator_normal_width="@dimen/d_4dp"
+                            app:banner_indicator_selected_color="#ffffff"
+                            app:banner_indicator_selected_width="@dimen/d_6dp"
+                            app:banner_indicator_space="@dimen/d_4dp"
+                            app:banner_infinite_loop="true"
+
+                            app:layout_constraintDimensionRatio="W,437:750"
+                            app:layout_constraintLeft_toLeftOf="parent"
+                            app:layout_constraintRight_toRightOf="parent"
+                            app:layout_constraintTop_toTopOf="parent" />
+
+                        <LinearLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginRight="@dimen/d_15dp"
+                            android:layout_marginBottom="@dimen/d_10dp"
+                            android:background="@drawable/shape_job_detail_gallery_box"
+                            android:gravity="center"
+                            android:orientation="horizontal"
+                            app:layout_constraintBottom_toBottomOf="parent"
+                            app:layout_constraintRight_toRightOf="parent"
+                            binding:clicks="@{click.gotoGalleryPage}">
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:drawableLeft="@drawable/job_detail_gallery_icon"
+                                android:drawablePadding="@dimen/d_7dp"
+                                android:paddingLeft="@dimen/d_10dp"
+                                android:paddingTop="@dimen/d_6dp"
+                                android:paddingRight="@dimen/d_10dp"
+                                android:paddingBottom="@dimen/d_6dp"
+                                android:text="@{viewModel.testText}"
+                                android:textColor="@color/white"
+                                android:textSize="@dimen/d_14sp" />
+
+                        </LinearLayout>
+
+                    </androidx.constraintlayout.widget.ConstraintLayout>
+
+                    <!--   Tab布局   -->
+                    <FrameLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content">
+
+                        <com.google.android.material.tabs.TabLayout
+                            android:id="@+id/tabLayout"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:background="@color/white"
+                            app:tabIndicator="@drawable/shape_blue_bottom_line_3conner"
+                            app:tabIndicatorColor="@color/app_blue"
+                            app:tabIndicatorFullWidth="false"
+                            app:tabIndicatorHeight="@dimen/d_2dp"
+                            app:tabMode="scrollable"
+                            app:tabRippleColor="@color/transparent"
+                            app:tabSelectedTextColor="@color/app_blue"
+                            app:tabTextColor="@color/black" />
+
+                        <ImageView
+                            android:id="@+id/iv_tab_right"
+                            android:layout_width="wrap_content"
+                            android:layout_height="match_parent"
+                            android:layout_gravity="right"
+                            android:src="@drawable/job_detail_tab_right_arrow"
+                            binding:clicks="@{click.tabNext}" />
+
+                    </FrameLayout>
+
+                    <View
+                        android:layout_width="match_parent"
+                        android:layout_height="@dimen/d_6dp"
+                        android:background="@color/page_bg" />
+
+                </com.google.android.material.appbar.AppBarLayout>
+
+                <androidx.viewpager2.widget.ViewPager2
+                    android:id="@+id/view_pager"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    app:layout_behavior="@string/appbar_scrolling_view_behavior" />
+
+            </androidx.coordinatorlayout.widget.CoordinatorLayout>
+
+        </com.scwang.smart.refresh.layout.SmartRefreshLayout>
+
+        <!-- 底部按钮组容器 -->
+        <FrameLayout
+            android:id="@+id/fl_bottom_btns"
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/d_50dp"
+            android:orientation="vertical">
+
+            <!-- 分享与申请/取消  -->
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:orientation="horizontal">
+
+                <LinearLayout
+                    android:layout_width="0dp"
+                    android:layout_height="match_parent"
+                    android:layout_weight="1"
+                    android:background="@color/part_share_btn_bg"
+                    android:gravity="center"
+                    android:orientation="horizontal"
+                    binding:clicks="@{click.shareJob}">
+
+                    <ImageView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:src="@drawable/part_share_icon" />
+
+                    <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="@dimen/d_10dp"
+                        android:gravity="center"
+                        android:text="分享"
+                        android:textColor="@color/profile_red"
+                        android:textSize="@dimen/d_18sp" />
+
+                </LinearLayout>
+
+                <LinearLayout
+                    android:layout_width="0dp"
+                    android:layout_height="match_parent"
+                    android:layout_weight="2"
+                    android:background="@color/profile_red"
+                    android:gravity="center"
+                    android:orientation="horizontal"
+                    binding:clicks="@{click.applyJob}">
+
+                    <ImageView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:src="@drawable/part_apply_icon" />
+
+                    <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="@dimen/d_10dp"
+                        android:gravity="center"
+                        android:text="立即申请"
+                        android:textColor="@color/white"
+                        android:textSize="@dimen/d_18sp" />
+
+                </LinearLayout>
+
+            </LinearLayout>
+
+        </FrameLayout>
+
+    </LinearLayout>
+
+</layout>

+ 448 - 0
cpt_parttime/src/main/res/layout/include_part_time_job_detail_fragment.xml

@@ -0,0 +1,448 @@
+<?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">
+
+    <data>
+
+        <variable
+            name="viewModel"
+            type="com.hongyegroup.cpt_parttime.mvvm.PartJobDetailChildViewModel" />
+
+        <variable
+            name="click"
+            type="com.hongyegroup.cpt_parttime.ui.fragment.PartJobDetailFragment.ClickProxy" />
+
+        <import type="android.text.TextUtils" />
+
+    </data>
+
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:background="@color/page_bg"
+        android:orientation="vertical">
+
+        <!--顶部工作详情基本信息-->
+        <RelativeLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content">
+
+            <!--    基本信息     -->
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:background="@color/white"
+                android:orientation="vertical"
+                android:paddingTop="20dp">
+
+                <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/d_30dp"
+                    android:layout_marginTop="@dimen/d_5dp"
+                    android:layout_marginRight="@dimen/d_10dp"
+                    android:drawableLeft="@drawable/iv_job_detail_classify"
+                    android:drawablePadding="@dimen/d_10dp"
+                    android:text="食品宴会"
+                    android:textColor="@color/black"
+                    android:textSize="@dimen/d_15sp" />
+
+                <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/d_30dp"
+                    android:layout_marginTop="@dimen/d_15dp"
+                    android:layout_marginRight="@dimen/d_10dp"
+                    android:drawableLeft="@drawable/iv_job_detail_category"
+                    android:drawablePadding="@dimen/d_10dp"
+                    android:text="香格里拉大酒店"
+                    android:textColor="@color/black"
+                    android:textSize="@dimen/d_15sp" />
+
+
+                <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/d_30dp"
+                    android:layout_marginTop="@dimen/d_15dp"
+                    android:layout_marginRight="@dimen/d_10dp"
+                    android:drawableLeft="@drawable/iv_job_detail_address"
+                    android:drawablePadding="@dimen/d_10dp"
+                    android:text="湖北省武汉市东西湖区武汉小镇"
+                    android:textColor="@color/black"
+                    android:textSize="@dimen/d_15sp" />
+
+                <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/d_30dp"
+                    android:layout_marginTop="@dimen/d_15dp"
+                    android:layout_marginRight="@dimen/d_10dp"
+                    android:drawableLeft="@drawable/iv_job_detail_time"
+                    android:drawablePadding="@dimen/d_10dp"
+                    android:text="2022/07/29 (06:00-23:00)"
+                    android:textColor="@color/black"
+                    android:textSize="@dimen/d_15sp" />
+
+                <View
+                    android:layout_width="1dp"
+                    android:layout_height="20dp" />
+
+            </LinearLayout>
+
+            <!--   显示时薪   -->
+            <LinearLayout
+                android:layout_width="100dp"
+                android:layout_height="100dp"
+                android:layout_alignParentRight="true"
+                android:layout_marginTop="30dp"
+                android:layout_marginRight="10dp"
+                android:background="@drawable/iv_job_detail_price_bg"
+                android:gravity="center"
+                android:orientation="vertical">
+
+                <LinearLayout
+                    android:id="@+id/ll_job_detail_hourly_rate"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_centerInParent="true"
+                    android:gravity="center_horizontal"
+                    android:orientation="horizontal">
+
+                    <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                        android:layout_width="wrap_content"
+                        android:layout_height="match_parent"
+                        android:layout_marginBottom="@dimen/d_5dp"
+                        android:gravity="bottom"
+                        android:includeFontPadding="false"
+                        android:text="¥"
+                        android:textColor="@color/black"
+                        android:textSize="@dimen/d_13sp" />
+
+                    <com.guadou.cs_cptservices.widget.NoPaddingTextView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_centerHorizontal="true"
+                        android:text="18"
+                        android:textColor="@color/black"
+                        android:textSize="29sp"
+                        app:removeDefaultPadding="true"
+                        binding:typefaceRegular="@{true}" />
+
+                </LinearLayout>
+
+                <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:includeFontPadding="false"
+                    android:text="/ 小时"
+                    android:textColor="@color/black"
+                    android:textSize="@dimen/d_13sp" />
+
+            </LinearLayout>
+
+        </RelativeLayout>
+
+        <!--Location-导航-->
+        <LinearLayout
+            android:id="@+id/linear_location"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="10dp"
+            android:background="@color/white"
+            android:orientation="vertical"
+            android:paddingBottom="20dp">
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="3dp">
+
+                <ImageView
+                    android:layout_width="@dimen/dp_10"
+                    android:layout_height="@dimen/dp_10"
+                    android:layout_gravity="center_vertical"
+                    android:layout_marginLeft="20dp"
+                    android:src="@drawable/shape_circle_red" />
+
+                <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="10dp"
+                    android:layout_marginTop="10dp"
+                    android:layout_marginRight="10dp"
+                    android:layout_marginBottom="10dp"
+                    android:text="地址"
+                    android:textColor="@color/black"
+                    android:textSize="@dimen/d_16sp" />
+
+            </LinearLayout>
+
+            <View
+                android:layout_width="match_parent"
+                android:layout_height="@dimen/d_1dp"
+                android:background="@color/divider_color" />
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="30dp"
+                android:layout_marginTop="15dp"
+                android:layout_marginRight="10dp"
+                android:gravity="center_vertical"
+                android:orientation="horizontal">
+
+                <ImageView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_gravity="center_vertical"
+                    android:src="@drawable/iv_job_detail_address" />
+
+                <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                    android:id="@+id/tv_location"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="10dp"
+                    android:layout_weight="4"
+                    android:text="湖北省武汉市东西湖区武汉小镇 J栋1822室"
+                    android:textColor="@color/black"
+                    android:textSize="@dimen/d_15sp" />
+
+                <LinearLayout
+                    android:id="@+id/ll_direction_box"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/d_10dp"
+                    android:layout_marginRight="@dimen/d_5dp"
+                    android:background="@drawable/shape_blue_round5"
+                    android:gravity="center"
+                    android:orientation="horizontal">
+
+                    <com.guadou.lib_baselib.font_text_view.TextViewBold
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:drawableLeft="@drawable/job_detail_directions_icon"
+                        android:drawablePadding="@dimen/d_5dp"
+                        android:paddingLeft="@dimen/d_13dp"
+                        android:paddingTop="@dimen/d_8dp"
+                        android:paddingRight="@dimen/d_15dp"
+                        android:paddingBottom="@dimen/d_8dp"
+                        android:text="地图"
+                        android:textColor="@color/white"
+                        android:textSize="@dimen/d_14sp" />
+
+                </LinearLayout>
+
+            </LinearLayout>
+
+        </LinearLayout>
+
+        <!--候选人的要求-->
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="10dp"
+            android:layout_marginBottom="10dp"
+            android:background="@color/white"
+            android:orientation="vertical"
+            android:paddingBottom="20dp">
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="3dp">
+
+                <ImageView
+                    android:layout_width="@dimen/dp_10"
+                    android:layout_height="@dimen/dp_10"
+                    android:layout_gravity="center_vertical"
+                    android:layout_marginLeft="20dp"
+                    android:src="@drawable/shape_circle_blue" />
+
+                <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="10dp"
+                    android:layout_marginTop="10dp"
+                    android:layout_marginRight="10dp"
+                    android:layout_marginBottom="10dp"
+                    android:text="候选人要求"
+                    android:textColor="@color/black"
+                    android:textSize="@dimen/d_16sp" />
+
+            </LinearLayout>
+
+            <View
+                android:layout_width="match_parent"
+                android:layout_height="1dp"
+                android:background="@color/divider_color" />
+
+
+            <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/d_30dp"
+                android:layout_marginTop="@dimen/d_15dp"
+                android:layout_marginRight="@dimen/d_10dp"
+                android:drawableLeft="@drawable/part_detail_job_age_icon"
+                android:drawablePadding="@dimen/d_10dp"
+                android:text="15,16,17,18-20,21-30"
+                android:textColor="@color/black"
+                android:textSize="@dimen/d_15sp" />
+
+            <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/d_30dp"
+                android:layout_marginTop="@dimen/d_12dp"
+                android:layout_marginRight="@dimen/d_10dp"
+                android:drawableLeft="@drawable/part_detail_job_lang_icon"
+                android:drawablePadding="@dimen/d_10dp"
+                android:text="中文,英语,马来西亚,法语,德语"
+                android:textColor="@color/black"
+                android:textSize="@dimen/d_15sp" />
+
+            <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/d_30dp"
+                android:layout_marginTop="@dimen/d_12dp"
+                android:layout_marginRight="@dimen/d_10dp"
+                android:drawableLeft="@drawable/part_detail_job_gender_icon"
+                android:drawablePadding="@dimen/d_10dp"
+                android:text="女性"
+                android:textColor="@color/black"
+                android:textSize="@dimen/d_15sp" />
+
+        </LinearLayout>
+
+        <!--工作的要求-->
+        <LinearLayout
+            android:id="@+id/linear_job_requirement"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/d_10dp"
+            android:background="@color/white"
+            android:orientation="vertical"
+            android:paddingBottom="@dimen/d_20dp">
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content">
+
+                <ImageView
+                    android:layout_width="10dp"
+                    android:layout_height="10dp"
+                    android:layout_gravity="center_vertical"
+                    android:layout_marginLeft="20dp"
+                    android:src="@drawable/shape_circle_green" />
+
+                <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="10dp"
+                    android:layout_marginTop="10dp"
+                    android:layout_marginRight="10dp"
+                    android:layout_marginBottom="10dp"
+                    android:text="工作要求"
+                    android:textColor="@color/black"
+                    android:textSize="@dimen/d_16sp" />
+
+
+            </LinearLayout>
+
+            <View
+                android:layout_width="match_parent"
+                android:layout_height="1dp"
+                android:background="@color/divider_color" />
+
+            <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                android:id="@+id/text_view_job_requirement"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="30dp"
+                android:layout_marginTop="10dp"
+                android:layout_marginRight="10dp"
+                android:text="负责公司办公空间的走廊、电梯、电梯、咖啡、公共卫生等的清洁,保持所有公共卫生的整洁,地面干净,无灰尘,无卫生死角;"
+                android:textColor="@color/black"
+                android:textSize="@dimen/d_15sp" />
+
+        </LinearLayout>
+
+        <!--工作的备注-->
+        <LinearLayout
+            android:id="@+id/linear_remarks"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/d_10dp"
+            android:background="@color/white"
+            android:orientation="vertical"
+            android:visibility="visible">
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content">
+
+                <ImageView
+                    android:layout_width="10dp"
+                    android:layout_height="10dp"
+                    android:layout_gravity="center_vertical"
+                    android:layout_marginLeft="20dp"
+                    android:src="@drawable/shape_circle_yellow" />
+
+                <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="10dp"
+                    android:layout_marginTop="10dp"
+                    android:layout_marginRight="10dp"
+                    android:layout_marginBottom="10dp"
+                    android:text="备注"
+                    android:textColor="@color/black"
+                    android:textSize="@dimen/d_16sp" />
+
+            </LinearLayout>
+
+            <View
+                android:layout_width="match_parent"
+                android:layout_height="1dp"
+                android:background="@color/divider_color" />
+
+            <TextView
+                android:id="@+id/text_view_remarks"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="30dp"
+                android:layout_marginTop="10dp"
+                android:layout_marginRight="@dimen/d_10dp"
+                android:layout_marginBottom="20dp"
+                android:text="1. 具有深厚的知识底蕴;\n 2. 普通话标准,获得相关资格证书;\n 3. 熟悉主持人工作的具体内容,能根据主持现场 的气氛,即兴发挥,调动全场的气氛;\n 4. 具有传递信息和交流的观念,把听众放在平等 的位置上;\n 5. 有强烈的社会责任感和较高的政治思想水准;\n 6. 具备一定的临场应变和即兴发挥能力;"
+                android:textColor="@color/black"
+                android:textSize="@dimen/d_15sp" />
+
+        </LinearLayout>
+
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/d_10dp"
+            android:background="@color/white" />
+
+        <com.guadou.lib_baselib.font_text_view.TextViewRegular
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:background="@color/gray"
+            android:gravity="center"
+            android:paddingTop="@dimen/d_20dp"
+            android:paddingBottom="@dimen/d_20dp"
+            android:text="你可能感兴趣的工作"
+            android:textColor="@color/black"
+            android:textSize="@dimen/d_16sp">
+
+        </com.guadou.lib_baselib.font_text_view.TextViewRegular>
+
+    </LinearLayout>
+
+</layout>

+ 0 - 110
cpt_parttime/src/main/res/layout/include_parttime_job_detail_header_date_address.xml

@@ -1,110 +0,0 @@
-<?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_parttime.mvvm.PartJobDetailChildViewModel" />
-
-        <variable
-            name="click"
-            type="com.hongyegroup.cpt_parttime.ui.fragment.PartJobDetailFragment.ClickProxy" />
-
-        <import type="android.text.TextUtils" />
-
-    </data>
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginLeft="@dimen/d_15dp"
-        android:layout_marginTop="@dimen/d_10dp"
-        android:layout_marginRight="@dimen/d_15dp"
-        android:background="@drawable/shape_white_round5"
-        android:orientation="vertical">
-
-        <com.guadou.lib_baselib.font_text_view.TextViewMedium
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="@dimen/d_15dp"
-            android:layout_marginTop="@dimen/d_20dp"
-            android:drawableLeft="@drawable/part_detail_job_date_icon"
-            android:drawablePadding="@dimen/d_9dp"
-            android:text="工作日期"
-            android:textColor="@color/gray_66"
-            android:textSize="@dimen/d_14sp" />
-
-
-        <com.guadou.lib_baselib.font_text_view.TextViewMedium
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="@dimen/d_40dp"
-            android:layout_marginTop="@dimen/d_9dp"
-            android:text="2022.1.10 06:00~23:00"
-            android:textColor="@color/black_33"
-            android:textSize="@dimen/d_14sp" />
-
-        <androidx.constraintlayout.widget.ConstraintLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="@dimen/d_17dp"
-            android:layout_marginRight="@dimen/d_15dp"
-            android:layout_marginBottom="@dimen/d_20dp">
-
-            <com.guadou.lib_baselib.font_text_view.TextViewMedium
-                android:id="@+id/tv_address_text"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginLeft="@dimen/d_15dp"
-                android:drawableLeft="@drawable/part_detail_job_address_icon"
-                android:drawablePadding="@dimen/d_9dp"
-                android:text="工作地点"
-                android:textColor="@color/gray_66"
-                android:textSize="@dimen/d_14sp"
-                app:layout_constraintLeft_toLeftOf="parent"
-                app:layout_constraintTop_toTopOf="parent" />
-
-            <com.guadou.lib_baselib.font_text_view.TextViewMedium
-                android:id="@+id/tv_address"
-                android:layout_width="0dp"
-                android:layout_height="wrap_content"
-                android:layout_marginLeft="@dimen/d_40dp"
-                android:layout_marginTop="@dimen/d_9dp"
-                android:layout_marginRight="@dimen/d_8dp"
-                android:text="湖北省武汉市东西湖区武汉客厅"
-                android:textColor="@color/black_33"
-                android:textSize="@dimen/d_14sp"
-                app:layout_constraintLeft_toLeftOf="parent"
-                app:layout_constraintRight_toLeftOf="@id/tv_direction"
-                app:layout_constraintTop_toBottomOf="@id/tv_address_text" />
-
-            <com.guadou.lib_baselib.font_text_view.TextViewMedium
-                android:id="@+id/tv_direction"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:background="@drawable/shape_blue_round5"
-                android:drawableLeft="@drawable/part_detail_job_direction_icon"
-                android:drawablePadding="6dp"
-                android:paddingLeft="@dimen/d_10dp"
-                android:paddingTop="@dimen/d_8dp"
-                android:paddingRight="@dimen/d_10dp"
-                android:paddingBottom="@dimen/d_8dp"
-                android:text="导航"
-                android:textColor="@color/white"
-                android:textSize="@dimen/d_14sp"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintRight_toRightOf="parent"
-                app:layout_constraintTop_toTopOf="parent"
-                binding:clicks="@{click.doDirection}" />
-
-        </androidx.constraintlayout.widget.ConstraintLayout>
-
-
-    </LinearLayout>
-
-</layout>

+ 0 - 39
cpt_parttime/src/main/res/layout/include_parttime_job_detail_header_interested.xml

@@ -1,39 +0,0 @@
-<?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_parttime.mvvm.PartJobDetailChildViewModel" />
-
-        <import type="android.text.TextUtils" />
-
-    </data>
-
-
-    <com.guadou.lib_baselib.font_text_view.TextViewBold
-        android:layout_width="match_parent"
-        android:layout_height="@dimen/d_45dp"
-        android:layout_marginLeft="@dimen/d_15dp"
-        android:layout_marginTop="@dimen/d_10dp"
-        android:layout_marginRight="@dimen/d_15dp"
-        android:background="@drawable/shape_white_round5"
-        android:gravity="center"
-        android:text="您可能感兴趣的工作"
-        android:textColor="@color/black_33"
-        android:textSize="@dimen/d_16sp" />
-
-</layout>
-
-
-
-
-
-
-
-

+ 0 - 75
cpt_parttime/src/main/res/layout/include_parttime_job_detail_header_qualification.xml

@@ -1,75 +0,0 @@
-<?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_parttime.mvvm.PartJobDetailChildViewModel" />
-
-        <import type="android.text.TextUtils" />
-
-    </data>
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginLeft="@dimen/d_15dp"
-        android:layout_marginTop="@dimen/d_10dp"
-        android:layout_marginRight="@dimen/d_15dp"
-        android:background="@drawable/shape_white_round5"
-        android:orientation="vertical">
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="@dimen/d_15dp"
-            android:layout_marginTop="@dimen/d_15dp"
-            android:layout_marginRight="@dimen/d_15dp"
-            android:gravity="center_vertical"
-            android:orientation="horizontal">
-
-            <ImageView
-                android:layout_width="@dimen/d_3dp"
-                android:layout_height="@dimen/d_21dp"
-                android:src="@drawable/shape_popup_location_blue" />
-
-            <com.guadou.lib_baselib.font_text_view.TextViewBold
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginLeft="@dimen/d_10dp"
-                android:text="任职资格"
-                android:textColor="@color/black_33"
-                android:textSize="@dimen/d_16sp" />
-
-        </LinearLayout>
-
-
-        <com.guadou.lib_baselib.font_text_view.TextViewMedium
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="@dimen/d_28dp"
-            android:layout_marginTop="@dimen/d_22dp"
-            android:layout_marginRight="@dimen/d_28dp"
-            android:lineHeight="@dimen/d_20dp"
-            android:text="1. 具有深厚的知识底蕴;
-            \n2. 普通话标准,获得相关资格证书;
-             \n3. 熟悉主持人工作的具体内容,能根据主持现场的气氛,即兴发挥,调动全场的气氛;
-             \n4. 具有传递信息和交流的观念,把听众放在平等的位置上;
-             \n5. 有强烈的社会责任感和较高的政治思想水准;
-             \n6. 具备一定的临场应变和即兴发挥能力;
-             \n7. 具有传递信息和交流的观念,把听众放在平等的位置上。"
-            android:textColor="@color/black"
-            android:textSize="@dimen/d_14sp" />
-
-        <View
-            android:layout_width="@dimen/d_1dp"
-            android:layout_height="@dimen/d_23dp" />
-
-    </LinearLayout>
-
-</layout>

+ 0 - 95
cpt_parttime/src/main/res/layout/include_parttime_job_detail_header_requirement.xml

@@ -1,95 +0,0 @@
-<?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_parttime.mvvm.PartJobDetailChildViewModel" />
-
-        <import type="android.text.TextUtils" />
-
-    </data>
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginLeft="@dimen/d_15dp"
-        android:layout_marginTop="@dimen/d_10dp"
-        android:layout_marginRight="@dimen/d_15dp"
-        android:background="@drawable/shape_white_round5"
-        android:orientation="vertical">
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="@dimen/d_15dp"
-            android:layout_marginTop="@dimen/d_15dp"
-            android:layout_marginRight="@dimen/d_15dp"
-            android:gravity="center_vertical"
-            android:orientation="horizontal">
-
-            <ImageView
-                android:layout_width="@dimen/d_3dp"
-                android:layout_height="@dimen/d_21dp"
-                android:src="@drawable/shape_popup_location_blue" />
-
-            <com.guadou.lib_baselib.font_text_view.TextViewBold
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginLeft="@dimen/d_10dp"
-                android:text="候选人要求"
-                android:textColor="@color/black_33"
-                android:textSize="@dimen/d_16sp" />
-
-        </LinearLayout>
-
-
-        <com.guadou.lib_baselib.font_text_view.TextViewMedium
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="@dimen/d_28dp"
-            android:layout_marginTop="@dimen/d_24dp"
-            android:layout_marginRight="@dimen/d_15dp"
-            android:drawableLeft="@drawable/part_detail_job_age_icon"
-            android:drawablePadding="@dimen/d_11dp"
-            android:text="15,16,17,18-20,21-30,31-40,41-50"
-            android:textColor="@color/black"
-            android:textSize="@dimen/d_15sp" />
-
-        <com.guadou.lib_baselib.font_text_view.TextViewMedium
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="@dimen/d_28dp"
-            android:layout_marginTop="@dimen/d_15dp"
-            android:layout_marginRight="@dimen/d_15dp"
-            android:drawableLeft="@drawable/part_detail_job_lang_icon"
-            android:drawablePadding="@dimen/d_11dp"
-            android:text="中文,英文"
-            android:textColor="@color/black"
-            android:textSize="@dimen/d_15sp" />
-
-
-        <com.guadou.lib_baselib.font_text_view.TextViewMedium
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="@dimen/d_28dp"
-            android:layout_marginTop="@dimen/d_15dp"
-            android:layout_marginRight="@dimen/d_15dp"
-            android:drawableLeft="@drawable/part_detail_job_gender_icon"
-            android:drawablePadding="@dimen/d_11dp"
-            android:text="女性"
-            android:textColor="@color/black"
-            android:textSize="@dimen/d_15sp" />
-
-        <View
-            android:layout_width="@dimen/d_1dp"
-            android:layout_height="@dimen/d_23dp" />
-
-    </LinearLayout>
-
-</layout>

+ 0 - 69
cpt_parttime/src/main/res/layout/include_parttime_job_detail_header_work.xml

@@ -1,69 +0,0 @@
-<?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_parttime.mvvm.PartJobDetailChildViewModel" />
-
-        <import type="android.text.TextUtils" />
-
-    </data>
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginLeft="@dimen/d_15dp"
-        android:layout_marginTop="@dimen/d_10dp"
-        android:layout_marginRight="@dimen/d_15dp"
-        android:background="@drawable/shape_white_round5"
-        android:orientation="vertical">
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="@dimen/d_15dp"
-            android:layout_marginTop="@dimen/d_15dp"
-            android:layout_marginRight="@dimen/d_15dp"
-            android:gravity="center_vertical"
-            android:orientation="horizontal">
-
-            <ImageView
-                android:layout_width="@dimen/d_3dp"
-                android:layout_height="@dimen/d_21dp"
-                android:src="@drawable/shape_popup_location_blue" />
-
-            <com.guadou.lib_baselib.font_text_view.TextViewBold
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginLeft="@dimen/d_10dp"
-                android:text="工作要求"
-                android:textColor="@color/black_33"
-                android:textSize="@dimen/d_16sp" />
-
-        </LinearLayout>
-
-
-        <com.guadou.lib_baselib.font_text_view.TextViewMedium
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="@dimen/d_28dp"
-            android:layout_marginTop="@dimen/d_22dp"
-            android:layout_marginRight="@dimen/d_28dp"
-            android:lineHeight="@dimen/d_20dp"
-            android:text="1. 负责节目主持工作; \n2. 参与节目的制作; \n3. 负责与节目相关信息的采集、撰写、审查; \n4. 维持现场秩序,活跃现场气氛; \n5. 按照计划,控制节目进程; \n6. 调度现场出现的意外状况; \n7. 负责教学的其它工作。"
-            android:textColor="@color/black"
-            android:textSize="@dimen/d_14sp" />
-
-        <View
-            android:layout_width="@dimen/d_1dp"
-            android:layout_height="@dimen/d_23dp" />
-
-    </LinearLayout>
-
-</layout>

+ 381 - 4
cpt_parttime/src/main/res/layout/include_pensonal_turn_up_rate.xml

@@ -6,14 +6,391 @@
 
 
     <data>
     <data>
 
 
+        <variable
+            name="click"
+            type="com.hongyegroup.cpt_parttime.ui.main.PartTimeProfileFragment.ClickProxy" />
+
     </data>
     </data>
 
 
-    <RelativeLayout
+    <LinearLayout
         android:layout_width="match_parent"
         android:layout_width="match_parent"
-        android:layout_height="wrap_content">
+        android:layout_height="wrap_content"
+        android:orientation="vertical">
+
+        <!--    基本信息     -->
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginLeft="@dimen/d_5dp"
+            android:layout_marginRight="@dimen/d_5dp"
+            android:background="@drawable/profile_white_shadow_comm_bg"
+            android:orientation="vertical"
+            android:paddingTop="@dimen/d_25dp"
+            android:paddingBottom="@dimen/d_38dp">
+
+            <com.guadou.lib_baselib.font_text_view.TextViewBold
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/d_23dp"
+                android:text="个人信息"
+                android:textColor="@color/profile_black_28394a"
+                android:textSize="17dp" />
+
+            <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                android:id="@+id/text_view_name"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/d_23dp"
+                android:layout_marginTop="@dimen/d_20dp"
+                android:layout_marginRight="@dimen/d_10dp"
+                android:drawableLeft="@drawable/profile_detail_name_icon"
+                android:drawablePadding="@dimen/d_12dp"
+                android:textColor="@color/profile_black_8098b2"
+                android:textSize="@dimen/d_14sp"
+                android:text="阳顶天" />
+
+            <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                android:id="@+id/text_view_email_address_below"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/d_23dp"
+                android:layout_marginTop="@dimen/d_20dp"
+                android:layout_marginRight="@dimen/d_10dp"
+                android:drawableLeft="@drawable/profile_detail_email_icon"
+                android:drawablePadding="@dimen/d_12dp"
+                android:text="12345678@qq.com"
+                android:textColor="@color/profile_black_8098b2"
+                android:textSize="@dimen/d_14sp" />
+
+            <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                android:id="@+id/text_view_mobile_number"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/d_23dp"
+                android:layout_marginTop="@dimen/d_20dp"
+                android:layout_marginRight="@dimen/d_10dp"
+                android:drawableLeft="@drawable/profile_detail_phone_icon"
+                android:drawablePadding="@dimen/d_12dp"
+                android:text="+86 13567876543"
+                android:textColor="@color/profile_black_8098b2"
+                android:textSize="@dimen/d_14sp" />
+
+            <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                android:id="@+id/text_view_nric_no"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/d_23dp"
+                android:layout_marginTop="@dimen/d_20dp"
+                android:layout_marginRight="@dimen/d_10dp"
+                android:drawableLeft="@drawable/profile_detail_nric_icon"
+                android:drawablePadding="@dimen/d_12dp"
+                android:text="438776565678761"
+                android:textColor="@color/profile_black_8098b2"
+                android:textSize="@dimen/d_14sp" />
+
+            <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                android:id="@+id/text_view_nationality"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/d_23dp"
+                android:layout_marginTop="@dimen/d_20dp"
+                android:layout_marginRight="@dimen/d_10dp"
+                android:drawableLeft="@drawable/profile_detail_lang_icon"
+                android:drawablePadding="@dimen/d_12dp"
+                android:text="中国"
+                android:textColor="@color/profile_black_8098b2"
+                android:textSize="@dimen/d_14sp" />
+
+            <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                android:id="@+id/tv_rate"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/d_23dp"
+                android:layout_marginTop="@dimen/d_20dp"
+                android:layout_marginRight="@dimen/d_10dp"
+                android:drawableLeft="@drawable/profile_detail_rate_icon"
+                android:drawablePadding="@dimen/d_12dp"
+                android:text="15/时"
+                android:textColor="@color/profile_black_8098b2"
+                android:textSize="@dimen/d_14sp" />
+
+
+            <LinearLayout
+                android:id="@+id/rl_request_view_profile_total_hours"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/d_20dp"
+                android:gravity="center_vertical"
+                android:orientation="horizontal"
+                android:visibility="visible">
+
+                <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/d_23dp"
+                    android:drawableLeft="@drawable/profile_detail_hours_icon"
+                    android:drawablePadding="@dimen/d_12dp"
+                    android:text="Total Hours: "
+                    android:textColor="@color/profile_black_8098b2"
+                    android:textSize="@dimen/d_14sp" />
+
+                <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                    android:id="@+id/tv_request_view_profile_total_hours"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="1024"
+                    android:textColor="@color/app_blue"
+                    android:textSize="@dimen/d_14sp" />
+
+                <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/d_3dp"
+                    android:text="Hrs"
+                    android:textColor="@color/gray_text"
+                    android:textSize="@dimen/d_15sp" />
+
+
+                <View
+                    android:layout_width="0dp"
+                    android:layout_height="1dp"
+                    android:layout_weight="1" />
+
+                <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                    android:id="@+id/tv_profile_rules"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_centerVertical="true"
+                    android:layout_marginRight="@dimen/d_10dp"
+                    android:layout_toLeftOf="@id/iv_total_hours_arrow"
+                    android:text="Rules"
+                    android:textColor="@color/app_blue"
+                    android:textSize="14.5sp" />
+
+                <ImageView
+                    android:id="@+id/iv_total_hours_arrow"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_alignParentRight="true"
+                    android:layout_centerVertical="true"
+                    android:layout_marginRight="@dimen/d_15dp"
+                    android:src="@drawable/back_more_black" />
+
+            </LinearLayout>
+
+        </LinearLayout>
+
+        <!-- 技能的选择 -->
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginLeft="@dimen/d_5dp"
+            android:layout_marginRight="@dimen/d_5dp"
+            android:background="@drawable/profile_white_shadow_comm_bg"
+            android:orientation="vertical"
+            android:paddingTop="@dimen/d_25dp"
+            android:paddingBottom="@dimen/d_38dp">
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:gravity="center_vertical"
+                android:orientation="horizontal">
+
+                <com.guadou.lib_baselib.font_text_view.TextViewBold
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/d_23dp"
+                    android:layout_weight="1"
+                    android:text="技能"
+                    android:textColor="@color/profile_black_28394a"
+                    android:textSize="17dp" />
+
+                <ImageView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_alignParentRight="true"
+                    android:layout_centerVertical="true"
+                    android:layout_marginRight="@dimen/d_15dp"
+                    android:src="@drawable/back_more_black"
+                    app:tint="@color/gray_8098B2"
+                    tools:tint="@color/gray_8098B2" />
+
+            </LinearLayout>
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/d_15dp"
+                android:orientation="vertical"
+                android:paddingLeft="@dimen/d_23dp"
+                android:visibility="visible">
+
+                <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                    android:id="@+id/tv_edit_profile_work_type1"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:drawableLeft="@drawable/profile_detail_skill_icon1"
+                    android:drawablePadding="@dimen/d_12dp"
+                    android:paddingBottom="@dimen/d_10dp"
+                    android:text="Clean Service"
+                    android:textColor="@color/profile_black_8098b2"
+                    android:textSize="@dimen/d_14sp"
+                    android:visibility="visible" />
+
+                <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                    android:id="@+id/tv_edit_profile_work_type2"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="@dimen/d_10dp"
+                    android:layout_weight="1"
+                    android:drawableLeft="@drawable/profile_detail_skill_icon2"
+                    android:drawablePadding="@dimen/d_12dp"
+                    android:paddingBottom="@dimen/d_10dp"
+                    android:text="Business"
+                    android:textColor="@color/profile_black_8098b2"
+                    android:textSize="@dimen/d_14sp"
+                    android:visibility="visible" />
+            </LinearLayout>
+
+            <LinearLayout
+                android:id="@+id/ll_edit_profile_work_type2"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/d_10dp"
+                android:orientation="vertical"
+                android:paddingLeft="@dimen/d_23dp"
+                android:visibility="visible">
+
+                <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                    android:id="@+id/tv_edit_profile_work_type3"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:drawableLeft="@drawable/profile_detail_skill_icon3"
+                    android:drawablePadding="@dimen/d_12dp"
+                    android:paddingBottom="@dimen/d_10dp"
+                    android:text="Finance"
+                    android:textColor="@color/profile_black_8098b2"
+                    android:textSize="@dimen/d_14sp"
+                    android:visibility="visible" />
+
+                <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                    android:id="@+id/tv_edit_profile_work_type4"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="@dimen/d_10dp"
+                    android:layout_weight="1"
+                    android:drawableLeft="@drawable/profile_detail_skill_icon4"
+                    android:drawablePadding="@dimen/d_12dp"
+                    android:paddingBottom="@dimen/d_10dp"
+                    android:text="Food &#38; Banquet"
+                    android:textColor="@color/profile_black_8098b2"
+                    android:textSize="@dimen/d_14sp"
+                    android:visibility="visible" />
+            </LinearLayout>
+
+            <LinearLayout
+                android:id="@+id/ll_edit_profile_work_type3"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/d_10dp"
+                android:orientation="vertical"
+                android:paddingLeft="@dimen/d_23dp"
+                android:visibility="visible"
+                android:weightSum="2">
+
+                <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                    android:id="@+id/tv_edit_profile_work_type5"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:drawableLeft="@drawable/profile_detail_skill_icon5"
+                    android:drawablePadding="@dimen/d_12dp"
+                    android:paddingBottom="@dimen/d_15dp"
+                    android:text="Recruitment"
+                    android:textColor="@color/profile_black_8098b2"
+                    android:textSize="@dimen/d_14sp"
+                    android:visibility="visible" />
+
+                <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                    android:id="@+id/tv_edit_profile_work_type6"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1"
+                    android:drawableLeft="@drawable/profile_detail_skill_icon6"
+                    android:drawablePadding="@dimen/d_12dp"
+                    android:text="Recruitment"
+                    android:textColor="@color/profile_black_8098b2"
+                    android:textSize="@dimen/d_14sp"
+                    android:visibility="visible" />
+
+            </LinearLayout>
+
+        </LinearLayout>
+
+        <!--  证书  -->
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginLeft="@dimen/d_5dp"
+            android:layout_marginRight="@dimen/d_5dp"
+            android:background="@drawable/profile_white_shadow_comm_bg"
+            android:orientation="vertical"
+            android:paddingTop="@dimen/d_25dp"
+            android:paddingBottom="@dimen/d_38dp">
+
+            <com.guadou.lib_baselib.font_text_view.TextViewBold
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/d_23dp"
+                android:text="食品证书"
+                android:textColor="@color/profile_black_28394a"
+                android:textSize="17dp" />
+
+
+            <FrameLayout
+                android:id="@+id/fl_certificate_box"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/d_23dp"
+                android:layout_marginTop="@dimen/d_17dp">
+
+                <ImageView
+                    android:id="@+id/iv_certificate_img"
+                    android:layout_width="98dp"
+                    android:layout_height="98dp"
+                    android:layout_gravity="center"
+                    android:background="#F0F2F9" />
+
+                <ImageView
+                    android:id="@+id/iv_upload_empty"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_gravity="center"
+                    android:src="@drawable/profile_edit_cert_empty_img"
+                    android:visibility="visible" />
+
+                <ImageView
+                    android:id="@+id/iv_certificate_img_delete"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_gravity="right|top"
+                    android:layout_marginLeft="95dp"
+                    android:paddingLeft="@dimen/d_5dp"
+                    android:paddingTop="-10dp"
+                    android:paddingRight="@dimen/d_5dp"
+                    android:paddingBottom="@dimen/d_5dp"
+                    android:src="@drawable/profile_edit_cert_delete"
+                    android:visibility="visible" />
+
+            </FrameLayout>
+
+        </LinearLayout>
 
 
+        <!-- 个人信息的到达率 -->
         <LinearLayout
         <LinearLayout
-            android:id="@+id/ll_edit_profile_work_type"
             android:layout_width="match_parent"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginLeft="@dimen/d_5dp"
             android:layout_marginLeft="@dimen/d_5dp"
@@ -424,6 +801,6 @@
 
 
         </LinearLayout>
         </LinearLayout>
 
 
-    </RelativeLayout>
+    </LinearLayout>
 
 
 </layout>
 </layout>

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

@@ -7,7 +7,7 @@
     android:orientation="vertical">
     android:orientation="vertical">
 
 
     <!--Title-->
     <!--Title-->
-    <com.guadou.lib_baselib.font_text_view.TextViewBold
+    <com.guadou.lib_baselib.font_text_view.TextViewMedium
         android:id="@+id/tv_how_report_title"
         android:id="@+id/tv_how_report_title"
         android:layout_width="match_parent"
         android:layout_width="match_parent"
         android:layout_height="43dp"
         android:layout_height="43dp"

+ 87 - 0
cpt_parttime/src/main/res/layout/item_part_time_industry.xml

@@ -0,0 +1,87 @@
+<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">
+
+    <data>
+
+        <variable
+            name="item"
+            type="com.hongyegroup.cpt_parttime.bean.IndustryBean" />
+
+    </data>
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        xmlns:tool="http://schemas.android.com/tools"
+        android:id="@+id/root_layout"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginLeft="@dimen/d_12dp"
+        android:layout_marginTop="@dimen/d_12dp"
+        tool:ignore="MissingConstraints"
+        android:background="@drawable/shape_home_list_border_bg">
+
+        <View
+            android:layout_width="0dp"
+            android:layout_height="0dp"
+            app:layout_constraintDimensionRatio="H,332:280"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintRight_toRightOf="parent" />
+
+
+        <com.guadou.lib_baselib.font_text_view.TextViewMedium
+            android:id="@+id/tv_industry_name"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginLeft="@dimen/d_10dp"
+            android:ellipsize="end"
+            android:gravity="center"
+            android:lines="1"
+            android:shadowColor="@color/black"
+            android:textColor="@color/profile_red"
+            android:textSize="@dimen/d_15sp"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintBottom_toTopOf="@+id/tv_job_num"
+            android:text="商业" />
+
+        <com.guadou.lib_baselib.font_text_view.TextViewRegular
+            android:id="@+id/tv_job_num"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/d_5dp"
+            android:text="47 Jobs"
+            android:textColor="@color/black"
+            android:textSize="14sp"
+            android:visibility="invisible"
+            app:layout_constraintLeft_toLeftOf="@+id/tv_industry_name"
+            app:layout_constraintTop_toBottomOf="@+id/tv_industry_name"
+            app:layout_constraintBottom_toTopOf="@+id/iv_industry_img"
+            />
+
+        <ImageView
+            android:id="@+id/iv_industry_selected"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_margin="@dimen/d_12dp"
+            android:src="@drawable/filter_choose"
+            android:visibility="gone"
+            binding:isVisibleGone="@{item.isSelected}"
+            app:layout_constraintRight_toRightOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <ImageView
+            android:id="@+id/iv_industry_img"
+            android:layout_width="0dp"
+       android:layout_margin="0.5dp"
+            android:layout_height="0dp"
+            android:scaleType="fitXY"
+            binding:imgUrl="@{item.industry_image}"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintDimensionRatio="H,319:163"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintRight_toRightOf="parent" />
+
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+</layout>

+ 0 - 0
cpt_parttime/src/main/res/layout/stub_job_detail_web.xml


Some files were not shown because too many files changed in this diff