Selaa lähdekoodia

个人页面的逻辑完成

liukai 3 vuotta sitten
vanhempi
commit
85476874a5
100 muutettua tiedostoa jossa 3293 lisäystä ja 277 poistoa
  1. 79 2
      app/src/main/java/com/hongyegroup/nucleicacidtest/MyApplication.kt
  2. 1 1
      app/src/main/java/com/hongyegroup/nucleicacidtest/ui/SplashActivity.kt
  3. 0 2
      cpt_auths/src/main/java/com/hongyegroup/cpt_auths/ui/PensonalLoginActivity.kt
  4. 0 36
      cpt_auths/src/main/res/layout/activity_business_forgot_psd_input.xml
  5. 0 31
      cpt_auths/src/main/res/layout/activity_pensonal_forgot_psd_input.xml
  6. 1 0
      cpt_pensonal/src/main/AndroidManifest.xml
  7. 9 0
      cpt_pensonal/src/main/java/com/hongyegroup/cpt_pensonal/bean/MakeAppointmentTime.java
  8. 60 0
      cpt_pensonal/src/main/java/com/hongyegroup/cpt_pensonal/mvvm/PensonalAppointmentMakeViewModel.kt
  9. 22 0
      cpt_pensonal/src/main/java/com/hongyegroup/cpt_pensonal/mvvm/PensonalMyTestViewModel.kt
  10. 72 2
      cpt_pensonal/src/main/java/com/hongyegroup/cpt_pensonal/ui/activity/PensonalAppointmentMakeActivity.kt
  11. 16 0
      cpt_pensonal/src/main/java/com/hongyegroup/cpt_pensonal/ui/activity/PensonalAppointmentSuccessActivity.kt
  12. 50 3
      cpt_pensonal/src/main/java/com/hongyegroup/cpt_pensonal/ui/activity/PensonalAppointmentTestListActivity.kt
  13. 12 0
      cpt_pensonal/src/main/java/com/hongyegroup/cpt_pensonal/ui/activity/PensonalJoinBusinessInfoActivity.kt
  14. 14 0
      cpt_pensonal/src/main/java/com/hongyegroup/cpt_pensonal/ui/activity/PensonalJoinByIdActivity.kt
  15. 3 0
      cpt_pensonal/src/main/java/com/hongyegroup/cpt_pensonal/ui/activity/PensonalMainActivity.kt
  16. 23 0
      cpt_pensonal/src/main/java/com/hongyegroup/cpt_pensonal/ui/activity/PensonalMeEditActivity.kt
  17. 27 0
      cpt_pensonal/src/main/java/com/hongyegroup/cpt_pensonal/ui/fragment/PensonalCompanyInfoFragment.kt
  18. 22 0
      cpt_pensonal/src/main/java/com/hongyegroup/cpt_pensonal/ui/fragment/PensonalMeFragment.kt
  19. 27 0
      cpt_pensonal/src/main/java/com/hongyegroup/cpt_pensonal/ui/fragment/PensonalMyAppointmentFragment.kt
  20. 27 0
      cpt_pensonal/src/main/java/com/hongyegroup/cpt_pensonal/ui/fragment/PensonalSettingFragment.kt
  21. BIN
      cpt_pensonal/src/main/res/drawable-hdpi/appointment_success_icon.webp
  22. BIN
      cpt_pensonal/src/main/res/drawable-hdpi/appointment_success_name_icon.webp
  23. BIN
      cpt_pensonal/src/main/res/drawable-hdpi/make_appointment_date_icon.webp
  24. BIN
      cpt_pensonal/src/main/res/drawable-hdpi/my_test_date.webp
  25. BIN
      cpt_pensonal/src/main/res/drawable-hdpi/my_test_filter_icon.webp
  26. BIN
      cpt_pensonal/src/main/res/drawable-hdpi/my_test_result.webp
  27. BIN
      cpt_pensonal/src/main/res/drawable-hdpi/pensonal_appointment_help_title_icon.webp
  28. BIN
      cpt_pensonal/src/main/res/drawable-hdpi/pensonal_appointment_make_appointment.webp
  29. BIN
      cpt_pensonal/src/main/res/drawable-hdpi/pensonal_appointment_my_tests.webp
  30. BIN
      cpt_pensonal/src/main/res/drawable-hdpi/pensonal_appointment_top_img.webp
  31. BIN
      cpt_pensonal/src/main/res/drawable-hdpi/pensonal_me_home_btn_bg.webp
  32. BIN
      cpt_pensonal/src/main/res/drawable-hdpi/pensonal_me_home_tag_icon.webp
  33. BIN
      cpt_pensonal/src/main/res/drawable-hdpi/pensonal_me_home_top_img.webp
  34. BIN
      cpt_pensonal/src/main/res/drawable-xhdpi/appointment_success_icon.webp
  35. BIN
      cpt_pensonal/src/main/res/drawable-xhdpi/appointment_success_name_icon.webp
  36. BIN
      cpt_pensonal/src/main/res/drawable-xhdpi/make_appointment_date_icon.webp
  37. BIN
      cpt_pensonal/src/main/res/drawable-xhdpi/my_test_date.webp
  38. BIN
      cpt_pensonal/src/main/res/drawable-xhdpi/my_test_filter_icon.webp
  39. BIN
      cpt_pensonal/src/main/res/drawable-xhdpi/my_test_result.webp
  40. BIN
      cpt_pensonal/src/main/res/drawable-xhdpi/pensonal_appointment_help_title_icon.webp
  41. BIN
      cpt_pensonal/src/main/res/drawable-xhdpi/pensonal_appointment_make_appointment.webp
  42. BIN
      cpt_pensonal/src/main/res/drawable-xhdpi/pensonal_appointment_my_tests.webp
  43. BIN
      cpt_pensonal/src/main/res/drawable-xhdpi/pensonal_appointment_top_img.webp
  44. BIN
      cpt_pensonal/src/main/res/drawable-xhdpi/pensonal_me_home_btn_bg.webp
  45. BIN
      cpt_pensonal/src/main/res/drawable-xhdpi/pensonal_me_home_tag_icon.webp
  46. BIN
      cpt_pensonal/src/main/res/drawable-xhdpi/pensonal_me_home_top_img.webp
  47. BIN
      cpt_pensonal/src/main/res/drawable-xxhdpi/appointment_success_icon.webp
  48. BIN
      cpt_pensonal/src/main/res/drawable-xxhdpi/appointment_success_name_icon.webp
  49. BIN
      cpt_pensonal/src/main/res/drawable-xxhdpi/make_appointment_date_icon.webp
  50. BIN
      cpt_pensonal/src/main/res/drawable-xxhdpi/my_test_date.webp
  51. BIN
      cpt_pensonal/src/main/res/drawable-xxhdpi/my_test_filter_icon.webp
  52. BIN
      cpt_pensonal/src/main/res/drawable-xxhdpi/my_test_result.webp
  53. BIN
      cpt_pensonal/src/main/res/drawable-xxhdpi/pensonal_appointment_help_title_icon.webp
  54. BIN
      cpt_pensonal/src/main/res/drawable-xxhdpi/pensonal_appointment_make_appointment.webp
  55. BIN
      cpt_pensonal/src/main/res/drawable-xxhdpi/pensonal_appointment_my_tests.webp
  56. BIN
      cpt_pensonal/src/main/res/drawable-xxhdpi/pensonal_appointment_top_img.webp
  57. BIN
      cpt_pensonal/src/main/res/drawable-xxhdpi/pensonal_me_home_btn_bg.webp
  58. BIN
      cpt_pensonal/src/main/res/drawable-xxhdpi/pensonal_me_home_tag_icon.webp
  59. BIN
      cpt_pensonal/src/main/res/drawable-xxhdpi/pensonal_me_home_top_img.webp
  60. 8 0
      cpt_pensonal/src/main/res/drawable/shape_pensonal_home_blue_10round_bg.xml
  61. 156 11
      cpt_pensonal/src/main/res/layout/activity_pensonal_appointment_make.xml
  62. 163 11
      cpt_pensonal/src/main/res/layout/activity_pensonal_appointment_success.xml
  63. 87 12
      cpt_pensonal/src/main/res/layout/activity_pensonal_appointment_test_list.xml
  64. 237 12
      cpt_pensonal/src/main/res/layout/activity_pensonal_join_business_info.xml
  65. 85 13
      cpt_pensonal/src/main/res/layout/activity_pensonal_join_by_id.xml
  66. 1 1
      cpt_pensonal/src/main/res/layout/activity_pensonal_main.xml
  67. 379 13
      cpt_pensonal/src/main/res/layout/activity_pensonal_me_edit.xml
  68. 320 8
      cpt_pensonal/src/main/res/layout/fragment_pensonal_company_info.xml
  69. 318 8
      cpt_pensonal/src/main/res/layout/fragment_pensonal_me.xml
  70. 113 7
      cpt_pensonal/src/main/res/layout/fragment_pensonal_my_appointment.xml
  71. 116 7
      cpt_pensonal/src/main/res/layout/fragment_pensonal_setting.xml
  72. 26 0
      cpt_pensonal/src/main/res/layout/item_make_appointment_time.xml
  73. 102 0
      cpt_pensonal/src/main/res/layout/item_my_test.xml
  74. 1 1
      cs_baselib/src/main/java/com/guadou/lib_baselib/core/BaseLibCore.java
  75. 710 0
      cs_baselib/src/main/java/com/guadou/lib_baselib/utils/DateAndTimeUtil.java
  76. 6 96
      cs_cptServices/src/main/java/com/guadou/cs_cptservices/base/YYApplication.kt
  77. BIN
      cs_cptServices/src/main/res/drawable-hdpi/me_edit_radio_blue.webp
  78. BIN
      cs_cptServices/src/main/res/drawable-hdpi/me_edit_radio_gray.webp
  79. BIN
      cs_cptServices/src/main/res/drawable-hdpi/search_bg.webp
  80. BIN
      cs_cptServices/src/main/res/drawable-hdpi/search_bg_icon.webp
  81. BIN
      cs_cptServices/src/main/res/drawable-hdpi/setting_log_out_icon.webp
  82. BIN
      cs_cptServices/src/main/res/drawable-hdpi/setting_reset_psd_icon.webp
  83. BIN
      cs_cptServices/src/main/res/drawable-hdpi/setting_version_no_icon.webp
  84. BIN
      cs_cptServices/src/main/res/drawable-xhdpi/bitian_icon.png
  85. BIN
      cs_cptServices/src/main/res/drawable-xhdpi/me_edit_radio_blue.webp
  86. BIN
      cs_cptServices/src/main/res/drawable-xhdpi/me_edit_radio_gray.webp
  87. BIN
      cs_cptServices/src/main/res/drawable-xhdpi/search_bg.webp
  88. BIN
      cs_cptServices/src/main/res/drawable-xhdpi/search_bg_icon.webp
  89. BIN
      cs_cptServices/src/main/res/drawable-xhdpi/search_delete.webp
  90. BIN
      cs_cptServices/src/main/res/drawable-xhdpi/setting_item_bg.webp
  91. BIN
      cs_cptServices/src/main/res/drawable-xhdpi/setting_log_out_icon.webp
  92. BIN
      cs_cptServices/src/main/res/drawable-xhdpi/setting_reset_psd_icon.webp
  93. BIN
      cs_cptServices/src/main/res/drawable-xhdpi/setting_version_no_icon.webp
  94. BIN
      cs_cptServices/src/main/res/drawable-xxhdpi/me_edit_radio_blue.webp
  95. BIN
      cs_cptServices/src/main/res/drawable-xxhdpi/me_edit_radio_gray.webp
  96. BIN
      cs_cptServices/src/main/res/drawable-xxhdpi/search_bg.webp
  97. BIN
      cs_cptServices/src/main/res/drawable-xxhdpi/search_bg_icon.webp
  98. BIN
      cs_cptServices/src/main/res/drawable-xxhdpi/setting_log_out_icon.webp
  99. BIN
      cs_cptServices/src/main/res/drawable-xxhdpi/setting_reset_psd_icon.webp
  100. 0 0
      cs_cptServices/src/main/res/drawable-xxhdpi/setting_version_no_icon.webp

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

@@ -1,14 +1,91 @@
 package com.hongyegroup.nucleicacidtest
 
-import com.guadou.cs_cptservices.base.YYApplication
+import android.app.ActivityManager
+import android.content.Context
+import android.os.Build
+import android.os.Process
+import android.webkit.WebView
+import com.guadou.lib_baselib.base.BaseApplication
 import dagger.hilt.android.HiltAndroidApp
 
 @HiltAndroidApp
-class MyApplication : YYApplication() {
+class MyApplication : BaseApplication() {
 
     override fun onCreate() {
         super.onCreate()
 
+//        initBugly()
+
+        //WebView的兼容
+        setupWebView()
+    }
+
+    //兼容Android-P
+    private fun setupWebView() {
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
+            val processName = getProcessName(this)
+            if ("com.monstarlab.yyjobs" != processName) {
+                WebView.setDataDirectorySuffix(processName)
+            }
+        }
     }
 
+    //获取当前的进程名称
+    private fun getProcessName(context: Context?): String? {
+        if (context == null) return ""
+        val manager = context.getSystemService(Context.ACTIVITY_SERVICE) as ActivityManager
+        for (processInfo in manager.runningAppProcesses) {
+            if (processInfo.pid == Process.myPid()) {
+                return processInfo.processName
+            }
+        }
+        return ""
+    }
+
+//    /**
+//     * 初始化Bugly,捕获到异常信息上传到Bugly平台
+//     */
+//    private fun initBugly() {
+//
+//        CrashReport.initCrashReport(applicationContext, "afcd34c05f", true)
+//        val debug: Boolean = BuildConfig.DEBUG
+//        //能捕获自己的异常,上报给bugly
+//        Cockroach.install(this, object : ExceptionHandler() {
+//            override fun onUncaughtExceptionHappened(thread: Thread, throwable: Throwable) {
+//                YYLogUtils.e("--->onUncaughtExceptionHappened:" + thread + "<--->" + throwable.message)
+//                Handler(Looper.getMainLooper()).post {
+//                    if (debug) {
+//                        //如果是测试环境那么吐司错误信息
+//                        toast(throwable.toString())
+//                    }
+//                    //上报错误信息
+//                    CrashReport.postCatchedException(throwable)
+//                }
+//            }
+//
+//            override fun onBandageExceptionHappened(throwable: Throwable) {
+//                throwable.printStackTrace() //打印警告级别log,该throwable可能是最开始的bug导致的,无需关心
+//                YYLogUtils.e("Cockroach Worked:" + throwable.message)
+//                if (debug) {
+//                    //如果是测试环境那么吐司错误信息
+//                    toast(throwable.toString())
+//                }
+//                //上报错误信息
+//                CrashReport.postCatchedException(throwable)
+//            }
+//
+//            override fun onEnterSafeMode() {
+//                YYLogUtils.e("Cockroach onEnterSafeMode")
+//            }
+//
+//            override fun onMayBeBlackScreen(e: Throwable) {
+//                val thread = Looper.getMainLooper().thread
+//                Log.e("AndroidRuntime", "--->onUncaughtExceptionHappened:$thread<---", e)
+//                //黑屏时建议直接杀死app
+//                ActivityManage.finishAllActivity()
+//                exitProcess(0)
+//            }
+//        })
+//    }
+
 }

+ 1 - 1
app/src/main/java/com/hongyegroup/nucleicacidtest/ui/SplashActivity.kt

@@ -46,7 +46,7 @@ class SplashActivity : YYBaseVDBActivity<EmptyViewModel, ActivitySplashBinding>(
 
             if (CheckUtil.isEmpty(SP().getString(Constants.SP_KEY_TOKEN, ""))) {
                 //指引页面
-                YYRouterService.mainComponentServer?.startChooseRoleActivity()
+                YYRouterService.authComponentServer?.startChooseRoleActivity()
             } else {
 
                 if (SP().getBoolean(Constants.SP_KEY_IS_BUSINESS, false)) {

+ 0 - 2
cpt_auths/src/main/java/com/hongyegroup/cpt_auths/ui/PensonalLoginActivity.kt

@@ -7,7 +7,6 @@ import androidx.lifecycle.MutableLiveData
 import com.guadou.cs_cptservices.base.activity.YYBaseVDBActivity
 import com.guadou.cs_router.YYRouterService
 import com.guadou.lib_baselib.bean.DataBindingConfig
-import com.guadou.lib_baselib.ext.toast
 import com.guadou.lib_baselib.utils.ActivityManage
 import com.guadou.lib_baselib.utils.CommUtils
 import com.guadou.lib_baselib.utils.KeyboardUtils
@@ -70,7 +69,6 @@ class PensonalLoginActivity : YYBaseVDBActivity<PensonalLoginViewModel, Activity
         //执行登录
         fun doLogin() {
             KeyboardUtils.hideSoftInput(mActivity)
-            toast("执行登录:账号" + mViewModel.mMobileCodeLiveData.value + mMobilePhoneStr.value + " 密码:" + mPasswordStr.value)
             YYRouterService.pensonalComponentServer?.startPensonalMainActivity()
             ActivityManage.finishAllActivity()
         }

+ 0 - 36
cpt_auths/src/main/res/layout/activity_business_forgot_psd_input.xml

@@ -1,36 +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_auths.mvvm.AuthViewModel" />
-
-        <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.font_text_view.TextViewRegular
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:gravity="center"
-            android:text="Forgot Password Input"
-            android:textSize="@dimen/d_18sp" />
-
-
-    </LinearLayout>
-
-</layout>

+ 0 - 31
cpt_auths/src/main/res/layout/activity_pensonal_forgot_psd_input.xml

@@ -1,31 +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>
-
-
-    </data>
-
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:background="@color/white"
-        android:orientation="vertical">
-
-
-        <com.guadou.lib_baselib.font_text_view.TextViewRegular
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:gravity="center"
-            android:text="Forgot Password Input"
-            android:textSize="@dimen/d_18sp" />
-
-
-    </LinearLayout>
-
-</layout>

+ 1 - 0
cpt_pensonal/src/main/AndroidManifest.xml

@@ -6,6 +6,7 @@
 
         <activity
             android:name=".ui.activity.PensonalMainActivity"
+            android:launchMode="singleTask"
             android:screenOrientation="portrait" />
 
         <activity

+ 9 - 0
cpt_pensonal/src/main/java/com/hongyegroup/cpt_pensonal/bean/MakeAppointmentTime.java

@@ -0,0 +1,9 @@
+package com.hongyegroup.cpt_pensonal.bean;
+
+public class MakeAppointmentTime {
+
+    public String time;
+
+    public boolean isSelect = false;  //是否选中
+
+}

+ 60 - 0
cpt_pensonal/src/main/java/com/hongyegroup/cpt_pensonal/mvvm/PensonalAppointmentMakeViewModel.kt

@@ -0,0 +1,60 @@
+package com.hongyegroup.cpt_pensonal.mvvm
+
+import android.app.Activity
+import android.app.DatePickerDialog
+import androidx.lifecycle.LiveData
+import androidx.lifecycle.MutableLiveData
+import com.guadou.cs_cptservices.binding.BaseDataBindingAdapter
+import com.guadou.lib_baselib.base.vm.BaseViewModel
+import com.guadou.lib_baselib.utils.DateAndTimeUtil
+import com.hongyegroup.cpt_pensonal.BR
+import com.hongyegroup.cpt_pensonal.R
+import com.hongyegroup.cpt_pensonal.bean.MakeAppointmentTime
+import java.util.*
+
+@Suppress("NAME_SHADOWING")
+class PensonalAppointmentMakeViewModel : BaseViewModel() {
+
+    var mDatas = mutableListOf<MakeAppointmentTime>()
+    val mAdapter by lazy { BaseDataBindingAdapter(R.layout.item_make_appointment_time, BR.item, mDatas) }
+
+    private var startDatePicker: DatePickerDialog? = null
+    private var selectedDate = ""
+    private var selectedDateTimeMilles = 0L
+
+    /**
+     * 选择预约的日期 (系统时间选择弹窗)
+     */
+    fun showPikeDateDialog(activity: Activity): LiveData<String> {
+
+        val liveData = MutableLiveData<String>()
+        val calendar = Calendar.getInstance()
+
+        val dateSep: Array<String> = selectedDate.split("-").toTypedArray()
+
+        val year = if (selectedDate.isEmpty()) calendar[Calendar.YEAR] else dateSep[0].toInt()
+        val month = if (selectedDate.isEmpty()) calendar[Calendar.MONTH] else dateSep[1].toInt() - 1
+        val day = if (selectedDate.isEmpty()) calendar[Calendar.DAY_OF_MONTH] else dateSep[2].toInt()
+        startDatePicker = DatePickerDialog(activity, { _, year, month, day ->
+
+            var monthStr = (month + 1).toString()
+            if (monthStr.length == 1) {
+                monthStr = "0$monthStr"
+            }
+            var dayStr = day.toString()
+            if (dayStr.length == 1) {
+                dayStr = "0$dayStr"
+            }
+
+            selectedDate = StringBuilder().append(year).append("-").append(monthStr).append("-").append(dayStr).toString()
+            selectedDateTimeMilles = DateAndTimeUtil.getTimeStamp(selectedDate, "yyyy-MM-dd")
+            liveData.value = selectedDateTimeMilles.toString()
+
+        }, year, month, day)
+
+        startDatePicker?.show()
+
+        return liveData
+    }
+
+}

+ 22 - 0
cpt_pensonal/src/main/java/com/hongyegroup/cpt_pensonal/mvvm/PensonalMyTestViewModel.kt

@@ -0,0 +1,22 @@
+package com.hongyegroup.cpt_pensonal.mvvm
+
+import androidx.hilt.lifecycle.ViewModelInject
+import androidx.lifecycle.MutableLiveData
+import com.guadou.cs_cptservices.binding.BaseDataBindingAdapter
+import com.guadou.lib_baselib.base.vm.BaseViewModel
+import com.hongyegroup.cpt_pensonal.BR
+import com.hongyegroup.cpt_pensonal.R
+
+class PensonalMyTestViewModel @ViewModelInject constructor(
+
+) : BaseViewModel() {
+
+    var mKeywordLiveData: MutableLiveData<String> = MutableLiveData()
+
+    var mCurPage = 1
+    private var isNeedPlaceHolder = true
+    var isNeedCleanAllData = true
+    var mDatas = mutableListOf<String>()
+    val mAdapter by lazy { BaseDataBindingAdapter(R.layout.item_my_test, BR.item, mDatas) }
+
+}

+ 72 - 2
cpt_pensonal/src/main/java/com/hongyegroup/cpt_pensonal/ui/activity/PensonalAppointmentMakeActivity.kt

@@ -3,16 +3,20 @@ package com.hongyegroup.cpt_pensonal.ui.activity
 import android.content.Intent
 import android.os.Bundle
 import com.guadou.cs_cptservices.base.activity.YYBaseVDBActivity
-import com.guadou.lib_baselib.base.vm.EmptyViewModel
 import com.guadou.lib_baselib.bean.DataBindingConfig
+import com.guadou.lib_baselib.ext.vertical
 import com.guadou.lib_baselib.utils.CommUtils
+import com.guadou.lib_baselib.utils.DateAndTimeUtil
+import com.hongyegroup.cpt_pensonal.BR
 import com.hongyegroup.cpt_pensonal.R
+import com.hongyegroup.cpt_pensonal.bean.MakeAppointmentTime
 import com.hongyegroup.cpt_pensonal.databinding.ActivityPensonalAppointmentMakeBinding
+import com.hongyegroup.cpt_pensonal.mvvm.PensonalAppointmentMakeViewModel
 
 /**
  * 个人用户 开始预约时间
  */
-class PensonalAppointmentMakeActivity : YYBaseVDBActivity<EmptyViewModel, ActivityPensonalAppointmentMakeBinding>() {
+class PensonalAppointmentMakeActivity : YYBaseVDBActivity<PensonalAppointmentMakeViewModel, ActivityPensonalAppointmentMakeBinding>() {
 
     companion object {
         fun startInstance() {
@@ -25,6 +29,7 @@ class PensonalAppointmentMakeActivity : YYBaseVDBActivity<EmptyViewModel, Activi
 
     override fun getDataBindingConfig(): DataBindingConfig {
         return DataBindingConfig(R.layout.activity_pensonal_appointment_make)
+            .addBindingParams(BR.click, ClickProxy())
     }
 
     override fun startObserve() {
@@ -33,7 +38,72 @@ class PensonalAppointmentMakeActivity : YYBaseVDBActivity<EmptyViewModel, Activi
 
     override fun init(savedInstanceState: Bundle?) {
 
+        initRV()
+        initData()
+        initListener()
     }
 
+    private fun initData() {
+        mViewModel.mDatas.add(MakeAppointmentTime().apply {
+            time = "08:30"
+            isSelect = true
+        })
+
+        for (i in 1..10) {
+            mViewModel.mDatas.add(MakeAppointmentTime().apply {
+                time = "18:30"
+                isSelect = false
+            })
+        }
+
+        mViewModel.mAdapter.notifyDataSetChanged()
+    }
+
+
+    private fun initListener() {
+
+        //Item点击选中指定的Item
+        mViewModel.mAdapter.addChildClickViewIds(R.id.tv_appointment_time)
+        mViewModel.mAdapter.setOnItemChildClickListener { _, _, position ->
+            val item = mViewModel.mDatas[position]
+            resetAllItemChoose()
+            item.isSelect = true
+
+            mViewModel.mAdapter.notifyDataSetChanged()
+        }
+    }
+
+    //重置全部选中的
+    private fun resetAllItemChoose() {
+        mViewModel.mDatas.forEach {
+            it.isSelect = false
+        }
+    }
+
+    private fun initRV() {
+        mBinding.recyclerView.vertical(3).adapter = mViewModel.mAdapter
+    }
+
+    /**
+     * DataBinding事件处理
+     */
+    inner class ClickProxy {
+
+        //选择日期
+        fun pickerData() {
+            mViewModel.showPikeDateDialog(mActivity).observe(this@PensonalAppointmentMakeActivity) {
+                it?.let {
+                    mBinding.tvSelectDate.text = DateAndTimeUtil.stampToDate(it)
+                }
+            }
+        }
+
+        //点击确定预约
+        fun doSubmit() {
+            PensonalAppointmentSuccessActivity.startInstance()
+            finish()
+        }
+
+    }
 
 }

+ 16 - 0
cpt_pensonal/src/main/java/com/hongyegroup/cpt_pensonal/ui/activity/PensonalAppointmentSuccessActivity.kt

@@ -6,6 +6,8 @@ import com.guadou.cs_cptservices.base.activity.YYBaseVDBActivity
 import com.guadou.lib_baselib.base.vm.EmptyViewModel
 import com.guadou.lib_baselib.bean.DataBindingConfig
 import com.guadou.lib_baselib.utils.CommUtils
+import com.guadou.lib_baselib.utils.StatusBarUtils
+import com.hongyegroup.cpt_pensonal.BR
 import com.hongyegroup.cpt_pensonal.R
 import com.hongyegroup.cpt_pensonal.databinding.ActivityPensonalAppointmentSuccessBinding
 
@@ -25,6 +27,7 @@ class PensonalAppointmentSuccessActivity : YYBaseVDBActivity<EmptyViewModel, Act
 
     override fun getDataBindingConfig(): DataBindingConfig {
         return DataBindingConfig(R.layout.activity_pensonal_appointment_success)
+            .addBindingParams(BR.click, ClickProxy())
     }
 
     override fun startObserve() {
@@ -32,8 +35,21 @@ class PensonalAppointmentSuccessActivity : YYBaseVDBActivity<EmptyViewModel, Act
     }
 
     override fun init(savedInstanceState: Bundle?) {
+        StatusBarUtils.immersive(this)
+        setStatusBarWhiteText()
 
     }
 
+    /**
+     * DataBinding事件处理
+     */
+    inner class ClickProxy {
+
+        //去首页
+        fun gotoHomePage() {
+            PensonalMainActivity.startInstance()
+        }
+
+    }
 
 }

+ 50 - 3
cpt_pensonal/src/main/java/com/hongyegroup/cpt_pensonal/ui/activity/PensonalAppointmentTestListActivity.kt

@@ -3,16 +3,22 @@ package com.hongyegroup.cpt_pensonal.ui.activity
 import android.content.Intent
 import android.os.Bundle
 import com.guadou.cs_cptservices.base.activity.YYBaseVDBActivity
-import com.guadou.lib_baselib.base.vm.EmptyViewModel
 import com.guadou.lib_baselib.bean.DataBindingConfig
+import com.guadou.lib_baselib.ext.toast
+import com.guadou.lib_baselib.ext.vertical
 import com.guadou.lib_baselib.utils.CommUtils
+import com.guadou.lib_baselib.utils.KeyboardUtils
+import com.hongyegroup.cpt_pensonal.BR
 import com.hongyegroup.cpt_pensonal.R
 import com.hongyegroup.cpt_pensonal.databinding.ActivityPensonalAppointmentTestListBinding
+import com.hongyegroup.cpt_pensonal.mvvm.PensonalMyTestViewModel
 
 /**
  * 个人用户 我的预约列表
  */
-class PensonalAppointmentTestListActivity : YYBaseVDBActivity<EmptyViewModel, ActivityPensonalAppointmentTestListBinding>() {
+class PensonalAppointmentTestListActivity : YYBaseVDBActivity<PensonalMyTestViewModel, ActivityPensonalAppointmentTestListBinding>() {
+
+    private val mClickProxy by lazy { ClickProxy() }
 
     companion object {
         fun startInstance() {
@@ -24,7 +30,8 @@ class PensonalAppointmentTestListActivity : YYBaseVDBActivity<EmptyViewModel, Ac
     }
 
     override fun getDataBindingConfig(): DataBindingConfig {
-        return DataBindingConfig(R.layout.activity_pensonal_appointment_test_list)
+        return DataBindingConfig(R.layout.activity_pensonal_appointment_test_list, BR.viewModel, mViewModel)
+            .addBindingParams(BR.click, mClickProxy)
     }
 
     override fun startObserve() {
@@ -33,7 +40,47 @@ class PensonalAppointmentTestListActivity : YYBaseVDBActivity<EmptyViewModel, Ac
 
     override fun init(savedInstanceState: Bundle?) {
 
+        initRV()
+        initData()
+    }
+
+    private fun initData() {
+
+        for (i in 1..10) {
+            mViewModel.mDatas.add(i.toString())
+        }
+
+        mViewModel.mAdapter.notifyDataSetChanged()
+
+    }
+
+    private fun initRV() {
+
+        mBinding.recyclerView.vertical().adapter = mViewModel.mAdapter
+
     }
 
+    /**
+     * DataBinding事件处理
+     */
+    inner class ClickProxy {
+
+        //执行搜索
+        fun doSearch() {
+            KeyboardUtils.hideSoftInput(mActivity)
+
+            val searchText = mViewModel.mKeywordLiveData.value
+
+            toast("Search:$searchText")
+
+        }
+
+        //搜索的删除
+        fun searchDel() {
+            mViewModel.mKeywordLiveData.value = ""
+        }
+
+
+    }
 
 }

+ 12 - 0
cpt_pensonal/src/main/java/com/hongyegroup/cpt_pensonal/ui/activity/PensonalJoinBusinessInfoActivity.kt

@@ -6,6 +6,7 @@ import com.guadou.cs_cptservices.base.activity.YYBaseVDBActivity
 import com.guadou.lib_baselib.base.vm.EmptyViewModel
 import com.guadou.lib_baselib.bean.DataBindingConfig
 import com.guadou.lib_baselib.utils.CommUtils
+import com.hongyegroup.cpt_pensonal.BR
 import com.hongyegroup.cpt_pensonal.R
 import com.hongyegroup.cpt_pensonal.databinding.ActivityPensonalJoinBusinessInfoBinding
 
@@ -25,6 +26,7 @@ class PensonalJoinBusinessInfoActivity : YYBaseVDBActivity<EmptyViewModel, Activ
 
     override fun getDataBindingConfig(): DataBindingConfig {
         return DataBindingConfig(R.layout.activity_pensonal_join_business_info)
+            .addBindingParams(BR.click, ClickProxy())
     }
 
     override fun startObserve() {
@@ -35,5 +37,15 @@ class PensonalJoinBusinessInfoActivity : YYBaseVDBActivity<EmptyViewModel, Activ
 
     }
 
+    /**
+     * DataBinding事件处理
+     */
+    inner class ClickProxy {
+
+        fun doJoinBusiness() {
+            finish()
+        }
+
+    }
 
 }

+ 14 - 0
cpt_pensonal/src/main/java/com/hongyegroup/cpt_pensonal/ui/activity/PensonalJoinByIdActivity.kt

@@ -6,6 +6,8 @@ import com.guadou.cs_cptservices.base.activity.YYBaseVDBActivity
 import com.guadou.lib_baselib.base.vm.EmptyViewModel
 import com.guadou.lib_baselib.bean.DataBindingConfig
 import com.guadou.lib_baselib.utils.CommUtils
+import com.guadou.lib_baselib.utils.KeyboardUtils
+import com.hongyegroup.cpt_pensonal.BR
 import com.hongyegroup.cpt_pensonal.R
 import com.hongyegroup.cpt_pensonal.databinding.ActivityPensonalJoinByIdBinding
 
@@ -25,6 +27,7 @@ class PensonalJoinByIdActivity : YYBaseVDBActivity<EmptyViewModel, ActivityPenso
 
     override fun getDataBindingConfig(): DataBindingConfig {
         return DataBindingConfig(R.layout.activity_pensonal_join_by_id)
+            .addBindingParams(BR.click, ClickProxy())
     }
 
     override fun startObserve() {
@@ -35,5 +38,16 @@ class PensonalJoinByIdActivity : YYBaseVDBActivity<EmptyViewModel, ActivityPenso
 
     }
 
+    /**
+     * DataBinding事件处理
+     */
+    inner class ClickProxy {
+
+        fun doSubmit() {
+            KeyboardUtils.hideSoftInput(mActivity)
+            PensonalJoinBusinessInfoActivity.startInstance()
+        }
+
+    }
 
 }

+ 3 - 0
cpt_pensonal/src/main/java/com/hongyegroup/cpt_pensonal/ui/activity/PensonalMainActivity.kt

@@ -10,6 +10,7 @@ import com.guadou.cs_cptservices.base.activity.YYBaseVDBActivity
 import com.guadou.lib_baselib.base.vm.EmptyViewModel
 import com.guadou.lib_baselib.bean.DataBindingConfig
 import com.guadou.lib_baselib.utils.CommUtils
+import com.guadou.lib_baselib.utils.StatusBarUtils
 import com.hongyegroup.cpt_pensonal.BR
 import com.hongyegroup.cpt_pensonal.R
 import com.hongyegroup.cpt_pensonal.databinding.ActivityPensonalMainBinding
@@ -52,6 +53,8 @@ class PensonalMainActivity : YYBaseVDBActivity<EmptyViewModel, ActivityPensonalM
 
     @SuppressLint("SetTextI18n")
     override fun init(savedInstanceState: Bundle?) {
+        StatusBarUtils.immersive(this)
+
         if (savedInstanceState == null) {
             initFragment()
             //第一次初始化首页默认显示第一个fragment

+ 23 - 0
cpt_pensonal/src/main/java/com/hongyegroup/cpt_pensonal/ui/activity/PensonalMeEditActivity.kt

@@ -6,6 +6,7 @@ import com.guadou.cs_cptservices.base.activity.YYBaseVDBActivity
 import com.guadou.lib_baselib.base.vm.EmptyViewModel
 import com.guadou.lib_baselib.bean.DataBindingConfig
 import com.guadou.lib_baselib.utils.CommUtils
+import com.hongyegroup.cpt_pensonal.BR
 import com.hongyegroup.cpt_pensonal.R
 import com.hongyegroup.cpt_pensonal.databinding.ActivityPensonalMeEditBinding
 
@@ -14,6 +15,8 @@ import com.hongyegroup.cpt_pensonal.databinding.ActivityPensonalMeEditBinding
  */
 class PensonalMeEditActivity : YYBaseVDBActivity<EmptyViewModel, ActivityPensonalMeEditBinding>() {
 
+    var isVaccineYes: Boolean = true
+
     companion object {
         fun startInstance() {
             val context = CommUtils.getContext()
@@ -25,6 +28,7 @@ class PensonalMeEditActivity : YYBaseVDBActivity<EmptyViewModel, ActivityPensona
 
     override fun getDataBindingConfig(): DataBindingConfig {
         return DataBindingConfig(R.layout.activity_pensonal_me_edit)
+            .addBindingParams(BR.click, ClickProxy())
     }
 
     override fun startObserve() {
@@ -33,6 +37,25 @@ class PensonalMeEditActivity : YYBaseVDBActivity<EmptyViewModel, ActivityPensona
 
     override fun init(savedInstanceState: Bundle?) {
 
+        initListener()
+    }
+
+    private fun initListener() {
+        //监听Radio Group
+        mBinding.rgGroup.setOnCheckedChangeListener { _, checkedId ->
+            isVaccineYes = checkedId == R.id.rb_yes
+        }
+    }
+
+    /**
+     * DataBinding事件处理
+     */
+    inner class ClickProxy {
+
+        fun doSave() {
+
+        }
+
     }
 
 }

+ 27 - 0
cpt_pensonal/src/main/java/com/hongyegroup/cpt_pensonal/ui/fragment/PensonalCompanyInfoFragment.kt

@@ -3,8 +3,11 @@ package com.hongyegroup.cpt_pensonal.ui.fragment
 import com.guadou.cs_cptservices.base.fragment.YYBaseVDBFragment
 import com.guadou.lib_baselib.base.vm.EmptyViewModel
 import com.guadou.lib_baselib.bean.DataBindingConfig
+import com.hongyegroup.cpt_pensonal.BR
 import com.hongyegroup.cpt_pensonal.R
 import com.hongyegroup.cpt_pensonal.databinding.FragmentPensonalCompanyInfoBinding
+import com.hongyegroup.cpt_pensonal.ui.activity.PensonalJoinByIdActivity
+import com.hongyegroup.cpt_pensonal.ui.activity.PensonalScanQRCodeActivity
 
 /**
  * 个人用户 首页第一个Tab
@@ -14,6 +17,7 @@ class PensonalCompanyInfoFragment : YYBaseVDBFragment<EmptyViewModel, FragmentPe
 
     override fun getDataBindingConfig(): DataBindingConfig {
         return DataBindingConfig(R.layout.fragment_pensonal_company_info)
+            .addBindingParams(BR.click, ClickProxy())
     }
 
     override fun startObserve() {
@@ -21,6 +25,7 @@ class PensonalCompanyInfoFragment : YYBaseVDBFragment<EmptyViewModel, FragmentPe
     }
 
     override fun init() {
+        setStatusBarWhiteText()
 
     }
 
@@ -28,4 +33,26 @@ class PensonalCompanyInfoFragment : YYBaseVDBFragment<EmptyViewModel, FragmentPe
 
     }
 
+    override fun onHiddenChanged(hidden: Boolean) {
+        super.onHiddenChanged(hidden)
+        if (!hidden) {
+            setStatusBarWhiteText()
+        }
+    }
+
+    /**
+     * DataBinding事件处理
+     */
+    inner class ClickProxy {
+
+        fun gotoScanCodePage() {
+            PensonalScanQRCodeActivity.startInstance()
+        }
+
+        fun gotoJoinByIdPage() {
+            PensonalJoinByIdActivity.startInstance()
+        }
+
+    }
+
 }

+ 22 - 0
cpt_pensonal/src/main/java/com/hongyegroup/cpt_pensonal/ui/fragment/PensonalMeFragment.kt

@@ -3,8 +3,10 @@ package com.hongyegroup.cpt_pensonal.ui.fragment
 import com.guadou.cs_cptservices.base.fragment.YYBaseVDBFragment
 import com.guadou.lib_baselib.base.vm.EmptyViewModel
 import com.guadou.lib_baselib.bean.DataBindingConfig
+import com.hongyegroup.cpt_pensonal.BR
 import com.hongyegroup.cpt_pensonal.R
 import com.hongyegroup.cpt_pensonal.databinding.FragmentPensonalMeBinding
+import com.hongyegroup.cpt_pensonal.ui.activity.PensonalMeEditActivity
 
 /**
  * 个人用户 首页第三个Tab
@@ -14,6 +16,7 @@ class PensonalMeFragment : YYBaseVDBFragment<EmptyViewModel, FragmentPensonalMeB
 
     override fun getDataBindingConfig(): DataBindingConfig {
         return DataBindingConfig(R.layout.fragment_pensonal_me)
+            .addBindingParams(BR.click, ClickProxy())
     }
 
     override fun startObserve() {
@@ -21,6 +24,7 @@ class PensonalMeFragment : YYBaseVDBFragment<EmptyViewModel, FragmentPensonalMeB
     }
 
     override fun init() {
+        setStatusBarWhiteText()
 
     }
 
@@ -28,4 +32,22 @@ class PensonalMeFragment : YYBaseVDBFragment<EmptyViewModel, FragmentPensonalMeB
 
     }
 
+    override fun onHiddenChanged(hidden: Boolean) {
+        super.onHiddenChanged(hidden)
+        if (!hidden) {
+            setStatusBarWhiteText()
+        }
+    }
+
+    /**
+     * DataBinding事件处理
+     */
+    inner class ClickProxy {
+
+        fun gotoMeEditPage() {
+            PensonalMeEditActivity.startInstance()
+        }
+
+    }
+
 }

+ 27 - 0
cpt_pensonal/src/main/java/com/hongyegroup/cpt_pensonal/ui/fragment/PensonalMyAppointmentFragment.kt

@@ -3,8 +3,11 @@ package com.hongyegroup.cpt_pensonal.ui.fragment
 import com.guadou.cs_cptservices.base.fragment.YYBaseVDBFragment
 import com.guadou.lib_baselib.base.vm.EmptyViewModel
 import com.guadou.lib_baselib.bean.DataBindingConfig
+import com.hongyegroup.cpt_pensonal.BR
 import com.hongyegroup.cpt_pensonal.R
 import com.hongyegroup.cpt_pensonal.databinding.FragmentPensonalMyAppointmentBinding
+import com.hongyegroup.cpt_pensonal.ui.activity.PensonalAppointmentMakeActivity
+import com.hongyegroup.cpt_pensonal.ui.activity.PensonalAppointmentTestListActivity
 
 /**
  * 个人用户 首页第二个Tab
@@ -14,6 +17,7 @@ class PensonalMyAppointmentFragment : YYBaseVDBFragment<EmptyViewModel, Fragment
 
     override fun getDataBindingConfig(): DataBindingConfig {
         return DataBindingConfig(R.layout.fragment_pensonal_my_appointment)
+            .addBindingParams(BR.click, ClickProxy())
     }
 
     override fun startObserve() {
@@ -21,6 +25,7 @@ class PensonalMyAppointmentFragment : YYBaseVDBFragment<EmptyViewModel, Fragment
     }
 
     override fun init() {
+        setStatusBarWhiteText()
 
     }
 
@@ -28,4 +33,26 @@ class PensonalMyAppointmentFragment : YYBaseVDBFragment<EmptyViewModel, Fragment
 
     }
 
+    override fun onHiddenChanged(hidden: Boolean) {
+        super.onHiddenChanged(hidden)
+        if (!hidden) {
+            setStatusBarWhiteText()
+        }
+    }
+
+    /**
+     * DataBinding事件处理
+     */
+    inner class ClickProxy {
+
+        fun gotoMakeAppointmentPage() {
+            PensonalAppointmentMakeActivity.startInstance()
+        }
+
+        fun gotoMyTestsPage() {
+            PensonalAppointmentTestListActivity.startInstance()
+        }
+
+    }
+
 }

+ 27 - 0
cpt_pensonal/src/main/java/com/hongyegroup/cpt_pensonal/ui/fragment/PensonalSettingFragment.kt

@@ -1,8 +1,11 @@
 package com.hongyegroup.cpt_pensonal.ui.fragment
 
 import com.guadou.cs_cptservices.base.fragment.YYBaseVDBFragment
+import com.guadou.cs_router.YYRouterService
 import com.guadou.lib_baselib.base.vm.EmptyViewModel
 import com.guadou.lib_baselib.bean.DataBindingConfig
+import com.guadou.lib_baselib.ext.toast
+import com.hongyegroup.cpt_pensonal.BR
 import com.hongyegroup.cpt_pensonal.R
 import com.hongyegroup.cpt_pensonal.databinding.FragmentPensonalSettingBinding
 
@@ -14,6 +17,7 @@ class PensonalSettingFragment : YYBaseVDBFragment<EmptyViewModel, FragmentPenson
 
     override fun getDataBindingConfig(): DataBindingConfig {
         return DataBindingConfig(R.layout.fragment_pensonal_setting)
+            .addBindingParams(BR.click, ClickProxy())
     }
 
     override fun startObserve() {
@@ -21,6 +25,7 @@ class PensonalSettingFragment : YYBaseVDBFragment<EmptyViewModel, FragmentPenson
     }
 
     override fun init() {
+        setStatusBarBlackText()
 
     }
 
@@ -28,4 +33,26 @@ class PensonalSettingFragment : YYBaseVDBFragment<EmptyViewModel, FragmentPenson
 
     }
 
+    override fun onHiddenChanged(hidden: Boolean) {
+        super.onHiddenChanged(hidden)
+        if (!hidden) {
+            setStatusBarBlackText()
+        }
+    }
+
+    /**
+     * DataBinding事件处理
+     */
+    inner class ClickProxy {
+
+        fun gotoResetPasswordPage() {
+            YYRouterService.authComponentServer?.startResetPasswordActivity(isFromBusiness = false, isForgot = false)
+        }
+
+        fun doLogout() {
+            toast("登出")
+        }
+
+    }
+
 }

BIN
cpt_pensonal/src/main/res/drawable-hdpi/appointment_success_icon.webp


BIN
cpt_pensonal/src/main/res/drawable-hdpi/appointment_success_name_icon.webp


BIN
cpt_pensonal/src/main/res/drawable-hdpi/make_appointment_date_icon.webp


BIN
cpt_pensonal/src/main/res/drawable-hdpi/my_test_date.webp


BIN
cpt_pensonal/src/main/res/drawable-hdpi/my_test_filter_icon.webp


BIN
cpt_pensonal/src/main/res/drawable-hdpi/my_test_result.webp


BIN
cpt_pensonal/src/main/res/drawable-hdpi/pensonal_appointment_help_title_icon.webp


BIN
cpt_pensonal/src/main/res/drawable-hdpi/pensonal_appointment_make_appointment.webp


BIN
cpt_pensonal/src/main/res/drawable-hdpi/pensonal_appointment_my_tests.webp


BIN
cpt_pensonal/src/main/res/drawable-hdpi/pensonal_appointment_top_img.webp


BIN
cpt_pensonal/src/main/res/drawable-hdpi/pensonal_me_home_btn_bg.webp


BIN
cpt_pensonal/src/main/res/drawable-hdpi/pensonal_me_home_tag_icon.webp


BIN
cpt_pensonal/src/main/res/drawable-hdpi/pensonal_me_home_top_img.webp


BIN
cpt_pensonal/src/main/res/drawable-xhdpi/appointment_success_icon.webp


BIN
cpt_pensonal/src/main/res/drawable-xhdpi/appointment_success_name_icon.webp


BIN
cpt_pensonal/src/main/res/drawable-xhdpi/make_appointment_date_icon.webp


BIN
cpt_pensonal/src/main/res/drawable-xhdpi/my_test_date.webp


BIN
cpt_pensonal/src/main/res/drawable-xhdpi/my_test_filter_icon.webp


BIN
cpt_pensonal/src/main/res/drawable-xhdpi/my_test_result.webp


BIN
cpt_pensonal/src/main/res/drawable-xhdpi/pensonal_appointment_help_title_icon.webp


BIN
cpt_pensonal/src/main/res/drawable-xhdpi/pensonal_appointment_make_appointment.webp


BIN
cpt_pensonal/src/main/res/drawable-xhdpi/pensonal_appointment_my_tests.webp


BIN
cpt_pensonal/src/main/res/drawable-xhdpi/pensonal_appointment_top_img.webp


BIN
cpt_pensonal/src/main/res/drawable-xhdpi/pensonal_me_home_btn_bg.webp


BIN
cpt_pensonal/src/main/res/drawable-xhdpi/pensonal_me_home_tag_icon.webp


BIN
cpt_pensonal/src/main/res/drawable-xhdpi/pensonal_me_home_top_img.webp


BIN
cpt_pensonal/src/main/res/drawable-xxhdpi/appointment_success_icon.webp


BIN
cpt_pensonal/src/main/res/drawable-xxhdpi/appointment_success_name_icon.webp


BIN
cpt_pensonal/src/main/res/drawable-xxhdpi/make_appointment_date_icon.webp


BIN
cpt_pensonal/src/main/res/drawable-xxhdpi/my_test_date.webp


BIN
cpt_pensonal/src/main/res/drawable-xxhdpi/my_test_filter_icon.webp


BIN
cpt_pensonal/src/main/res/drawable-xxhdpi/my_test_result.webp


BIN
cpt_pensonal/src/main/res/drawable-xxhdpi/pensonal_appointment_help_title_icon.webp


BIN
cpt_pensonal/src/main/res/drawable-xxhdpi/pensonal_appointment_make_appointment.webp


BIN
cpt_pensonal/src/main/res/drawable-xxhdpi/pensonal_appointment_my_tests.webp


BIN
cpt_pensonal/src/main/res/drawable-xxhdpi/pensonal_appointment_top_img.webp


BIN
cpt_pensonal/src/main/res/drawable-xxhdpi/pensonal_me_home_btn_bg.webp


BIN
cpt_pensonal/src/main/res/drawable-xxhdpi/pensonal_me_home_tag_icon.webp


BIN
cpt_pensonal/src/main/res/drawable-xxhdpi/pensonal_me_home_top_img.webp


+ 8 - 0
cpt_pensonal/src/main/res/drawable/shape_pensonal_home_blue_10round_bg.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <corners android:radius="@dimen/d_10dp"/>
+
+    <solid android:color="#FFCBE5FF"/>
+
+</shape>

+ 156 - 11
cpt_pensonal/src/main/res/layout/activity_pensonal_appointment_make.xml

@@ -7,26 +7,171 @@
 
     <data>
 
+        <variable
+            name="click"
+            type="com.hongyegroup.cpt_pensonal.ui.activity.PensonalAppointmentMakeActivity.ClickProxy" />
+
         <import type="android.text.TextUtils" />
 
     </data>
 
 
-    <androidx.constraintlayout.widget.ConstraintLayout
+    <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:background="@color/white"
-        tools:context=".BusinessMainActivity">
+        android:background="@color/page_bg"
+        android:orientation="vertical">
+
+        <com.guadou.lib_baselib.view.titlebar.EasyTitleBar
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            app:Easy_title="Appointment Date &amp; Time" />
 
-        <TextView
-            android:layout_width="wrap_content"
+        <androidx.core.widget.NestedScrollView
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:text="Appointment Make"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintLeft_toLeftOf="parent"
-            app:layout_constraintRight_toRightOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
+            android:overScrollMode="never"
+            android:scrollbars="none">
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/d_8dp"
+                android:layout_marginRight="@dimen/d_8dp"
+                android:orientation="vertical">
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:background="@drawable/shadow_round_gray_bg"
+                    android:orientation="vertical">
+
+                    <com.guadou.lib_baselib.font_text_view.TextViewSBold
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="@dimen/d_22dp"
+                        android:layout_marginTop="@dimen/d_35dp"
+                        android:text="Select Date"
+                        android:textColor="@color/input_black_text_5D"
+                        android:textSize="23sp" />
+
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_gravity="center_vertical"
+                        android:layout_marginTop="35dp"
+                        android:orientation="horizontal">
+
+                        <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                            android:id="@+id/tv_select_date"
+                            android:layout_width="0dp"
+                            android:layout_height="wrap_content"
+                            android:layout_marginLeft="@dimen/d_22dp"
+                            android:layout_weight="1"
+                            android:text="26 May 2021"
+                            android:textColor="@color/input_black_text_5D"
+                            android:textSize="16sp" />
+
+                        <ImageView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginRight="@dimen/d_22dp"
+                            android:src="@drawable/make_appointment_date_icon"
+                            binding:clicks="@{click.pickerData}" />
+
+                    </LinearLayout>
+
+                    <View
+                        android:layout_width="wrap_content"
+                        android:layout_height="1dp"
+                        android:layout_marginLeft="@dimen/d_22dp"
+                        android:layout_marginTop="@dimen/d_15dp"
+                        android:layout_marginRight="@dimen/d_22dp"
+                        android:background="#FFD9E1ED" />
+
+                    <View
+                        android:layout_width="1dp"
+                        android:layout_height="25dp" />
+
+                </LinearLayout>
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="-5dp"
+                    android:background="@drawable/shadow_round_gray_bg"
+                    android:orientation="vertical">
+
+                    <com.guadou.lib_baselib.font_text_view.TextViewSBold
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="@dimen/d_22dp"
+                        android:layout_marginTop="@dimen/d_35dp"
+                        android:text="Select Time"
+                        android:textColor="@color/input_black_text_5D"
+                        android:textSize="23sp" />
+
+
+                    <androidx.recyclerview.widget.RecyclerView
+                        android:id="@+id/recyclerView"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="@dimen/d_20dp"
+                        android:layout_marginRight="@dimen/d_5dp"
+                        android:overScrollMode="never"
+                        android:scrollbars="none" />
+
+                    <View
+                        android:layout_width="1dp"
+                        android:layout_height="30dp" />
+
+                </LinearLayout>
+
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="-5dp"
+                    android:background="@drawable/shadow_round_gray_bg"
+                    android:gravity="center_horizontal"
+                    android:orientation="vertical">
+
+                    <com.guadou.lib_baselib.font_text_view.TextViewSBold
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="@dimen/d_25dp"
+                        android:text="26 May 2021 14:00"
+                        android:textColor="@color/input_black_text_5D"
+                        android:textSize="18sp" />
+
+                    <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                        android:layout_width="match_parent"
+                        android:layout_height="43dp"
+                        android:layout_marginLeft="@dimen/d_22dp"
+                        android:layout_marginTop="@dimen/d_18dp"
+                        android:layout_marginRight="@dimen/d_22dp"
+                        android:background="@drawable/shape_btn_blue_3round_bg"
+                        android:gravity="center"
+                        android:text="Submit"
+                        android:textColor="@color/white"
+                        android:textSize="@dimen/d_16sp"
+                        binding:clicks="@{click.doSubmit}" />
+
+                    <View
+                        android:layout_width="1dp"
+                        android:layout_height="20dp" />
+
+                </LinearLayout>
+
+                <View
+                    android:layout_width="1dp"
+                    android:layout_height="30dp" />
+
+            </LinearLayout>
+
+        </androidx.core.widget.NestedScrollView>
+
 
-    </androidx.constraintlayout.widget.ConstraintLayout>
+    </LinearLayout>
 
 </layout>

+ 163 - 11
cpt_pensonal/src/main/res/layout/activity_pensonal_appointment_success.xml

@@ -7,26 +7,178 @@
 
     <data>
 
+        <variable
+            name="click"
+            type="com.hongyegroup.cpt_pensonal.ui.activity.PensonalAppointmentSuccessActivity.ClickProxy" />
+
         <import type="android.text.TextUtils" />
 
     </data>
 
 
-    <androidx.constraintlayout.widget.ConstraintLayout
+    <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:background="@color/white"
-        tools:context=".BusinessMainActivity">
+        android:background="@color/page_bg"
+        android:orientation="vertical">
+
+        <com.guadou.lib_baselib.view.titlebar.EasyTitleBar
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            app:Easy_backRes="@mipmap/back_white"
+            app:Easy_hasStatusPadding="true"
+            app:Easy_title="Successful"
+            app:Easy_titleBarBackground="#1C8BF9"
+            app:Easy_titleColor="@color/white" />
 
-        <TextView
-            android:layout_width="wrap_content"
+        <ScrollView
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:text="Appointment Success"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintLeft_toLeftOf="parent"
-            app:layout_constraintRight_toRightOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
+            android:overScrollMode="never"
+            android:scrollbars="none">
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="vertical">
+
+                <ImageView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_gravity="center_horizontal"
+                    android:layout_marginTop="@dimen/d_27dp"
+                    android:src="@drawable/appointment_success_icon" />
+
+                <com.guadou.lib_baselib.font_text_view.TextViewSBold
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_gravity="center_horizontal"
+                    android:layout_marginTop="@dimen/d_20dp"
+                    android:text="Thank you for your submitting!"
+                    android:textColor="@color/input_black_text_5D"
+                    android:textSize="@dimen/d_21sp" />
+
+                <com.guadou.lib_baselib.font_text_view.TextViewSBold
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_gravity="center_horizontal"
+                    android:layout_marginTop="@dimen/d_10dp"
+                    android:text="Youe swab test appointment is"
+                    android:textColor="@color/input_black_text_5D"
+                    android:textSize="@dimen/d_21sp" />
+
+                <com.guadou.lib_baselib.font_text_view.TextViewSBold
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_gravity="center_horizontal"
+                    android:layout_marginTop="@dimen/d_10dp"
+                    android:text="successful!"
+                    android:textColor="@color/input_blue_text"
+                    android:textSize="@dimen/d_24sp" />
+
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/d_8dp"
+                    android:layout_marginTop="@dimen/d_15dp"
+                    android:layout_marginRight="@dimen/d_8dp"
+                    android:background="@drawable/shadow_round_gray_bg"
+                    android:orientation="vertical">
+
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="@dimen/d_17dp"
+                        android:layout_marginTop="@dimen/d_12dp"
+                        android:layout_marginRight="@dimen/d_17dp"
+                        android:gravity="center_vertical"
+                        android:orientation="horizontal">
+
+                        <ImageView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:src="@drawable/appointment_success_name_icon" />
+
+                        <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                            android:layout_width="0dp"
+                            android:layout_height="wrap_content"
+                            android:layout_marginLeft="@dimen/d_15dp"
+                            android:layout_weight="1"
+                            android:text="Full Name"
+                            android:textColor="@color/input_black_text_5D"
+                            android:textSize="17sp" />
+
+                        <com.guadou.lib_baselib.font_text_view.TextViewSBold
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:text="Wendy Wang"
+                            android:textColor="@color/input_black_text_5D"
+                            android:textSize="16sp" />
+
+                    </LinearLayout>
+
+                    <com.guadou.lib_baselib.font_text_view.TextViewSBold
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="@dimen/d_17dp"
+                        android:layout_marginTop="@dimen/d_30dp"
+                        android:text="Appointment Date"
+                        android:textColor="@color/input_black_text_5D"
+                        android:textSize="@dimen/d_17sp" />
+
+                    <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="@dimen/d_17dp"
+                        android:layout_marginTop="@dimen/d_10dp"
+                        android:text="26 May, 2021 14:00"
+                        android:textColor="#FF68768C"
+                        android:textSize="17sp" />
+
+                    <com.guadou.lib_baselib.font_text_view.TextViewSBold
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="@dimen/d_17dp"
+                        android:layout_marginTop="@dimen/d_22dp"
+                        android:text="Appointment Address"
+                        android:textColor="@color/input_black_text_5D"
+                        android:textSize="@dimen/d_17sp" />
+
+                    <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="@dimen/d_17dp"
+                        android:layout_marginTop="@dimen/d_10dp"
+                        android:text="B1-230, ION Orchard, 238801"
+                        android:textColor="#FF68768C"
+                        android:textSize="17sp" />
+
+                    <View
+                        android:layout_width="1dp"
+                        android:layout_height="35dp" />
+
+                </LinearLayout>
+
+
+                <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                    android:layout_width="match_parent"
+                    android:layout_height="43dp"
+                    android:layout_marginLeft="@dimen/d_19dp"
+                    android:layout_marginTop="@dimen/d_20dp"
+                    android:layout_marginRight="@dimen/d_19dp"
+                    android:layout_marginBottom="@dimen/d_20dp"
+                    android:background="@drawable/shape_btn_blue_3round_bg"
+                    android:gravity="center"
+                    android:text="Back My Oppointment Page"
+                    android:textColor="@color/white"
+                    android:textSize="@dimen/d_16sp"
+                    binding:clicks="@{click.gotoHomePage}" />
+
+            </LinearLayout>
+
+        </ScrollView>
 
-    </androidx.constraintlayout.widget.ConstraintLayout>
+    </LinearLayout>
 
 </layout>

+ 87 - 12
cpt_pensonal/src/main/res/layout/activity_pensonal_appointment_test_list.xml

@@ -7,26 +7,101 @@
 
     <data>
 
+        <variable
+            name="viewModel"
+            type="com.hongyegroup.cpt_pensonal.mvvm.PensonalMyTestViewModel" />
+
+        <variable
+            name="click"
+            type="com.hongyegroup.cpt_pensonal.ui.activity.PensonalAppointmentTestListActivity.ClickProxy" />
+
         <import type="android.text.TextUtils" />
 
     </data>
 
-
-    <androidx.constraintlayout.widget.ConstraintLayout
+    <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:background="@color/white"
-        tools:context=".BusinessMainActivity">
+        android:background="@color/page_bg_blue"
+        android:focusable="true"
+        android:focusableInTouchMode="true"
+        android:orientation="vertical">
 
-        <TextView
-            android:layout_width="wrap_content"
+        <com.guadou.lib_baselib.view.titlebar.EasyTitleBar
+            android:id="@+id/easy_title"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:text="Test List"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintLeft_toLeftOf="parent"
-            app:layout_constraintRight_toRightOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
+            app:Easy_menuImgSize="0dp"
+            app:Easy_title="My Test" />
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/d_35dp"
+            android:layout_marginLeft="@dimen/d_15dp"
+            android:layout_marginTop="@dimen/d_8dp"
+            android:layout_marginRight="@dimen/d_15dp"
+            android:background="@drawable/search_bg"
+            android:gravity="center_vertical"
+            android:orientation="horizontal">
+
+            <ImageView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/d_16dp"
+                android:src="@drawable/search_bg_icon"
+                binding:clicks="@{click.doSearch}" />
+
+            <EditText
+                android:layout_width="0dp"
+                android:layout_height="match_parent"
+                android:layout_marginLeft="@dimen/d_13dp"
+                android:layout_marginRight="@dimen/d_13dp"
+                android:layout_weight="1"
+                android:background="@color/transparent"
+                android:hint="Search"
+                android:imeOptions="actionSearch"
+                android:singleLine="true"
+                android:text="@={viewModel.mKeywordLiveData}"
+                android:textColor="@color/input_black_text"
+                android:textColorHint="#FFBDC1CF"
+                android:textCursorDrawable="@null"
+                android:textSize="@dimen/d_15sp"
+                binding:onKeyEnter="@{click.doSearch}" />
+
+            <ImageView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center_vertical"
+                android:layout_marginRight="@dimen/d_10dp"
+                android:padding="@dimen/d_5dp"
+                android:src="@drawable/search_delete"
+                android:visibility="visible"
+                app:tint="@color/input_black_text"
+                binding:clicks="@{click.searchDel}"
+                binding:isVisibleGone="@{!TextUtils.isEmpty(viewModel.mKeywordLiveData)}"
+                tools:tint="@color/input_black_text" />
+
+        </LinearLayout>
+
+        <com.scwang.smart.refresh.layout.SmartRefreshLayout
+            android:id="@+id/refresh_layout"
+            android:layout_marginTop="@dimen/d_10dp"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent">
+
+            <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="none" />
+
+        </com.scwang.smart.refresh.layout.SmartRefreshLayout>
 
-    </androidx.constraintlayout.widget.ConstraintLayout>
+    </LinearLayout>
 
 </layout>

+ 237 - 12
cpt_pensonal/src/main/res/layout/activity_pensonal_join_business_info.xml

@@ -7,26 +7,251 @@
 
     <data>
 
-        <import type="android.text.TextUtils" />
+        <variable
+            name="click"
+            type="com.hongyegroup.cpt_pensonal.ui.activity.PensonalJoinBusinessInfoActivity.ClickProxy" />
 
     </data>
 
 
-    <androidx.constraintlayout.widget.ConstraintLayout
+    <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:background="@color/white"
-        tools:context=".BusinessMainActivity">
+        android:background="@color/page_bg"
+        android:focusable="true"
+        android:focusableInTouchMode="true"
+        android:orientation="vertical">
 
-        <TextView
-            android:layout_width="wrap_content"
+        <com.guadou.lib_baselib.view.titlebar.EasyTitleBar
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:text="Business Info"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintLeft_toLeftOf="parent"
-            app:layout_constraintRight_toRightOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
+            app:Easy_title="Business Info" />
 
-    </androidx.constraintlayout.widget.ConstraintLayout>
+        <FrameLayout
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_marginLeft="@dimen/d_5dp"
+            android:layout_marginTop="@dimen/d_10dp"
+            android:layout_marginRight="@dimen/d_5dp"
+            android:layout_marginBottom="@dimen/d_5dp"
+            android:background="@drawable/shadow_round_gray_bg">
+
+            <ScrollView
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_marginLeft="@dimen/d_15dp"
+                android:layout_marginRight="@dimen/d_15dp"
+                android:layout_marginBottom="@dimen/d_3dp"
+                android:overScrollMode="never"
+                android:scrollbars="none">
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:orientation="vertical">
+
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="@dimen/d_30dp"
+                        android:gravity="center_vertical"
+                        android:orientation="horizontal">
+
+                        <ImageView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginBottom="@dimen/d_1dp"
+                            android:src="@drawable/pensonal_me_home_tag_icon" />
+
+                        <com.guadou.lib_baselib.font_text_view.TextViewSBold
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginLeft="15dp"
+                            android:text="Shopping Mall"
+                            android:textColor="#FF3E4A5D"
+                            android:textSize="@dimen/d_17sp" />
+
+                    </LinearLayout>
+
+                    <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="20dp"
+                        android:layout_marginTop="@dimen/d_16dp"
+                        android:layout_marginRight="@dimen/d_20dp"
+                        android:background="@null"
+                        android:singleLine="true"
+                        android:text="JCube"
+                        android:textColor="#FFBFBFBF"
+                        android:textColorHint="#FFBFBFBF"
+                        android:textSize="@dimen/d_17sp" />
+
+                    <View
+                        android:layout_width="match_parent"
+                        android:layout_height="0.8dp"
+                        android:layout_marginLeft="@dimen/d_17dp"
+                        android:layout_marginTop="@dimen/d_14dp"
+                        android:layout_marginRight="@dimen/d_17dp"
+                        android:background="#FFDFE4EE" />
+
+
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="@dimen/d_20dp"
+                        android:gravity="center_vertical"
+                        android:orientation="horizontal">
+
+                        <ImageView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginBottom="@dimen/d_1dp"
+                            android:src="@drawable/pensonal_me_home_tag_icon" />
+
+                        <com.guadou.lib_baselib.font_text_view.TextViewSBold
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginLeft="15dp"
+                            android:text="Business Name"
+                            android:textColor="#FF3E4A5D"
+                            android:textSize="@dimen/d_17sp" />
+
+                    </LinearLayout>
+
+                    <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="20dp"
+                        android:layout_marginTop="@dimen/d_16dp"
+                        android:layout_marginRight="@dimen/d_20dp"
+                        android:background="@null"
+                        android:singleLine="true"
+                        android:text="H&amp;M"
+                        android:textColor="#FFBFBFBF"
+                        android:textColorHint="#FFBFBFBF"
+                        android:textSize="@dimen/d_17sp" />
+
+                    <View
+                        android:layout_width="match_parent"
+                        android:layout_height="0.8dp"
+                        android:layout_marginLeft="@dimen/d_17dp"
+                        android:layout_marginTop="@dimen/d_14dp"
+                        android:layout_marginRight="@dimen/d_17dp"
+                        android:background="#FFDFE4EE" />
+
+
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="@dimen/d_20dp"
+                        android:gravity="center_vertical"
+                        android:orientation="horizontal">
+
+                        <ImageView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginBottom="@dimen/d_1dp"
+                            android:src="@drawable/pensonal_me_home_tag_icon" />
+
+                        <com.guadou.lib_baselib.font_text_view.TextViewSBold
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginLeft="15dp"
+                            android:text="Contact No.Mobile"
+                            android:textColor="#FF3E4A5D"
+                            android:textSize="@dimen/d_17sp" />
+
+                    </LinearLayout>
+
+                    <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="20dp"
+                        android:layout_marginTop="@dimen/d_16dp"
+                        android:layout_marginRight="@dimen/d_20dp"
+                        android:background="@null"
+                        android:singleLine="true"
+                        android:text="+65 25698456"
+                        android:textColor="#FFBFBFBF"
+                        android:textColorHint="#FFBFBFBF"
+                        android:textSize="@dimen/d_17sp" />
+
+                    <View
+                        android:layout_width="match_parent"
+                        android:layout_height="0.8dp"
+                        android:layout_marginLeft="@dimen/d_17dp"
+                        android:layout_marginTop="@dimen/d_14dp"
+                        android:layout_marginRight="@dimen/d_17dp"
+                        android:background="#FFDFE4EE" />
+
+
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="@dimen/d_20dp"
+                        android:gravity="center_vertical"
+                        android:orientation="horizontal">
+
+                        <ImageView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginBottom="@dimen/d_1dp"
+                            android:src="@drawable/pensonal_me_home_tag_icon" />
+
+                        <com.guadou.lib_baselib.font_text_view.TextViewSBold
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginLeft="15dp"
+                            android:text="Business Address"
+                            android:textColor="#FF3E4A5D"
+                            android:textSize="@dimen/d_17sp" />
+
+                    </LinearLayout>
+
+                    <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="20dp"
+                        android:layout_marginTop="@dimen/d_16dp"
+                        android:layout_marginRight="@dimen/d_20dp"
+                        android:background="@null"
+                        android:singleLine="true"
+                        android:text="B1-230,JCube, 238801"
+                        android:textColor="#FFBFBFBF"
+                        android:textColorHint="#FFBFBFBF"
+                        android:textSize="@dimen/d_17sp" />
+
+                    <View
+                        android:layout_width="match_parent"
+                        android:layout_height="0.8dp"
+                        android:layout_marginLeft="@dimen/d_17dp"
+                        android:layout_marginTop="@dimen/d_14dp"
+                        android:layout_marginRight="@dimen/d_17dp"
+                        android:background="#FFDFE4EE" />
+
+                    <com.guadou.lib_baselib.font_text_view.TextViewSBold
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_gravity="center_horizontal"
+                        android:layout_marginTop="@dimen/d_75dp"
+                        android:background="@drawable/pensonal_me_home_btn_bg"
+                        android:gravity="center"
+                        android:paddingBottom="5dp"
+                        android:text="Join"
+                        android:textColor="@color/white"
+                        android:textSize="@dimen/d_18sp"
+                        binding:clicks="@{click.doJoinBusiness}" />
+
+                    <View
+                        android:layout_width="1dp"
+                        android:layout_height="40dp" />
+
+                </LinearLayout>
+
+            </ScrollView>
+
+        </FrameLayout>
+
+    </LinearLayout>
 
 </layout>

+ 85 - 13
cpt_pensonal/src/main/res/layout/activity_pensonal_join_by_id.xml

@@ -7,26 +7,98 @@
 
     <data>
 
-        <import type="android.text.TextUtils" />
+        <variable
+            name="click"
+            type="com.hongyegroup.cpt_pensonal.ui.activity.PensonalJoinByIdActivity.ClickProxy" />
 
     </data>
 
-
-    <androidx.constraintlayout.widget.ConstraintLayout
+    <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:background="@color/white"
-        tools:context=".BusinessMainActivity">
+        android:background="@color/page_bg"
+        android:focusable="true"
+        android:focusableInTouchMode="true"
+        android:orientation="vertical">
 
-        <TextView
-            android:layout_width="wrap_content"
+        <com.guadou.lib_baselib.view.titlebar.EasyTitleBar
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:text="Join By id"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintLeft_toLeftOf="parent"
-            app:layout_constraintRight_toRightOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
+            app:Easy_title="Org ID" />
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_marginLeft="@dimen/d_5dp"
+            android:layout_marginTop="@dimen/d_5dp"
+            android:layout_marginRight="@dimen/d_5dp"
+            android:layout_marginBottom="@dimen/d_10dp"
+            android:background="@drawable/shadow_round_gray_bg"
+            android:orientation="vertical">
+
+
+            <com.guadou.lib_baselib.font_text_view.TextViewSBold
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/d_22dp"
+                android:layout_marginTop="@dimen/d_35dp"
+                android:text="Join by Org ID"
+                android:textColor="#3E4A5D"
+                android:textSize="@dimen/d_23sp" />
+
+            <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/d_22dp"
+                android:layout_marginTop="@dimen/d_22dp"
+                android:layout_marginRight="@dimen/d_30dp"
+                android:text="Please enter your company identification number"
+                android:textColor="#FFADB5C2"
+                android:textSize="16sp" />
+
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="43dp"
+                android:layout_marginLeft="@dimen/d_22dp"
+                android:layout_marginTop="@dimen/d_19dp"
+                android:layout_marginRight="@dimen/d_22dp"
+                android:background="@drawable/shape_input_gray_4round_bg"
+                android:gravity="center_vertical"
+                android:orientation="horizontal">
+
+                <EditText
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:layout_marginLeft="@dimen/d_10dp"
+                    android:background="@color/transparent"
+                    android:hint="Enter Mobile"
+                    android:singleLine="true"
+                    android:textColor="@color/input_black_text"
+                    android:textColorHint="#FFA1B0BE"
+                    android:textSize="@dimen/d_15sp"
+                    binding:typefaceRegular="@{true}" />
+
+            </LinearLayout>
+
+
+            <com.guadou.lib_baselib.font_text_view.TextViewSBold
+                android:layout_width="match_parent"
+                android:layout_height="43dp"
+                android:layout_marginLeft="@dimen/d_22dp"
+                android:layout_marginTop="@dimen/d_20dp"
+                android:layout_marginRight="@dimen/d_22dp"
+                android:layout_marginBottom="@dimen/d_20dp"
+                android:background="@drawable/shape_btn_blue_3round_bg"
+                android:gravity="center"
+                android:text="Submit"
+                android:textColor="@color/white"
+                android:textSize="@dimen/d_16sp"
+                binding:clicks="@{click.doSubmit}" />
+
+
+        </LinearLayout>
 
-    </androidx.constraintlayout.widget.ConstraintLayout>
+    </LinearLayout>
 
 </layout>

+ 1 - 1
cpt_pensonal/src/main/res/layout/activity_pensonal_main.xml

@@ -16,7 +16,7 @@
     <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:background="@color/white"
+        android:background="@color/page_bg_white"
         android:orientation="vertical">
 
         <FrameLayout

+ 379 - 13
cpt_pensonal/src/main/res/layout/activity_pensonal_me_edit.xml

@@ -7,26 +7,392 @@
 
     <data>
 
-        <import type="android.text.TextUtils" />
+        <variable
+            name="click"
+            type="com.hongyegroup.cpt_pensonal.ui.activity.PensonalMeEditActivity.ClickProxy" />
 
     </data>
 
-
-    <androidx.constraintlayout.widget.ConstraintLayout
+    <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:background="@color/white"
-        tools:context=".BusinessMainActivity">
+        android:background="@color/page_bg"
+        android:focusable="true"
+        android:focusableInTouchMode="true"
+        android:orientation="vertical">
 
-        <TextView
-            android:layout_width="wrap_content"
+        <com.guadou.lib_baselib.view.titlebar.EasyTitleBar
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:text="Me Edit Page"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintLeft_toLeftOf="parent"
-            app:layout_constraintRight_toRightOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
+            app:Easy_title="Org ID" />
+
+        <FrameLayout
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_marginLeft="@dimen/d_5dp"
+            android:layout_marginTop="5dp"
+            android:layout_marginRight="@dimen/d_5dp"
+            android:layout_marginBottom="@dimen/d_5dp"
+            android:background="@drawable/shadow_round_gray_bg">
+
+            <ScrollView
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_marginLeft="@dimen/d_15dp"
+                android:layout_marginRight="@dimen/d_15dp"
+                android:layout_marginBottom="@dimen/d_3dp"
+                android:overScrollMode="never"
+                android:scrollbars="none">
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:orientation="vertical">
+
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="@dimen/d_30dp"
+                        android:gravity="center_vertical"
+                        android:orientation="horizontal">
+
+                        <ImageView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginBottom="@dimen/d_1dp"
+                            android:src="@drawable/pensonal_me_home_tag_icon" />
+
+                        <com.guadou.lib_baselib.font_text_view.TextViewSBold
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginLeft="15dp"
+                            android:text="Full Name"
+                            android:textColor="#FF3E4A5D"
+                            android:textSize="@dimen/d_17sp" />
+
+                        <ImageView
+                            android:layout_width="@dimen/d_20dp"
+                            android:layout_height="20dp"
+                            android:layout_marginBottom="@dimen/d_3dp"
+                            android:src="@drawable/bitian_icon" />
+
+                    </LinearLayout>
+
+                    <EditText
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="20dp"
+                        android:layout_marginTop="@dimen/d_16dp"
+                        android:layout_marginRight="@dimen/d_20dp"
+                        android:background="@null"
+                        android:hint="Please fill in your Full Name"
+                        android:singleLine="true"
+                        android:text="WendyCheng"
+                        android:textColor="#FFBFBFBF"
+                        android:textColorHint="#FFBFBFBF"
+                        android:textSize="@dimen/d_17sp"
+                        binding:typefaceRegular="@{true}" />
+
+                    <View
+                        android:layout_width="match_parent"
+                        android:layout_height="0.8dp"
+                        android:layout_marginLeft="@dimen/d_17dp"
+                        android:layout_marginTop="@dimen/d_14dp"
+                        android:layout_marginRight="@dimen/d_17dp"
+                        android:background="#FFDFE4EE" />
+
+
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="@dimen/d_20dp"
+                        android:gravity="center_vertical"
+                        android:orientation="horizontal">
+
+                        <ImageView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginBottom="@dimen/d_1dp"
+                            android:src="@drawable/pensonal_me_home_tag_icon" />
+
+                        <com.guadou.lib_baselib.font_text_view.TextViewSBold
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginLeft="15dp"
+                            android:text="NRIC"
+                            android:textColor="#FF3E4A5D"
+                            android:textSize="@dimen/d_17sp" />
+
+                        <ImageView
+                            android:layout_width="@dimen/d_20dp"
+                            android:layout_height="20dp"
+                            android:layout_marginBottom="@dimen/d_3dp"
+                            android:src="@drawable/bitian_icon" />
+
+                    </LinearLayout>
+
+                    <EditText
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="20dp"
+                        android:layout_marginTop="@dimen/d_16dp"
+                        android:layout_marginRight="@dimen/d_20dp"
+                        android:background="@null"
+                        android:hint="Please fill in your Mobile"
+                        android:singleLine="true"
+                        android:text="S5987654F"
+                        android:textColor="#FFBFBFBF"
+                        android:textColorHint="#FFBFBFBF"
+                        android:textSize="@dimen/d_17sp"
+                        binding:typefaceRegular="@{true}" />
+
+                    <View
+                        android:layout_width="match_parent"
+                        android:layout_height="0.8dp"
+                        android:layout_marginLeft="@dimen/d_17dp"
+                        android:layout_marginTop="@dimen/d_14dp"
+                        android:layout_marginRight="@dimen/d_17dp"
+                        android:background="#FFDFE4EE" />
+
+
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="@dimen/d_20dp"
+                        android:gravity="center_vertical"
+                        android:orientation="horizontal">
+
+                        <ImageView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginBottom="@dimen/d_1dp"
+                            android:src="@drawable/pensonal_me_home_tag_icon" />
+
+                        <com.guadou.lib_baselib.font_text_view.TextViewSBold
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginLeft="15dp"
+                            android:text="Vaccine"
+                            android:textColor="#FF3E4A5D"
+                            android:textSize="@dimen/d_17sp" />
+
+                        <ImageView
+                            android:layout_width="@dimen/d_20dp"
+                            android:layout_height="20dp"
+                            android:layout_marginBottom="@dimen/d_3dp"
+                            android:src="@drawable/bitian_icon" />
+
+                    </LinearLayout>
+
+                    <RadioGroup
+                        android:id="@+id/rg_group"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="@dimen/d_22dp"
+                        android:layout_marginTop="@dimen/d_15dp"
+                        android:orientation="horizontal">
+
+                        <RadioButton
+                            android:id="@+id/rb_yes"
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:background="@color/transparent"
+                            android:button="@drawable/selector_radio_blue_pading10"
+                            android:checked="true"
+                            android:text="Yes"
+                            android:textColor="#FFBFBFBF"
+                            android:textSize="@dimen/d_17sp"
+                            binding:typefaceRegular="@{true}" />
+
+                        <RadioButton
+                            android:id="@+id/rb_no"
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginLeft="@dimen/d_40dp"
+                            android:background="@color/transparent"
+                            android:button="@drawable/selector_radio_blue_pading10"
+                            android:text="No"
+                            android:textColor="#FFBFBFBF"
+                            android:textSize="@dimen/d_17sp"
+                            binding:typefaceRegular="@{true}" />
+
+                    </RadioGroup>
+
+                    <View
+                        android:layout_width="match_parent"
+                        android:layout_height="0.8dp"
+                        android:layout_marginLeft="@dimen/d_17dp"
+                        android:layout_marginTop="@dimen/d_14dp"
+                        android:layout_marginRight="@dimen/d_17dp"
+                        android:background="#FFDFE4EE" />
+
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="@dimen/d_20dp"
+                        android:gravity="center_vertical"
+                        android:orientation="horizontal">
+
+                        <ImageView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginBottom="@dimen/d_1dp"
+                            android:src="@drawable/pensonal_me_home_tag_icon" />
+
+                        <com.guadou.lib_baselib.font_text_view.TextViewSBold
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginLeft="15dp"
+                            android:text="Mobile"
+                            android:textColor="#FF3E4A5D"
+                            android:textSize="@dimen/d_17sp" />
+
+                        <ImageView
+                            android:layout_width="@dimen/d_20dp"
+                            android:layout_height="20dp"
+                            android:layout_marginBottom="@dimen/d_3dp"
+                            android:src="@drawable/bitian_icon" />
+
+                    </LinearLayout>
+
+                    <EditText
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="20dp"
+                        android:layout_marginTop="@dimen/d_16dp"
+                        android:layout_marginRight="@dimen/d_20dp"
+                        android:background="@null"
+                        android:hint="Please fill in your Mobile"
+                        android:singleLine="true"
+                        android:text="+65 89765678"
+                        android:textColor="#FFBFBFBF"
+                        android:textColorHint="#FFBFBFBF"
+                        android:textSize="@dimen/d_17sp"
+                        binding:typefaceRegular="@{true}" />
+
+                    <View
+                        android:layout_width="match_parent"
+                        android:layout_height="0.8dp"
+                        android:layout_marginLeft="@dimen/d_17dp"
+                        android:layout_marginTop="@dimen/d_14dp"
+                        android:layout_marginRight="@dimen/d_17dp"
+                        android:background="#FFDFE4EE" />
+
+
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="@dimen/d_20dp"
+                        android:gravity="center_vertical"
+                        android:orientation="horizontal">
+
+                        <ImageView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginBottom="@dimen/d_1dp"
+                            android:src="@drawable/pensonal_me_home_tag_icon" />
+
+                        <com.guadou.lib_baselib.font_text_view.TextViewSBold
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginLeft="15dp"
+                            android:text="Email"
+                            android:textColor="#FF3E4A5D"
+                            android:textSize="@dimen/d_17sp" />
+
+                    </LinearLayout>
+
+                    <EditText
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="20dp"
+                        android:layout_marginTop="@dimen/d_16dp"
+                        android:layout_marginRight="@dimen/d_20dp"
+                        android:background="@null"
+                        android:hint="Please fill in your Email"
+                        android:singleLine="true"
+                        android:textColor="#FFBFBFBF"
+                        android:textColorHint="#FFBFBFBF"
+                        android:textSize="@dimen/d_17sp"
+                        binding:typefaceRegular="@{true}" />
+
+                    <View
+                        android:layout_width="match_parent"
+                        android:layout_height="0.8dp"
+                        android:layout_marginLeft="@dimen/d_17dp"
+                        android:layout_marginTop="@dimen/d_14dp"
+                        android:layout_marginRight="@dimen/d_17dp"
+                        android:background="#FFDFE4EE" />
+
+
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="@dimen/d_20dp"
+                        android:gravity="center_vertical"
+                        android:orientation="horizontal">
+
+                        <ImageView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginBottom="@dimen/d_1dp"
+                            android:src="@drawable/pensonal_me_home_tag_icon" />
+
+                        <com.guadou.lib_baselib.font_text_view.TextViewSBold
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginLeft="15dp"
+                            android:text="Home Address"
+                            android:textColor="#FF3E4A5D"
+                            android:textSize="@dimen/d_17sp" />
+
+                    </LinearLayout>
+
+                    <EditText
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="20dp"
+                        android:layout_marginTop="@dimen/d_16dp"
+                        android:layout_marginRight="@dimen/d_20dp"
+                        android:background="@null"
+                        android:hint="Please fill in your Home Address"
+                        android:singleLine="true"
+                        android:textColor="#FFBFBFBF"
+                        android:textColorHint="#FFBFBFBF"
+                        android:textSize="@dimen/d_17sp"
+                        binding:typefaceRegular="@{true}" />
+
+                    <View
+                        android:layout_width="match_parent"
+                        android:layout_height="0.8dp"
+                        android:layout_marginLeft="@dimen/d_17dp"
+                        android:layout_marginTop="@dimen/d_14dp"
+                        android:layout_marginRight="@dimen/d_17dp"
+                        android:background="#FFDFE4EE" />
+
+                    <com.guadou.lib_baselib.font_text_view.TextViewSBold
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_gravity="center_horizontal"
+                        android:layout_marginTop="@dimen/d_20dp"
+                        android:background="@drawable/pensonal_me_home_btn_bg"
+                        android:gravity="center"
+                        android:paddingBottom="5dp"
+                        android:text="Save"
+                        android:textColor="@color/white"
+                        android:textSize="@dimen/d_18sp"
+                        binding:clicks="@{click.doSave}" />
+
+                    <View
+                        android:layout_width="1dp"
+                        android:layout_height="10dp" />
+
+                </LinearLayout>
+
+            </ScrollView>
+
+        </FrameLayout>
 
-    </androidx.constraintlayout.widget.ConstraintLayout>
+    </LinearLayout>
 
 </layout>

+ 320 - 8
cpt_pensonal/src/main/res/layout/fragment_pensonal_company_info.xml

@@ -7,21 +7,333 @@
 
     <data>
 
+        <variable
+            name="click"
+            type="com.hongyegroup.cpt_pensonal.ui.fragment.PensonalCompanyInfoFragment.ClickProxy" />
+
     </data>
 
-    <LinearLayout
-        android:orientation="vertical"
+    <FrameLayout
         android:layout_width="match_parent"
-        android:layout_height="match_parent">
+        android:layout_height="match_parent"
+        android:orientation="vertical">
+
+        <ImageView
+            android:layout_width="match_parent"
+            android:layout_height="198dp"
+            android:scaleType="centerCrop"
+            android:src="@drawable/pensonal_home_top_img" />
+
+        <com.guadou.lib_baselib.font_text_view.TextViewSBold
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginLeft="@dimen/d_35dp"
+            android:layout_marginTop="@dimen/d_48dp"
+            android:text="Join company"
+            android:textAllCaps="true"
+            android:textColor="@color/white"
+            android:textSize="@dimen/d_24sp" />
 
         <com.guadou.lib_baselib.font_text_view.TextViewRegular
-            android:textSize="@dimen/d_18sp"
-            android:gravity="center"
-            android:text="Company Info"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginLeft="@dimen/d_35dp"
+            android:layout_marginTop="82dp"
+            android:layout_marginRight="@dimen/d_35dp"
+            android:text="Please choose to scan the code or enter the company number"
+            android:textColor="#FFCAE5FF"
+            android:textSize="16sp" />
+
+        <FrameLayout
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="right"
+            android:layout_marginTop="30dp"
+            android:layout_marginRight="@dimen/d_20dp">
+
+            <ImageView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/d_3dp"
+                android:src="@drawable/notification_white_icon" />
+
+            <com.guadou.lib_baselib.font_text_view.TextViewSBold
+                android:layout_width="11dp"
+                android:layout_height="11dp"
+                android:layout_marginLeft="@dimen/d_7dp"
+                android:background="@drawable/shape_circle_red_bg"
+                android:gravity="center"
+                android:text="12"
+                android:textColor="@color/white"
+                android:textSize="7sp" />
+
+        </FrameLayout>
+
+        <View
             android:layout_width="match_parent"
-            android:layout_height="match_parent"/>
+            android:layout_height="41dp"
+            android:layout_gravity="center_horizontal"
+            android:layout_marginLeft="38dp"
+            android:layout_marginTop="157dp"
+            android:layout_marginRight="38dp"
+            android:background="@drawable/shape_pensonal_home_blue_10round_bg" />
+
+
+        <ScrollView
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_marginTop="165dp"
+            android:overScrollMode="never"
+            android:scrollbars="none">
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="vertical">
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="75dp"
+                    android:layout_marginLeft="@dimen/d_12dp"
+                    android:layout_marginRight="@dimen/d_12dp"
+                    android:background="@drawable/shadow_round_blue_bg3"
+                    android:gravity="center_vertical"
+                    android:orientation="horizontal"
+                    android:paddingBottom="7dp"
+                    binding:clicks="@{click.gotoScanCodePage}">
+
+                    <ImageView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="@dimen/d_22dp"
+                        android:src="@drawable/pensonal_scan_icon" />
+
+                    <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                        android:layout_width="0dp"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="@dimen/d_14dp"
+                        android:layout_weight="1"
+                        android:text="Scan QR Code"
+                        android:textColor="#FF3E4A5D"
+                        android:textSize="@dimen/d_17sp" />
+
+                    <ImageView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginRight="@dimen/d_24dp"
+                        android:src="@drawable/personal_qr_code_icon" />
+
+                </LinearLayout>
+
+                <FrameLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content">
+
+                    <!-- 没有值   -->
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="@dimen/d_75dp"
+                        android:layout_marginLeft="@dimen/d_12dp"
+                        android:layout_marginRight="@dimen/d_12dp"
+                        android:background="@drawable/shadow_round_blue_bg3"
+                        android:gravity="center_vertical"
+                        android:orientation="horizontal"
+                        android:paddingBottom="7dp"
+                        android:visibility="gone"
+                        binding:clicks="@{click.gotoJoinByIdPage}">
+
+                        <ImageView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginLeft="@dimen/d_22dp"
+                            android:src="@drawable/pensonal_id_icon" />
+
+                        <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                            android:layout_width="0dp"
+                            android:layout_height="wrap_content"
+                            android:layout_marginLeft="@dimen/d_14dp"
+                            android:layout_weight="1"
+                            android:text="Join by Org ID"
+                            android:textColor="#FF3E4A5D"
+                            android:textSize="@dimen/d_17sp" />
+
+                        <ImageView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginRight="@dimen/d_24dp"
+                            android:src="@drawable/more_black" />
+
+                    </LinearLayout>
+
+                    <!--  有值的   -->
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="@dimen/d_12dp"
+                        android:layout_marginRight="@dimen/d_12dp"
+                        android:background="@drawable/shadow_round_blue_bg3"
+                        android:orientation="vertical">
+
+                        <LinearLayout
+                            android:layout_width="match_parent"
+                            android:layout_height="@dimen/d_70dp"
+                            android:gravity="center_vertical"
+                            android:orientation="horizontal"
+                            binding:clicks="@{click.gotoJoinByIdPage}">
+
+                            <ImageView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:layout_marginLeft="@dimen/d_22dp"
+                                android:src="@drawable/pensonal_id_icon" />
+
+                            <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                                android:layout_width="0dp"
+                                android:layout_height="wrap_content"
+                                android:layout_marginLeft="@dimen/d_14dp"
+                                android:layout_weight="1"
+                                android:text="Join by Org ID"
+                                android:textColor="#FF3E4A5D"
+                                android:textSize="@dimen/d_17sp" />
+
+                            <com.guadou.lib_baselib.font_text_view.TextViewSBold
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:layout_marginRight="@dimen/d_24dp"
+                                android:text="FTQQ1390"
+                                android:textAllCaps="true"
+                                android:textColor="#FF626F85"
+                                android:textSize="@dimen/d_16sp" />
+
+                        </LinearLayout>
+
+                        <View
+                            android:layout_width="match_parent"
+                            android:layout_height="1dp"
+                            android:layout_marginLeft="@dimen/d_22dp"
+                            android:layout_marginRight="@dimen/d_22dp"
+                            android:background="#FFE8ECF6" />
+
+                        <LinearLayout
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginLeft="@dimen/d_22dp"
+                            android:layout_marginTop="@dimen/d_22dp"
+                            android:layout_marginRight="@dimen/d_22dp"
+                            android:orientation="horizontal">
+
+                            <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                                android:layout_width="0dp"
+                                android:layout_height="wrap_content"
+                                android:layout_weight="1"
+                                android:text="Shopping Mall"
+                                android:textColor="#FF68768C"
+                                android:textSize="17sp" />
+
+                            <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                                android:layout_width="120dp"
+                                android:layout_height="wrap_content"
+                                android:gravity="right"
+                                android:text="JCube"
+                                android:textColor="#FF68768C"
+                                android:textSize="17sp" />
+
+                        </LinearLayout>
+
+                        <LinearLayout
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginLeft="@dimen/d_22dp"
+                            android:layout_marginTop="@dimen/d_22dp"
+                            android:layout_marginRight="@dimen/d_22dp"
+                            android:orientation="horizontal">
+
+                            <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                                android:layout_width="0dp"
+                                android:layout_height="wrap_content"
+                                android:layout_weight="1"
+                                android:text="Business Name"
+                                android:textColor="#FF68768C"
+                                android:textSize="17sp" />
+
+                            <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                                android:layout_width="120dp"
+                                android:layout_height="wrap_content"
+                                android:gravity="right"
+                                android:text="H&amp;M"
+                                android:textColor="#FF68768C"
+                                android:textSize="17sp" />
+
+                        </LinearLayout>
+
+                        <LinearLayout
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginLeft="@dimen/d_22dp"
+                            android:layout_marginTop="@dimen/d_22dp"
+                            android:layout_marginRight="@dimen/d_22dp"
+                            android:orientation="horizontal">
+
+                            <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                                android:layout_width="0dp"
+                                android:layout_height="wrap_content"
+                                android:layout_weight="1"
+                                android:text="Contact No."
+                                android:textColor="#FF68768C"
+                                android:textSize="17sp" />
+
+                            <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                                android:layout_width="120dp"
+                                android:layout_height="wrap_content"
+                                android:gravity="right"
+                                android:text="+65 59546265"
+                                android:textColor="#FF68768C"
+                                android:textSize="17sp" />
+
+                        </LinearLayout>
+
+                        <LinearLayout
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginLeft="@dimen/d_22dp"
+                            android:layout_marginTop="@dimen/d_22dp"
+                            android:layout_marginRight="@dimen/d_22dp"
+                            android:orientation="horizontal">
+
+                            <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                                android:layout_width="0dp"
+                                android:layout_height="wrap_content"
+                                android:layout_weight="1"
+                                android:text="Business Address"
+                                android:textColor="#FF68768C"
+                                android:textSize="17sp" />
+
+                            <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                                android:layout_width="120dp"
+                                android:layout_height="wrap_content"
+                                android:gravity="right"
+                                android:text="B1-230, JCube 238801"
+                                android:textColor="#FF68768C"
+                                android:textSize="17sp" />
+
+                        </LinearLayout>
+
+                        <View
+                            android:layout_width="1dp"
+                            android:layout_height="50dp" />
+
+                    </LinearLayout>
+
+
+                </FrameLayout>
+
+
+            </LinearLayout>
+
+        </ScrollView>
+
+    </FrameLayout>
 
-    </LinearLayout>
 
 </layout>
 

+ 318 - 8
cpt_pensonal/src/main/res/layout/fragment_pensonal_me.xml

@@ -7,21 +7,331 @@
 
     <data>
 
+        <variable
+            name="click"
+            type="com.hongyegroup.cpt_pensonal.ui.fragment.PensonalMeFragment.ClickProxy" />
+
     </data>
 
-    <LinearLayout
-        android:orientation="vertical"
+    <FrameLayout
         android:layout_width="match_parent"
-        android:layout_height="match_parent">
+        android:layout_height="match_parent"
+        android:focusable="true"
+        android:focusableInTouchMode="true"
+        android:orientation="vertical">
+
+        <ImageView
+            android:layout_width="match_parent"
+            android:layout_height="226dp"
+            android:scaleType="centerCrop"
+            android:src="@drawable/pensonal_me_home_top_img" />
+
+        <com.guadou.lib_baselib.font_text_view.TextViewSBold
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginLeft="@dimen/d_35dp"
+            android:layout_marginTop="@dimen/d_48dp"
+            android:text="Wendy Wang"
+            android:textAllCaps="true"
+            android:textColor="@color/white"
+            android:textSize="@dimen/d_24sp" />
 
         <com.guadou.lib_baselib.font_text_view.TextViewRegular
-            android:textSize="@dimen/d_18sp"
-            android:gravity="center"
-            android:text="Me"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginLeft="@dimen/d_35dp"
+            android:layout_marginTop="82dp"
+            android:layout_marginRight="@dimen/d_35dp"
+            android:text="Personal Information"
+            android:textColor="#FFCAE5FF"
+            android:textSize="16sp" />
+
+
+        <View
             android:layout_width="match_parent"
-            android:layout_height="match_parent"/>
+            android:layout_height="41dp"
+            android:layout_gravity="center_horizontal"
+            android:layout_marginLeft="38dp"
+            android:layout_marginTop="125dp"
+            android:layout_marginRight="38dp"
+            android:background="@drawable/shape_pensonal_home_blue_10round_bg" />
+
+
+        <FrameLayout
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_marginLeft="@dimen/d_5dp"
+            android:layout_marginTop="125dp"
+            android:layout_marginRight="@dimen/d_5dp"
+            android:layout_marginBottom="@dimen/d_5dp"
+            android:background="@drawable/shadow_round_gray_bg">
+
+            <ScrollView
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_marginLeft="@dimen/d_15dp"
+                android:layout_marginRight="@dimen/d_15dp"
+                android:layout_marginBottom="@dimen/d_3dp"
+                android:overScrollMode="never"
+                android:scrollbars="none">
+
+                <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:orientation="vertical">
+
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="@dimen/d_30dp"
+                        android:gravity="center_vertical"
+                        android:orientation="horizontal">
+
+                        <ImageView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginBottom="@dimen/d_1dp"
+                            android:src="@drawable/pensonal_me_home_tag_icon" />
+
+                        <com.guadou.lib_baselib.font_text_view.TextViewSBold
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginLeft="15dp"
+                            android:text="NRIC"
+                            android:textColor="#FF3E4A5D"
+                            android:textSize="@dimen/d_17sp" />
+
+                    </LinearLayout>
+
+                    <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="20dp"
+                        android:layout_marginTop="@dimen/d_16dp"
+                        android:layout_marginRight="@dimen/d_20dp"
+                        android:background="@null"
+                        android:hint="Please fill in your NRIC"
+                        android:singleLine="true"
+                        android:text="S5987654F"
+                        android:textColor="#FFBFBFBF"
+                        android:textColorHint="#FFBFBFBF"
+                        android:textSize="@dimen/d_17sp" />
+
+                    <View
+                        android:layout_width="match_parent"
+                        android:layout_height="0.8dp"
+                        android:layout_marginLeft="@dimen/d_17dp"
+                        android:layout_marginTop="@dimen/d_14dp"
+                        android:layout_marginRight="@dimen/d_17dp"
+                        android:background="#FFDFE4EE" />
+
+
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="@dimen/d_20dp"
+                        android:gravity="center_vertical"
+                        android:orientation="horizontal">
+
+                        <ImageView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginBottom="@dimen/d_1dp"
+                            android:src="@drawable/pensonal_me_home_tag_icon" />
+
+                        <com.guadou.lib_baselib.font_text_view.TextViewSBold
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginLeft="15dp"
+                            android:text="Mobile"
+                            android:textColor="#FF3E4A5D"
+                            android:textSize="@dimen/d_17sp" />
+
+                    </LinearLayout>
+
+                    <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="20dp"
+                        android:layout_marginTop="@dimen/d_16dp"
+                        android:layout_marginRight="@dimen/d_20dp"
+                        android:background="@null"
+                        android:hint="Please fill in your Mobile"
+                        android:singleLine="true"
+                        android:text="+65 25698456"
+                        android:textColor="#FFBFBFBF"
+                        android:textColorHint="#FFBFBFBF"
+                        android:textSize="@dimen/d_17sp" />
+
+                    <View
+                        android:layout_width="match_parent"
+                        android:layout_height="0.8dp"
+                        android:layout_marginLeft="@dimen/d_17dp"
+                        android:layout_marginTop="@dimen/d_14dp"
+                        android:layout_marginRight="@dimen/d_17dp"
+                        android:background="#FFDFE4EE" />
+
+
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="@dimen/d_20dp"
+                        android:gravity="center_vertical"
+                        android:orientation="horizontal">
+
+                        <ImageView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginBottom="@dimen/d_1dp"
+                            android:src="@drawable/pensonal_me_home_tag_icon" />
+
+                        <com.guadou.lib_baselib.font_text_view.TextViewSBold
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginLeft="15dp"
+                            android:text="Vaccine"
+                            android:textColor="#FF3E4A5D"
+                            android:textSize="@dimen/d_17sp" />
+
+                    </LinearLayout>
+
+                    <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="20dp"
+                        android:layout_marginTop="@dimen/d_16dp"
+                        android:layout_marginRight="@dimen/d_20dp"
+                        android:background="@null"
+                        android:hint="Please fill in your Vaccine"
+                        android:singleLine="true"
+                        android:text="Yes"
+                        android:textColor="#FFBFBFBF"
+                        android:textColorHint="#FFBFBFBF"
+                        android:textSize="@dimen/d_17sp" />
+
+                    <View
+                        android:layout_width="match_parent"
+                        android:layout_height="0.8dp"
+                        android:layout_marginLeft="@dimen/d_17dp"
+                        android:layout_marginTop="@dimen/d_14dp"
+                        android:layout_marginRight="@dimen/d_17dp"
+                        android:background="#FFDFE4EE" />
+
+
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="@dimen/d_20dp"
+                        android:gravity="center_vertical"
+                        android:orientation="horizontal">
+
+                        <ImageView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginBottom="@dimen/d_1dp"
+                            android:src="@drawable/pensonal_me_home_tag_icon" />
+
+                        <com.guadou.lib_baselib.font_text_view.TextViewSBold
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginLeft="15dp"
+                            android:text="Email"
+                            android:textColor="#FF3E4A5D"
+                            android:textSize="@dimen/d_17sp" />
+
+                    </LinearLayout>
+
+                    <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="20dp"
+                        android:layout_marginTop="@dimen/d_16dp"
+                        android:layout_marginRight="@dimen/d_20dp"
+                        android:background="@null"
+                        android:hint="Please fill in your email address"
+                        android:singleLine="true"
+                        android:textColor="#FFBFBFBF"
+                        android:textColorHint="#FFBFBFBF"
+                        android:textSize="@dimen/d_17sp" />
+
+                    <View
+                        android:layout_width="match_parent"
+                        android:layout_height="0.8dp"
+                        android:layout_marginLeft="@dimen/d_17dp"
+                        android:layout_marginTop="@dimen/d_14dp"
+                        android:layout_marginRight="@dimen/d_17dp"
+                        android:background="#FFDFE4EE" />
+
+
+                    <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="@dimen/d_20dp"
+                        android:gravity="center_vertical"
+                        android:orientation="horizontal">
+
+                        <ImageView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginBottom="@dimen/d_1dp"
+                            android:src="@drawable/pensonal_me_home_tag_icon" />
+
+                        <com.guadou.lib_baselib.font_text_view.TextViewSBold
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginLeft="15dp"
+                            android:text="Home Address"
+                            android:textColor="#FF3E4A5D"
+                            android:textSize="@dimen/d_17sp" />
+
+                    </LinearLayout>
+
+                    <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="20dp"
+                        android:layout_marginTop="@dimen/d_16dp"
+                        android:layout_marginRight="@dimen/d_20dp"
+                        android:background="@null"
+                        android:hint="Please fill in your home address"
+                        android:singleLine="true"
+                        android:textColor="#FFBFBFBF"
+                        android:textColorHint="#FFBFBFBF"
+                        android:textSize="@dimen/d_17sp" />
+
+                    <View
+                        android:layout_width="match_parent"
+                        android:layout_height="0.8dp"
+                        android:layout_marginLeft="@dimen/d_17dp"
+                        android:layout_marginTop="@dimen/d_14dp"
+                        android:layout_marginRight="@dimen/d_17dp"
+                        android:background="#FFDFE4EE" />
+
+                    <com.guadou.lib_baselib.font_text_view.TextViewSBold
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_gravity="center_horizontal"
+                        android:layout_marginTop="@dimen/d_10dp"
+                        android:background="@drawable/pensonal_me_home_btn_bg"
+                        android:gravity="center"
+                        android:paddingBottom="5dp"
+                        android:text="Edit"
+                        android:textColor="@color/white"
+                        android:textSize="@dimen/d_18sp"
+                        binding:clicks="@{click.gotoMeEditPage}" />
+
+                    <View
+                        android:layout_width="1dp"
+                        android:layout_height="10dp" />
+
+                </LinearLayout>
+
+            </ScrollView>
+
+        </FrameLayout>
+
 
-    </LinearLayout>
+    </FrameLayout>
 
 </layout>
 

+ 113 - 7
cpt_pensonal/src/main/res/layout/fragment_pensonal_my_appointment.xml

@@ -7,19 +7,125 @@
 
     <data>
 
+        <variable
+            name="click"
+            type="com.hongyegroup.cpt_pensonal.ui.fragment.PensonalMyAppointmentFragment.ClickProxy" />
+
     </data>
 
     <LinearLayout
-        android:orientation="vertical"
         android:layout_width="match_parent"
-        android:layout_height="match_parent">
+        android:layout_height="match_parent"
+        android:orientation="vertical">
+
+        <FrameLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content">
+
+            <ImageView
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:scaleType="centerCrop"
+                android:src="@drawable/pensonal_appointment_top_img" />
+
+            <FrameLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/d_32dp">
+
+                <com.guadou.lib_baselib.font_text_view.TextViewSBold
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_gravity="center_horizontal"
+                    android:text="COVID-19 Test"
+                    android:textColor="@color/white"
+                    android:textSize="@dimen/d_18sp" />
+
+                <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_gravity="right"
+                    android:layout_marginRight="@dimen/d_16dp"
+                    android:drawableRight="@drawable/pensonal_appointment_help_title_icon"
+                    android:drawablePadding="@dimen/d_6dp"
+                    android:gravity="center_vertical"
+                    android:text="FAQ"
+                    android:textColor="@color/white"
+                    android:textSize="@dimen/d_15sp" />
+
+            </FrameLayout>
+
+        </FrameLayout>
+
 
-        <com.guadou.lib_baselib.font_text_view.TextViewRegular
-            android:textSize="@dimen/d_18sp"
-            android:gravity="center"
-            android:text="My Appointment"
+        <LinearLayout
             android:layout_width="match_parent"
-            android:layout_height="match_parent"/>
+            android:layout_height="@dimen/d_75dp"
+            android:layout_marginLeft="@dimen/d_12dp"
+            android:layout_marginTop="@dimen/d_5dp"
+            android:layout_marginRight="@dimen/d_12dp"
+            android:background="@drawable/shadow_round_blue_bg3"
+            android:gravity="center_vertical"
+            android:orientation="horizontal"
+            android:paddingBottom="7dp"
+            binding:clicks="@{click.gotoMakeAppointmentPage}">
+
+            <ImageView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/d_22dp"
+                android:src="@drawable/pensonal_appointment_make_appointment" />
+
+            <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/d_14dp"
+                android:layout_weight="1"
+                android:text="Make Appointment"
+                android:textColor="#FF3E4A5D"
+                android:textSize="@dimen/d_17sp" />
+
+            <ImageView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginRight="@dimen/d_24dp"
+                android:src="@drawable/more_black" />
+
+        </LinearLayout>
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/d_75dp"
+            android:layout_marginLeft="@dimen/d_12dp"
+            android:layout_marginRight="@dimen/d_12dp"
+            android:background="@drawable/shadow_round_blue_bg3"
+            android:gravity="center_vertical"
+            android:orientation="horizontal"
+            android:paddingBottom="7dp"
+            binding:clicks="@{click.gotoMyTestsPage}">
+
+            <ImageView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/d_22dp"
+                android:src="@drawable/pensonal_appointment_my_tests" />
+
+            <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/d_14dp"
+                android:layout_weight="1"
+                android:text="View My Tests"
+                android:textColor="#FF3E4A5D"
+                android:textSize="@dimen/d_17sp" />
+
+            <ImageView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginRight="@dimen/d_24dp"
+                android:src="@drawable/more_black" />
+
+        </LinearLayout>
 
     </LinearLayout>
 

+ 116 - 7
cpt_pensonal/src/main/res/layout/fragment_pensonal_setting.xml

@@ -7,19 +7,128 @@
 
     <data>
 
+        <variable
+            name="click"
+            type="com.hongyegroup.cpt_pensonal.ui.fragment.PensonalSettingFragment.ClickProxy" />
+
     </data>
 
     <LinearLayout
-        android:orientation="vertical"
         android:layout_width="match_parent"
-        android:layout_height="match_parent">
+        android:layout_height="match_parent"
+        android:orientation="vertical">
+
+        <com.guadou.lib_baselib.view.titlebar.EasyTitleBar
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            app:Easy_backLayoutState="gone"
+            app:Easy_hasStatusPadding="true"
+            app:Easy_lineState="visiable"
+            app:Easy_title="Setting" />
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/d_65dp"
+            android:layout_marginLeft="@dimen/d_15dp"
+            android:layout_marginTop="@dimen/d_6dp"
+            android:layout_marginRight="@dimen/d_15dp"
+            android:background="@drawable/setting_item_bg"
+            android:gravity="center_vertical"
+            android:orientation="horizontal"
+            binding:clicks="@{click.gotoResetPasswordPage}">
+
+            <ImageView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/d_22dp"
+                android:src="@drawable/setting_reset_psd_icon" />
+
+            <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/d_11dp"
+                android:layout_weight="1"
+                android:text="Reset Password"
+                android:textColor="#FF3E4A5D"
+                android:textSize="@dimen/d_15sp" />
+
+            <ImageView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginRight="@dimen/d_24dp"
+                android:src="@drawable/more_black" />
+
+        </LinearLayout>
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/d_65dp"
+            android:layout_marginLeft="@dimen/d_15dp"
+            android:layout_marginTop="@dimen/d_5dp"
+            android:layout_marginRight="@dimen/d_15dp"
+            android:background="@drawable/setting_item_bg"
+            android:gravity="center_vertical"
+            android:orientation="horizontal">
+
+            <ImageView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/d_22dp"
+                android:src="@drawable/setting_version_no_icon" />
+
+            <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/d_11dp"
+                android:layout_weight="1"
+                android:text="Version No."
+                android:textColor="#FF3E4A5D"
+                android:textSize="@dimen/d_15sp" />
+
+            <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginRight="@dimen/d_24dp"
+                android:text="V1.0.0"
+                android:textColor="#FF308BF0"
+                android:textSize="@dimen/d_15sp" />
+
+        </LinearLayout>
 
-        <com.guadou.lib_baselib.font_text_view.TextViewRegular
-            android:textSize="@dimen/d_18sp"
-            android:gravity="center"
-            android:text="Setting"
+        <LinearLayout
             android:layout_width="match_parent"
-            android:layout_height="match_parent"/>
+            android:layout_height="@dimen/d_65dp"
+            android:layout_marginLeft="@dimen/d_15dp"
+            android:layout_marginTop="@dimen/d_5dp"
+            android:layout_marginRight="@dimen/d_15dp"
+            android:background="@drawable/setting_item_bg"
+            android:gravity="center_vertical"
+            android:orientation="horizontal"
+            binding:clicks="@{click.doLogout}">
+
+            <ImageView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/d_22dp"
+                android:src="@drawable/setting_log_out_icon" />
+
+            <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/d_11dp"
+                android:layout_weight="1"
+                android:text="Logout"
+                android:textColor="#FF3E4A5D"
+                android:textSize="@dimen/d_15sp" />
+
+            <ImageView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginRight="@dimen/d_24dp"
+                android:src="@drawable/more_black" />
+
+        </LinearLayout>
+
 
     </LinearLayout>
 

+ 26 - 0
cpt_pensonal/src/main/res/layout/item_make_appointment_time.xml

@@ -0,0 +1,26 @@
+<?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="com.hongyegroup.cpt_pensonal.bean.MakeAppointmentTime" />
+
+    </data>
+
+    <com.guadou.lib_baselib.font_text_view.TextViewRegular
+        android:id="@+id/tv_appointment_time"
+        android:layout_width="86dp"
+        android:layout_height="32dp"
+        android:layout_marginTop="@dimen/d_25dp"
+        android:background="@{item.isSelect?@drawable/shape_btn_blue_15round_bg:@drawable/shape_btn_gray_15round_border_bg}"
+        android:gravity="center"
+        android:text="@{item.time}"
+        android:textColor="@{item.isSelect?@color/white:@color/input_black_text_5D}"
+        android:textSize="@dimen/d_16sp" />
+
+</layout>

+ 102 - 0
cpt_pensonal/src/main/res/layout/item_my_test.xml

@@ -0,0 +1,102 @@
+<?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="java.lang.String" />
+
+    </data>
+
+    <LinearLayout
+        android:layout_marginTop="-10dp"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:background="@drawable/shadow_round_gray_bg"
+        android:orientation="vertical">
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/d_18dp"
+            android:gravity="center_vertical"
+            android:orientation="horizontal">
+
+            <ImageView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/d_20dp"
+                android:src="@drawable/my_test_date" />
+
+            <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="12dp"
+                android:layout_weight="1"
+                android:text="Swab Test Date"
+                android:textColor="@color/input_black_text_5D"
+                android:textSize="@dimen/d_15sp" />
+
+            <com.guadou.lib_baselib.font_text_view.TextViewSBold
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginRight="@dimen/d_20dp"
+                android:text="May 21, 2021"
+                android:textColor="@color/input_black_text_5D"
+                android:textSize="@dimen/d_15sp" />
+
+        </LinearLayout>
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/d_18dp"
+            android:gravity="center_vertical"
+            android:orientation="horizontal">
+
+            <ImageView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="@dimen/d_20dp"
+                android:src="@drawable/my_test_result" />
+
+            <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="12dp"
+                android:layout_weight="1"
+                android:text="Result"
+                android:textColor="@color/input_black_text_5D"
+                android:textSize="@dimen/d_15sp" />
+
+            <com.guadou.lib_baselib.font_text_view.TextViewSBold
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginRight="@dimen/d_20dp"
+                android:text="Negative"
+                android:textColor="@color/input_blue_text"
+                android:textSize="@dimen/d_15sp" />
+
+        </LinearLayout>
+
+        <com.guadou.lib_baselib.font_text_view.TextViewRegular
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="right"
+            android:layout_marginTop="@dimen/d_15dp"
+            android:layout_marginRight="@dimen/d_20dp"
+            android:text="Your admin will contact you soon."
+            android:textColor="#FF0000"
+            android:textSize="16sp" />
+
+        <View
+            android:layout_width="1dp"
+            android:layout_height="20dp" />
+
+    </LinearLayout>
+
+</layout>

+ 1 - 1
cs_baselib/src/main/java/com/guadou/lib_baselib/core/BaseLibCore.java

@@ -53,7 +53,7 @@ public class BaseLibCore {
                 .lineHeight(1)
                 .menuImgSize(23)
                 .menuTextSize(16)
-                .lineColor(ContextCompat.getColor(application.getApplicationContext(), R.color.divider_color))
+                .lineColor(Color.parseColor("#DFE4EE"))
                 .titleColor(ContextCompat.getColor(application.getApplicationContext(), R.color.black))
                 .viewPadding(10)
                 .titleBarHeight(46);

+ 710 - 0
cs_baselib/src/main/java/com/guadou/lib_baselib/utils/DateAndTimeUtil.java

@@ -0,0 +1,710 @@
+package com.guadou.lib_baselib.utils;
+
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Locale;
+
+/**
+ * 时间转换工具类
+ */
+
+public class DateAndTimeUtil {
+
+    /*
+     * 将时间戳转换为时间 年月日
+     */
+    public static String stampToDate(String s) {
+        //转换PHP时间戳
+        if (s.length() < 11) {
+            StringBuilder builder = new StringBuilder(s);
+            builder.append("000");
+            s = builder.toString();
+        }
+
+        String res;
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd MMM, yyyy", Locale.ENGLISH);
+        long lt = new Long(s);
+        Date date = new Date(lt);
+        res = simpleDateFormat.format(date);
+        return res;
+    }
+
+
+    /*
+     * PhP 时间戳转换
+     */
+    public static String stampToDate1(String s) {
+        //转换PHP时间戳
+        if (s.length() < 11) {
+            StringBuilder builder = new StringBuilder(s);
+            builder.append("000");
+            s = builder.toString();
+        }
+
+        String res;
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm dd/MM/yyyy");
+        long lt = new Long(s);
+        Date date = new Date(lt);
+        res = simpleDateFormat.format(date);
+        return res;
+    }
+
+
+    /**
+     * 转换时间的另一种格式
+     */
+    public static String stampToDate2(String s) {
+        //转换PHP时间戳
+        if (s.length() < 11) {
+            StringBuilder builder = new StringBuilder(s);
+            builder.append("000");
+            s = builder.toString();
+        }
+
+        String res;
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+        long lt = new Long(s);
+        Date date = new Date(lt);
+        res = simpleDateFormat.format(date);
+        return res;
+    }
+
+
+    public static String stampToDate3(String s) {
+        //转换PHP时间戳
+        if (s.length() < 11) {
+            StringBuilder builder = new StringBuilder(s);
+            builder.append("000");
+            s = builder.toString();
+        }
+
+        String res;
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm");
+        long lt = new Long(s);
+        Date date = new Date(lt);
+        res = simpleDateFormat.format(date);
+        return res;
+    }
+
+
+    public static String stampToDate4(String s) {
+        //转换PHP时间戳
+        if (s.length() < 11) {
+            StringBuilder builder = new StringBuilder(s);
+            builder.append("000");
+            s = builder.toString();
+        }
+
+        String res;
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd MMMM");
+        long lt = new Long(s);
+        Date date = new Date(lt);
+        res = simpleDateFormat.format(date);
+        return res;
+    }
+
+    public static String stampToDate5(String s) {
+        //转换PHP时间戳
+        if (s.length() < 11) {
+            StringBuilder builder = new StringBuilder(s);
+            builder.append("000");
+            s = builder.toString();
+        }
+
+        String res;
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm");
+        long lt = new Long(s);
+        Date date = new Date(lt);
+        res = simpleDateFormat.format(date);
+        return res;
+    }
+
+
+    public static String stampToDate6(String s) {
+        //转换PHP时间戳
+        if (s.length() < 11) {
+            StringBuilder builder = new StringBuilder(s);
+            builder.append("000");
+            s = builder.toString();
+        }
+
+        String res;
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yyyy");
+        long lt = new Long(s);
+        Date date = new Date(lt);
+        res = simpleDateFormat.format(date);
+        return res;
+    }
+
+    public static String stampToDate7(String s) {
+        //转换PHP时间戳
+        if (s.length() < 11) {
+            StringBuilder builder = new StringBuilder(s);
+            builder.append("000");
+            s = builder.toString();
+        }
+
+        String res;
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MMM yyyy", Locale.ENGLISH);
+        long lt = new Long(s);
+        Date date = new Date(lt);
+        res = simpleDateFormat.format(date);
+        return res;
+    }
+
+    /**
+     * 兼容php时间戳转换 yyyymmdd   只是自己数据库中查询保存的时候用
+     */
+    public static String stampToDate8(String s) {
+        //转换PHP时间戳
+        if (s.length() < 11) {
+            StringBuilder builder = new StringBuilder(s);
+            builder.append("000");
+            s = builder.toString();
+        }
+
+        String res;
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd");
+        long lt = new Long(s);
+        Date date = new Date(lt);
+        res = simpleDateFormat.format(date);
+        return res;
+    }
+
+    /**
+     * 兼容php时间戳转换 yyyymm 只是自己数据库中查询保存的时候用
+     */
+    public static String stampToDate9(String s) {
+        //转换PHP时间戳
+        if (s.length() < 11) {
+            StringBuilder builder = new StringBuilder(s);
+            builder.append("000");
+            s = builder.toString();
+        }
+
+        String res;
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM");
+        long lt = new Long(s);
+        Date date = new Date(lt);
+        res = simpleDateFormat.format(date);
+        return res;
+    }
+
+
+    /*
+     * 将时间戳转换为时间 年月日
+     */
+    public static String stampToDate10(String s) {
+        //转换PHP时间戳
+        if (s.length() < 11) {
+            StringBuilder builder = new StringBuilder(s);
+            builder.append("000");
+            s = builder.toString();
+        }
+
+        String res;
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd MMM, yyyy HH:mm", Locale.ENGLISH);
+        long lt = new Long(s);
+        Date date = new Date(lt);
+        res = simpleDateFormat.format(date);
+        return res;
+    }
+
+    /*
+     * 将时间戳转换为时间 星期 年月日
+     */
+    public static String stampToDate11(String s) {
+        //转换PHP时间戳
+        if (s.length() < 11) {
+            StringBuilder builder = new StringBuilder(s);
+            builder.append("000");
+            s = builder.toString();
+        }
+
+        String res;
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("EEE, dd MMM, yyyy", Locale.ENGLISH);
+        long lt = new Long(s);
+        Date date = new Date(lt);
+        res = simpleDateFormat.format(date);
+        return res;
+    }
+
+    /*
+     * 将时间戳转换为时间 星期 年月日
+     */
+    public static String stampToDate12(String s) {
+        //转换PHP时间戳
+        if (s.length() < 11) {
+            StringBuilder builder = new StringBuilder(s);
+            builder.append("000");
+            s = builder.toString();
+        }
+
+        String res;
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("EEE, MMM dd, yyyy", Locale.ENGLISH);
+        long lt = new Long(s);
+        Date date = new Date(lt);
+        res = simpleDateFormat.format(date);
+        return res;
+    }
+
+
+    /*
+     * 将时间戳转换为时间 星期 年月日
+     */
+    public static String stampToDate13(String s) {
+        //转换PHP时间戳
+        if (s.length() < 11) {
+            StringBuilder builder = new StringBuilder(s);
+            builder.append("000");
+            s = builder.toString();
+        }
+
+        String res;
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("EEE, dd MMM yyyy", Locale.ENGLISH);
+        long lt = new Long(s);
+        Date date = new Date(lt);
+        res = simpleDateFormat.format(date);
+        return res;
+    }
+
+    public static String stampToDate14(String s) {
+        //转换PHP时间戳
+        if (s.length() < 11) {
+            StringBuilder builder = new StringBuilder(s);
+            builder.append("000");
+            s = builder.toString();
+        }
+
+        String res;
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd-MM-yyyy HH:mm", Locale.ENGLISH);
+        long lt = new Long(s);
+        Date date = new Date(lt);
+        res = simpleDateFormat.format(date);
+        return res.toLowerCase();
+    }
+
+    /*
+     * 将时间戳转换为时间 星期 年月日
+     */
+    public static String stampToDate15(String s) {
+        //转换PHP时间戳
+        if (s.length() < 11) {
+            StringBuilder builder = new StringBuilder(s);
+            builder.append("000");
+            s = builder.toString();
+        }
+
+        String res;
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("EEE dd MMM yyyy");
+        long lt = new Long(s);
+        Date date = new Date(lt);
+        res = simpleDateFormat.format(date);
+        return res;
+    }
+
+
+    public static String stampToDate19(String s) {
+        //转换PHP时间戳
+        if (s.length() < 11) {
+            StringBuilder builder = new StringBuilder(s);
+            builder.append("000");
+            s = builder.toString();
+        }
+
+        String res;
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd-MM-yyyy EEE HH:mm");
+        long lt = new Long(s);
+        Date date = new Date(lt);
+        res = simpleDateFormat.format(date);
+        return res;
+    }
+
+
+    /*
+     * 将时间戳转换为时间 星期 年月日
+     */
+    public static String stampToDate16(String s) {
+        //转换PHP时间戳
+        if (s.length() < 11) {
+            StringBuilder builder = new StringBuilder(s);
+            builder.append("000");
+            s = builder.toString();
+        }
+
+        String res;
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MMM dd yyyy");
+        long lt = new Long(s);
+        Date date = new Date(lt);
+        res = simpleDateFormat.format(date);
+        return res;
+    }
+
+    public static String stampToDate28(String s) {
+        //转换PHP时间戳
+        if (s.length() < 11) {
+            StringBuilder builder = new StringBuilder(s);
+            builder.append("000");
+            s = builder.toString();
+        }
+
+        String res;
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MMM, yyyy", Locale.ENGLISH);
+        long lt = new Long(s);
+        Date date = new Date(lt);
+        res = simpleDateFormat.format(date);
+        return res;
+    }
+
+
+    public static String getYear(String s) {
+        //转换PHP时间戳
+        if (s.length() < 11) {
+            StringBuilder builder = new StringBuilder(s);
+            builder.append("000");
+            s = builder.toString();
+        }
+
+        String res;
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy");
+        long lt = new Long(s);
+        Date date = new Date(lt);
+        res = simpleDateFormat.format(date);
+        return res;
+    }
+
+    public static String stampToDate17(String s) {
+        //转换PHP时间戳
+        if (s.length() < 11) {
+            StringBuilder builder = new StringBuilder(s);
+            builder.append("000");
+            s = builder.toString();
+        }
+
+        String res;
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMM");
+        long lt = new Long(s);
+        Date date = new Date(lt);
+        res = simpleDateFormat.format(date);
+        return res;
+    }
+
+    public static String stampToDate20(String s) {
+        //转换PHP时间戳
+        if (s.length() < 11) {
+            StringBuilder builder = new StringBuilder(s);
+            builder.append("000");
+            s = builder.toString();
+        }
+
+        String res;
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MMM dd, yyyy", Locale.ENGLISH);
+        long lt = new Long(s);
+        Date date = new Date(lt);
+        res = simpleDateFormat.format(date);
+        return res;
+    }
+
+
+    public static String stampToDate21(String s) {
+        //转换PHP时间戳
+        if (s.length() < 11) {
+            StringBuilder builder = new StringBuilder(s);
+            builder.append("000");
+            s = builder.toString();
+        }
+
+        String res;
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("M.dd", Locale.ENGLISH);
+        long lt = new Long(s);
+        Date date = new Date(lt);
+        res = simpleDateFormat.format(date);
+        return res;
+    }
+
+    public static String stampToDate22(String s) {
+        //转换PHP时间戳
+        if (s.length() < 11) {
+            StringBuilder builder = new StringBuilder(s);
+            builder.append("000");
+            s = builder.toString();
+        }
+
+        String res;
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.ENGLISH);
+        long lt = new Long(s);
+        Date date = new Date(lt);
+        res = simpleDateFormat.format(date);
+        return res.toLowerCase();
+    }
+
+    public static String stampToDate23(String s) {
+        //转换PHP时间戳
+        if (s.length() < 11) {
+            StringBuilder builder = new StringBuilder(s);
+            builder.append("000");
+            s = builder.toString();
+        }
+
+        String res;
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(" d MMM yyyy HH:mm", Locale.ENGLISH);
+        long lt = new Long(s);
+        Date date = new Date(lt);
+        res = simpleDateFormat.format(date);
+        return res;
+    }
+
+    public static String stampToDate24(String s) {
+        //转换PHP时间戳
+        if (s.length() < 11) {
+            StringBuilder builder = new StringBuilder(s);
+            builder.append("000");
+            s = builder.toString();
+        }
+
+        String res;
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM", Locale.ENGLISH);
+        long lt = new Long(s);
+        Date date = new Date(lt);
+        res = simpleDateFormat.format(date);
+        return res.toLowerCase();
+    }
+
+    public static String stampToDate25(String s) {
+        //转换PHP时间戳
+        if (s.length() < 11) {
+            StringBuilder builder = new StringBuilder(s);
+            builder.append("000");
+            s = builder.toString();
+        }
+
+        String res;
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(" dd MMM yyyy", Locale.ENGLISH);
+        long lt = new Long(s);
+        Date date = new Date(lt);
+        res = simpleDateFormat.format(date);
+        return res;
+    }
+
+    public static String stampToDate26(String s) {
+        //转换PHP时间戳
+        if (s.length() < 11) {
+            StringBuilder builder = new StringBuilder(s);
+            builder.append("000");
+            s = builder.toString();
+        }
+
+        String res;
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("EE, MMMM dd", Locale.ENGLISH);
+        long lt = new Long(s);
+        Date date = new Date(lt);
+        res = simpleDateFormat.format(date);
+        return res;
+    }
+
+    /*
+     * 将时间戳转换为时间 年月日
+     */
+    public static String stampToDate27(String s) {
+        //转换PHP时间戳
+        if (s.length() < 11) {
+            StringBuilder builder = new StringBuilder(s);
+            builder.append("000");
+            s = builder.toString();
+        }
+
+        String res;
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MMM dd yyyy HH:mm");
+        long lt = new Long(s);
+        Date date = new Date(lt);
+        res = simpleDateFormat.format(date);
+        return res;
+    }
+
+    public static String stampToDateNewsFeed(String s) {
+        //转换PHP时间戳
+        if (s.length() < 11) {
+            StringBuilder builder = new StringBuilder(s);
+            builder.append("000");
+            s = builder.toString();
+        }
+        long lt = new Long(s);
+        Date date = new Date(lt);
+
+        String before;
+        SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("MMM dd, yyyy");
+        before = simpleDateFormat1.format(date);
+
+        String after;
+//        SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat("HH:mm a.");
+        SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat("HH:mm");
+        after = simpleDateFormat2.format(date);
+//        if (!after.contains("午")) {
+//            //英文才加上点 中文不加点
+//            after = after.substring(0, after.length() - 2) + "." + after.substring(after.length() - 2, after.length());
+//        }
+        return before + " at " + after.toLowerCase();
+    }
+
+
+    public static String getMonth(String s) {
+        //转换PHP时间戳
+        if (s.length() < 11) {
+            StringBuilder builder = new StringBuilder(s);
+            builder.append("000");
+            s = builder.toString();
+        }
+
+        String res;
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MM");
+        long lt = new Long(s);
+        Date date = new Date(lt);
+        res = simpleDateFormat.format(date);
+        return res;
+    }
+
+    public static String getMonthEN(String s) {
+        //转换PHP时间戳
+        if (s.length() < 11) {
+            StringBuilder builder = new StringBuilder(s);
+            builder.append("000");
+            s = builder.toString();
+        }
+
+        String res;
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MMM");
+        long lt = new Long(s);
+        Date date = new Date(lt);
+        res = simpleDateFormat.format(date);
+        return res;
+    }
+
+    public static String getDay(String s) {
+        //转换PHP时间戳
+        if (s.length() < 11) {
+            StringBuilder builder = new StringBuilder(s);
+            builder.append("000");
+            s = builder.toString();
+        }
+
+        String res;
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd");
+        long lt = new Long(s);
+        Date date = new Date(lt);
+        res = simpleDateFormat.format(date);
+        return res;
+    }
+
+    /**
+     * 时间转换为时间戳
+     *
+     * @param timeStr 时间 例如: 2016-03-09
+     * @param format  时间对应格式  例如: yyyy-MM-dd
+     * @return 时间戳格式
+     */
+    public static long getTimeStamp(String timeStr, String format) {
+
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format, Locale.ENGLISH);
+        Date date = null;
+        try {
+            date = simpleDateFormat.parse(timeStr);
+            long timeStamp = date.getTime();
+            return timeStamp;
+        } catch (ParseException e) {
+            e.printStackTrace();
+        }
+        return 0;
+    }
+
+
+    //日期转换成多少天前
+    private static long minute = 1000 * 60;
+    private static long hour = minute * 60;
+    private static long day = hour * 24;
+    private static long halfamonth = day * 15;
+    private static long month = day * 30;
+    private static long year = month * 12;
+
+    public static String getDateDiff(String s) {
+
+        if (s.length() < 13) {
+            StringBuilder builder = new StringBuilder(s);
+            builder.append("000");
+            s = builder.toString();
+        }
+
+        Long dateTimeStamp = Long.parseLong(s);
+        String result;
+        long now = new Date().getTime();
+        long diffValue = now - dateTimeStamp;
+        if (diffValue < 0) {
+            //toast("结束日期不能小于开始日期!");
+        }
+        long monthC = diffValue / month;
+        long weekC = diffValue / (7 * day);
+        long dayC = diffValue / day;
+        long hourC = diffValue / hour;
+        long minC = diffValue / minute;
+        if (monthC >= 1) {
+            result = Integer.parseInt(monthC + "") + " months ago";
+            return result;
+        } else if (weekC >= 1) {
+            result = Integer.parseInt(weekC + "") + " weeks ago";
+            return result;
+        } else if (dayC >= 1) {
+            result = Integer.parseInt(dayC + "") + " days ago";
+            return result;
+        } else if (hourC >= 1) {
+            result = Integer.parseInt(hourC + "") == 1 ? "1 hour ago" : Integer.parseInt(hourC + "") + " hours ago";
+            return result;
+        } else if (minC >= 1) {
+            result = Integer.parseInt(minC + "") == 1 ? "1 minute ago" : Integer.parseInt(minC + "") + " minutes ago";
+            return result;
+        } else {
+            result = "a moment ago";
+            return result;
+        }
+    }
+
+    public static String getDiffYear(String s) {
+        if (s.length() < 13) {
+            StringBuilder builder = new StringBuilder(s);
+            builder.append("000");
+            s = builder.toString();
+        }
+
+        Long dateTimeStamp = Long.parseLong(s);
+        String result;
+        long now = new Date().getTime();
+        long diffValue = now - dateTimeStamp;
+        if (diffValue < 0) {
+            //toast("结束日期不能小于开始日期!");
+        }
+        long years = diffValue / year;
+
+        return String.valueOf(years);
+    }
+
+    /**
+     * 计算时间差-转换为时分秒
+     */
+    public static String getDiffTimeMinutes(long mss) {
+
+        String hour = (mss % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60) + "";
+        String minutes = (mss % (1000 * 60 * 60)) / (1000 * 60) + "";
+        String seconds = (mss % (1000 * 60)) / 1000 + "";
+        if (hour.length() == 1) {
+            hour = "0" + hour;
+        }
+        if (minutes.length() == 1) {
+            minutes = "0" + minutes;
+        }
+        if (seconds.length() == 1) {
+            seconds = "0" + seconds;
+        }
+
+        return hour + ":" + minutes + ":" + seconds;
+    }
+}

+ 6 - 96
cs_cptServices/src/main/java/com/guadou/cs_cptservices/base/YYApplication.kt

@@ -1,101 +1,11 @@
 package com.guadou.cs_cptservices.base
 
-import android.app.ActivityManager
-import android.content.Context
-import android.os.Build
-import android.os.Process
-import android.webkit.WebView
-import com.guadou.lib_baselib.base.BaseApplication
+//import com.guadou.lib_baselib.base.BaseApplication
 
-/**
- * 业务逻辑层的Application
- */
-open class YYApplication : BaseApplication() {
-
-    companion object {
-
-        var mCurAppVersion = "" //当前App的版本号 用于网络请求全局添加请求头
-
-    }
-
-    override fun onCreate() {
-        super.onCreate()
-
-        //赋值App全局版本号
-        mCurAppVersion = packageManager.getPackageInfo(packageName, 0).versionName
-
-//        initBugly()
-
-        //WebView的兼容
-        setupWebView()
-    }
-
-    //兼容Android-P
-    private fun setupWebView() {
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
-            val processName = getProcessName(this)
-            if ("com.monstarlab.yyjobs" != processName) {
-                WebView.setDataDirectorySuffix(processName)
-            }
-        }
-    }
-
-    //获取当前的进程名称
-    private fun getProcessName(context: Context?): String? {
-        if (context == null) return ""
-        val manager = context.getSystemService(Context.ACTIVITY_SERVICE) as ActivityManager
-        for (processInfo in manager.runningAppProcesses) {
-            if (processInfo.pid == Process.myPid()) {
-                return processInfo.processName
-            }
-        }
-        return ""
-    }
-
-//    /**
-//     * 初始化Bugly,捕获到异常信息上传到Bugly平台
-//     */
-//    private fun initBugly() {
+///**
+// * 业务逻辑层的Application
+// */
+//open class YYApplication : BaseApplication() {
 //
-//        CrashReport.initCrashReport(applicationContext, "afcd34c05f", true)
-//        val debug: Boolean = BuildConfig.DEBUG
-//        //能捕获自己的异常,上报给bugly
-//        Cockroach.install(this, object : ExceptionHandler() {
-//            override fun onUncaughtExceptionHappened(thread: Thread, throwable: Throwable) {
-//                YYLogUtils.e("--->onUncaughtExceptionHappened:" + thread + "<--->" + throwable.message)
-//                Handler(Looper.getMainLooper()).post {
-//                    if (debug) {
-//                        //如果是测试环境那么吐司错误信息
-//                        toast(throwable.toString())
-//                    }
-//                    //上报错误信息
-//                    CrashReport.postCatchedException(throwable)
-//                }
-//            }
 //
-//            override fun onBandageExceptionHappened(throwable: Throwable) {
-//                throwable.printStackTrace() //打印警告级别log,该throwable可能是最开始的bug导致的,无需关心
-//                YYLogUtils.e("Cockroach Worked:" + throwable.message)
-//                if (debug) {
-//                    //如果是测试环境那么吐司错误信息
-//                    toast(throwable.toString())
-//                }
-//                //上报错误信息
-//                CrashReport.postCatchedException(throwable)
-//            }
-//
-//            override fun onEnterSafeMode() {
-//                YYLogUtils.e("Cockroach onEnterSafeMode")
-//            }
-//
-//            override fun onMayBeBlackScreen(e: Throwable) {
-//                val thread = Looper.getMainLooper().thread
-//                Log.e("AndroidRuntime", "--->onUncaughtExceptionHappened:$thread<---", e)
-//                //黑屏时建议直接杀死app
-//                ActivityManage.finishAllActivity()
-//                exitProcess(0)
-//            }
-//        })
-//    }
-
-}
+//}

BIN
cs_cptServices/src/main/res/drawable-hdpi/me_edit_radio_blue.webp


BIN
cs_cptServices/src/main/res/drawable-hdpi/me_edit_radio_gray.webp


BIN
cs_cptServices/src/main/res/drawable-hdpi/search_bg.webp


BIN
cs_cptServices/src/main/res/drawable-hdpi/search_bg_icon.webp


BIN
cs_cptServices/src/main/res/drawable-hdpi/setting_log_out_icon.webp


BIN
cs_cptServices/src/main/res/drawable-hdpi/setting_reset_psd_icon.webp


BIN
cs_cptServices/src/main/res/drawable-hdpi/setting_version_no_icon.webp


BIN
cs_cptServices/src/main/res/drawable-xhdpi/bitian_icon.png


BIN
cs_cptServices/src/main/res/drawable-xhdpi/me_edit_radio_blue.webp


BIN
cs_cptServices/src/main/res/drawable-xhdpi/me_edit_radio_gray.webp


BIN
cs_cptServices/src/main/res/drawable-xhdpi/search_bg.webp


BIN
cs_cptServices/src/main/res/drawable-xhdpi/search_bg_icon.webp


BIN
cs_cptServices/src/main/res/drawable-xhdpi/search_delete.webp


BIN
cs_cptServices/src/main/res/drawable-xhdpi/setting_item_bg.webp


BIN
cs_cptServices/src/main/res/drawable-xhdpi/setting_log_out_icon.webp


BIN
cs_cptServices/src/main/res/drawable-xhdpi/setting_reset_psd_icon.webp


BIN
cs_cptServices/src/main/res/drawable-xhdpi/setting_version_no_icon.webp


BIN
cs_cptServices/src/main/res/drawable-xxhdpi/me_edit_radio_blue.webp


BIN
cs_cptServices/src/main/res/drawable-xxhdpi/me_edit_radio_gray.webp


BIN
cs_cptServices/src/main/res/drawable-xxhdpi/search_bg.webp


BIN
cs_cptServices/src/main/res/drawable-xxhdpi/search_bg_icon.webp


BIN
cs_cptServices/src/main/res/drawable-xxhdpi/setting_log_out_icon.webp


BIN
cs_cptServices/src/main/res/drawable-xxhdpi/setting_reset_psd_icon.webp


+ 0 - 0
cs_cptServices/src/main/res/drawable-xxhdpi/setting_version_no_icon.webp


Kaikkia tiedostoja ei voida näyttää, sillä liian monta tiedostoa muuttui tässä diffissä