diff --git a/app/build.gradle b/app/build.gradle index 56cd926..2095456 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -28,7 +28,7 @@ android { manifestPlaceholders = [ JPUSH_PKGNAME : applicationId, - JPUSH_APPKEY : "7f6d979240babce41b3625ab", + JPUSH_APPKEY : "4469bc1d5cfba9e5aea1cac4", //暂时填写默认值即可. JPUSH_CHANNEL : "developer-default", diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 873166d..60849e3 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -132,6 +132,16 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/zj365/dc/activity/CalorieAnalyzeAct.kt b/app/src/main/java/com/zj365/dc/activity/CalorieAnalyzeAct.kt new file mode 100644 index 0000000..6565082 --- /dev/null +++ b/app/src/main/java/com/zj365/dc/activity/CalorieAnalyzeAct.kt @@ -0,0 +1,86 @@ +package com.zj365.dc.activity + +import android.view.LayoutInflater +import android.widget.TextView +import com.alibaba.android.arouter.facade.annotation.Route +import com.google.android.material.bottomsheet.BottomSheetDialog +import com.luck.picture.lib.config.PictureMimeType +import com.xty.base.act.BaseVmAct +import com.xty.base.vm.BaseVm +import com.xty.common.arouter.ARouterUrl +import com.xty.common.picture.PictureUtils +import com.zj365.dc.databinding.ActCalorieAnalyzeBinding +import com.zj365.health.R + +@Route(path = ARouterUrl.CALORIE_ANALYZE) +class CalorieAnalyzeAct : BaseVmAct() { + + val binding by lazy { ActCalorieAnalyzeBinding.inflate(layoutInflater) } + + var bottomSheetDialog: BottomSheetDialog? = null + override fun liveObserver() { + + } + + override fun initView() { + super.initView() + statusBar(binding.title.mView) + binding.title.mTvTitle.text = "热卡分析" + binding.title.mIvBack.setOnClickListener { + finish() + } + + binding.tvContent.text = "1.注意事项、操作指南文案。平台能通过照片分析出大部分食物、水果蔬菜、菜品。上传更清晰完整的照片,分析结果更准确。" + + "\n2.平台能通过照片分析出大部分食物、水果蔬菜、菜品。\n" + + "3.上传更清晰完整的招聘,分析结果更准确。平台能通过照片分析出大部分食物。\n" + + "4.上传更清晰完整的照片,分析结果更准确。平台能通过照片分析出大部分食物、水果蔬菜、菜品。\n" + + "5.上传更清晰完整的招聘,分析结果更准确。平台能通过照片分析出大部分食物、水果蔬菜、菜品。上传更清晰完整的招聘,分析结果更准确。\n" + + binding.tvDishes.setOnClickListener { + bottomSheetDialog?.show() + } + + binding.tvFruitVegetable.setOnClickListener { + bottomSheetDialog?.show() + + } + binding.tvSnack.setOnClickListener { + bottomSheetDialog?.show() + + } + + initBottomDialog() + } + + override fun setLayout() = binding.root + + fun initBottomDialog() { + if (bottomSheetDialog == null) { + bottomSheetDialog = BottomSheetDialog(this, R.style.Theme_ChartDialogManager) + bottomSheetDialog?.let { dialog -> + val view = LayoutInflater.from(this).inflate(R.layout.dialog_choose_pic, null) + dialog.setContentView(view) + + val tvTakePhoto = view.findViewById(R.id.tv_take_photo) + val tvChoosePhotoAlbum = view.findViewById(R.id.tv_choose_photo_album) + val tvCancel = view.findViewById(R.id.tv_cancel) + tvCancel.setOnClickListener { + dialog.dismiss() + } + + tvTakePhoto.setOnClickListener { + PictureUtils.openTheCamera(this, PictureMimeType.ofImage()) + dialog.dismiss() + } + + tvChoosePhotoAlbum.setOnClickListener { + PictureUtils.openCamera(this, PictureMimeType.ofImage(),9) + dialog.dismiss() + + } + + } + } + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/zj365/dc/activity/DietManagementAct.kt b/app/src/main/java/com/zj365/dc/activity/DietManagementAct.kt new file mode 100644 index 0000000..bae5f61 --- /dev/null +++ b/app/src/main/java/com/zj365/dc/activity/DietManagementAct.kt @@ -0,0 +1,59 @@ +package com.zj365.dc.activity + +import android.view.View +import com.alibaba.android.arouter.facade.annotation.Route +import com.xty.base.act.BaseVmAct +import com.xty.base.vm.BaseVm +import com.xty.common.arouter.ARouterUrl +import com.xty.common.arouter.RouteManager +import com.zj365.dc.R +import com.zj365.dc.databinding.ActDietManagementBinding + +@Route(path = ARouterUrl.DIET_MANAGEMENT) +class DietManagementAct : BaseVmAct(){ + + val binding by lazy{ ActDietManagementBinding.inflate(layoutInflater)} + override fun liveObserver() { + } + + override fun initView() { + super.initView() + statusBar(binding.title.mView) + binding.title.mTvTitle.text ="膳食管理" + binding.title.mIvBack.setOnClickListener { + finish() + } + + binding.rxCalorie.setOnClickListener(setOnClickListener) + binding.rxHealthyDiet.setOnClickListener(setOnClickListener) + binding.rxMedicineFood.setOnClickListener(setOnClickListener) + binding.rxFoodDiary.setOnClickListener(setOnClickListener) + binding.rxMore.setOnClickListener(setOnClickListener) + } + + var setOnClickListener = View.OnClickListener { + when(it.id){ + R.id.rx_calorie ->{ + RouteManager.goAct(ARouterUrl.CALORIE_ANALYZE) + } + + R.id.rx_healthy_diet ->{ + + } + R.id.rx_medicine_food ->{ + + } + R.id.rx_food_diary ->{ + + } + + R.id.rx_more ->{ + + } + } + + } + + override fun setLayout() = binding.root + +} \ No newline at end of file diff --git a/app/src/main/java/com/zj365/dc/activity/MainActivity.kt b/app/src/main/java/com/zj365/dc/activity/MainActivity.kt index 242a049..f120672 100644 --- a/app/src/main/java/com/zj365/dc/activity/MainActivity.kt +++ b/app/src/main/java/com/zj365/dc/activity/MainActivity.kt @@ -29,6 +29,7 @@ import com.xty.base.vp2.VpAdapter import com.xty.common.Const import com.xty.common.MMkvHelper import com.xty.common.arouter.ARouterUrl +import com.xty.common.arouter.RouteManager import com.xty.common.bracelet.checkBlueConnectPermission import com.xty.common.event.MeasureWeightEvent import com.xty.common.event.MqttReceive @@ -188,8 +189,13 @@ class MainActivity : BaseVmAct(), Consumer { } R.id.nav_dynamic_management -> { - binding.mVp2.setCurrentItem(2, false) - return@setOnNavigationItemSelectedListener true + if (MMkvHelper.getLong(Const.USER_ID).toString() == "0"){ + RouteManager.goAct(ARouterUrl.LOGIN_ACT) + }else{ + binding.mVp2.setCurrentItem(2, false) + return@setOnNavigationItemSelectedListener true + } + } R.id.nav_message -> { diff --git a/app/src/main/java/com/zj365/dc/activity/RecognizeResultAct.kt b/app/src/main/java/com/zj365/dc/activity/RecognizeResultAct.kt new file mode 100644 index 0000000..ea649d6 --- /dev/null +++ b/app/src/main/java/com/zj365/dc/activity/RecognizeResultAct.kt @@ -0,0 +1,95 @@ +package com.zj365.dc.activity + +import android.view.LayoutInflater +import android.view.View +import android.widget.ImageView +import android.widget.LinearLayout +import android.widget.TextView +import androidx.recyclerview.widget.LinearLayoutManager +import com.alibaba.android.arouter.facade.annotation.Route +import com.google.android.material.bottomsheet.BottomSheetDialog +import com.luck.picture.lib.config.PictureMimeType +import com.xty.base.act.BaseVmAct +import com.xty.base.vm.BaseVm +import com.xty.common.arouter.ARouterUrl +import com.xty.common.picture.PictureUtils +import com.xty.common.util.SpannableUtils +import com.zj365.dc.adapter.RecognizeResultAdapter +import com.zj365.dc.databinding.ActRecognizeResultBinding +import com.zj365.health.R + +@Route(path = ARouterUrl.RECOGNIZE_RESULT) +class RecognizeResultAct : BaseVmAct() { + + val binding by lazy{ ActRecognizeResultBinding.inflate(layoutInflater)} + + val adapter by lazy { RecognizeResultAdapter() } + + var bottomSheetDialog: BottomSheetDialog? = null + override fun liveObserver() { + + } + + override fun initView() { + super.initView() + statusBar(binding.title.mView) + binding.title.mTvTitle.text = "识别结果" + binding.title.mIvBack.setOnClickListener { + finish() + } + initAdapter() + binding.tvPhotographAgain.setOnClickListener { + + } + binding.tvDetail.setOnClickListener { + + } + + initBottomDialog() + + } + + fun initAdapter(){ + binding.recycler.layoutManager = LinearLayoutManager(this,LinearLayoutManager.HORIZONTAL,false) + binding.recycler.adapter = adapter + adapter.setOnItemChildClickListener { adapter, view, position -> + + } + } + + override fun initData() { + super.initData() + } + + override fun setLayout() = binding.root + + fun initBottomDialog() { + if (bottomSheetDialog == null) { + bottomSheetDialog = BottomSheetDialog(this, R.style.Theme_ChartDialogManager) + bottomSheetDialog?.let { dialog -> + val view = LayoutInflater.from(this).inflate(R.layout.dialog_choose_pic, null) + dialog.setContentView(view) + + val tvTakePhoto = view.findViewById(R.id.tv_take_photo) + val tvChoosePhotoAlbum = view.findViewById(R.id.tv_choose_photo_album) + val tvCancel = view.findViewById(R.id.tv_cancel) + tvCancel.setOnClickListener { + dialog.dismiss() + } + + tvTakePhoto.setOnClickListener { + PictureUtils.openTheCamera(this, PictureMimeType.ofImage()) + dialog.dismiss() + } + + tvChoosePhotoAlbum.setOnClickListener { + PictureUtils.openCamera(this, PictureMimeType.ofImage(),9) + dialog.dismiss() + + } + + } + } + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/zj365/dc/adapter/RecognizeResultAdapter.kt b/app/src/main/java/com/zj365/dc/adapter/RecognizeResultAdapter.kt new file mode 100644 index 0000000..ab3135c --- /dev/null +++ b/app/src/main/java/com/zj365/dc/adapter/RecognizeResultAdapter.kt @@ -0,0 +1,13 @@ +package com.zj365.dc.adapter + +import com.chad.library.adapter.base.viewholder.BaseViewHolder +import com.xty.base.adapter.BaseAdapter +import com.xty.network.model.HomeLayoutBean +import com.zj365.dc.R + +class RecognizeResultAdapter : BaseAdapter(R.layout.item_recognize_result){ + override fun convert(holder: BaseViewHolder, item: HomeLayoutBean.HomeChildBean) { + + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/zj365/dc/fragment/DynamicManagementFrag.kt b/app/src/main/java/com/zj365/dc/fragment/DynamicManagementFrag.kt index c84cbf7..411689e 100644 --- a/app/src/main/java/com/zj365/dc/fragment/DynamicManagementFrag.kt +++ b/app/src/main/java/com/zj365/dc/fragment/DynamicManagementFrag.kt @@ -148,10 +148,10 @@ class DynamicManagementFrag : BaseVmFrag() { * 0.心率、1.血氧、2.呼吸率、3.体温、4.步数、5.睡眠、6.血压、7.血糖、8.心电、9.尿酸、10.血脂。 */ private val pageIndexs = arrayOf( - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9/*, 10*/ ) private val pageNames = arrayOf( - "心率", "血氧", "呼吸率", "体温", "步数", "睡眠", "血压", "血糖", "心电", "尿酸", "血脂" + "心率", "血氧", "呼吸率", "体温", "步数", "睡眠", "血压", "血糖", "心电", "尿酸"/*, "血脂"*/ ) @SuppressLint("ResourceType") @@ -826,7 +826,7 @@ class DynamicManagementFrag : BaseVmFrag() { binding.mHeader.mWearInfo.visibility = View.INVISIBLE binding.mHeader.mWatchType.visibility = View.INVISIBLE } else { - binding.mHeader.mWatchType.visibility = View.VISIBLE + binding.mHeader.mWatchType.visibility = View.GONE binding.mHeader.mWearInfo.visibility = View.VISIBLE } /*if (mFamilyAdapter.position != -1) { @@ -1751,7 +1751,7 @@ class DynamicManagementFrag : BaseVmFrag() { } } - binding.mHeader.mConnectStatu.visibility = View.VISIBLE + binding.mHeader.mConnectStatu.visibility = View.GONE } else { binding.mHeader.mBindState.apply { text = "未绑定" diff --git a/app/src/main/java/com/zj365/dc/fragment/HealthHomeFrag.kt b/app/src/main/java/com/zj365/dc/fragment/HealthHomeFrag.kt index 3dad21b..f5d8a8a 100644 --- a/app/src/main/java/com/zj365/dc/fragment/HealthHomeFrag.kt +++ b/app/src/main/java/com/zj365/dc/fragment/HealthHomeFrag.kt @@ -280,6 +280,9 @@ HealthHomeFrag : BaseVmFrag() { } "MEALS"->{ //膳食管理 + bundle.clear() + bundle.putString("userId",showIdInfo) + RouteManager.goAct(ARouterUrl.DIET_MANAGEMENT,bundle) } diff --git a/app/src/main/java/com/zj365/dc/vm/HomeVm.kt b/app/src/main/java/com/zj365/dc/vm/HomeVm.kt index 3200227..343481b 100644 --- a/app/src/main/java/com/zj365/dc/vm/HomeVm.kt +++ b/app/src/main/java/com/zj365/dc/vm/HomeVm.kt @@ -2,6 +2,8 @@ package com.zj365.dc.vm import androidx.lifecycle.MutableLiveData import com.xty.base.vm.BaseVm +import com.xty.common.Const +import com.xty.common.MMkvHelper import com.xty.network.model.BannerBean import com.xty.network.model.FamilyBean import com.xty.network.model.HomeLayoutBean @@ -26,10 +28,7 @@ class HomeVm: BaseVm() { startHttp(false) { withContext(Dispatchers.IO){ - var json = JSONObject() - json.put("userId",id) - json.put("location",location) // 1,首页顶部,2,首页中部 - var nowLine = async{apiInterface().getBanners(retrofits.getRequestBody(json.toString()))} + var nowLine = async{apiInterface().getBanners(MMkvHelper.getLong(Const.USER_ID).toString(),location)} var showInfo = nowLine.await() // var value=apiInterface().getBanners(retrofits.getRequestBody(json.toString())) var dataMap = setMapValue(bannerLive.value,showInfo.data,location) diff --git a/app/src/main/res/layout/act_calorie_analyze.xml b/app/src/main/res/layout/act_calorie_analyze.xml new file mode 100644 index 0000000..125a278 --- /dev/null +++ b/app/src/main/res/layout/act_calorie_analyze.xml @@ -0,0 +1,106 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/act_diet_management.xml b/app/src/main/res/layout/act_diet_management.xml index 0b6d031..3b92656 100644 --- a/app/src/main/res/layout/act_diet_management.xml +++ b/app/src/main/res/layout/act_diet_management.xml @@ -9,12 +9,13 @@ android:id="@+id/title"/> @@ -35,6 +36,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="热卡分析" + android:textStyle="bold" android:textColor="@color/col_313" android:textSize="@dimen/sp_15"/> @@ -76,6 +79,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="健康食谱" + android:textStyle="bold" android:textColor="@color/col_313" android:textSize="@dimen/sp_15"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_recognize_result.xml b/app/src/main/res/layout/item_recognize_result.xml new file mode 100644 index 0000000..dc4c154 --- /dev/null +++ b/app/src/main/res/layout/item_recognize_result.xml @@ -0,0 +1,20 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-xxhdpi/icon_analyze_arrow.png b/app/src/main/res/mipmap-xxhdpi/icon_analyze_arrow.png new file mode 100644 index 0000000..3a3e16a Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/icon_analyze_arrow.png differ diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b8da1d8..1cf530b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,3 +1,3 @@ - zhongjian + 中健365 \ No newline at end of file diff --git a/common/src/main/java/com/xty/common/TimeSelect.kt b/common/src/main/java/com/xty/common/TimeSelect.kt index 911140f..d9a291c 100644 --- a/common/src/main/java/com/xty/common/TimeSelect.kt +++ b/common/src/main/java/com/xty/common/TimeSelect.kt @@ -3,9 +3,11 @@ package com.xty.common import android.content.Context import android.graphics.Color import android.view.View +import android.widget.CheckBox import android.widget.TextView import androidx.core.content.ContextCompat import com.bigkoo.pickerview.builder.TimePickerBuilder +import com.bigkoo.pickerview.listener.CustomListener import com.bigkoo.pickerview.listener.OnTimeSelectListener import com.bigkoo.pickerview.view.TimePickerView import com.tamsiree.rxkit.RxTimeTool @@ -42,6 +44,8 @@ class TimeSelect(var context: Context, var select: (String) -> Unit) { var showSec = false var setStartTime: Boolean = false + var isLanu:Boolean = false + init { val instance = Calendar.getInstance() startDate.set( @@ -197,6 +201,10 @@ class TimeSelect(var context: Context, var select: (String) -> Unit) { .isDialog(showDialog)//是否显示为对话框样式 .build() } + + + private var pvLunarTime : TimePickerView?= null + // 设置结束日期 fun selectManyTime2(timeTv: View, format: String = "yyyy-MM-dd") { @@ -276,6 +284,98 @@ class TimeSelect(var context: Context, var select: (String) -> Unit) { showDay = true pvTime.show() } + + fun selectTimeTwo(timeTv: View,timeType:View) { + this.timeTv = timeTv as TextView + showYear = true + showMonth = true + showDay = true + + pvLunarTime = TimePickerBuilder(context, object : OnTimeSelectListener { + override fun onTimeSelect(date: Date?, v: View?) { + val date2String = RxTimeTool.date2String(date, SimpleDateFormat(format)) + if (chooseMany) { + var str = StringBuilder(timeTv?.text) + if (!timeTv?.text.isNullOrEmpty()) { + str.append(",$date2String") + } else { + str.append(date2String) + } + selectTime = str.toString() + timeTv?.text = str + } else { + selectTime = date2String + timeTv?.text = date2String + } + if (otherView != null && otherView is InputView) { + (otherView as InputView).setValues(date2String) + } + + if(isLanu){ + (timeType as TextView).text = "公历" + + }else{ + (timeType as TextView).text = "农历" + } + select.invoke(date2String) + } + }) + .setLayoutRes(R.layout.layout_customer_date_picker,object : CustomListener{ + override fun customLayout(v: View?) { + + var tvSubmit =v!!.findViewById(R.id.tv_confirm) + + var tvCancel = v!!.findViewById(R.id.tv_cancel) + + var checkLuna = v!!.findViewById(R.id.check_brithday) + + tvSubmit.setOnClickListener { + pvLunarTime?.returnData() + pvLunarTime?.dismiss() + } + + tvCancel.setOnClickListener { + pvLunarTime?.dismiss() + } + + checkLuna.setOnCheckedChangeListener { compoundButton, b -> + isLanu = b + /*if(b){ + (timeType as TextView).text = "农历" + }else{ + (timeType as TextView).text = "公历" + }*/ + } + } + }) + + .setType( + booleanArrayOf( + showYear, + showMonth, + showDay, + showHour, + showMin, + showSec + ) + )// 显示需要的时间 + .setOutSideCancelable(true)//点击屏幕,点在控件外部范围时,是否取消显示 + .isCyclic(false)//是否循环滚动 + .setBgColor(Color.WHITE)//滚轮背景颜色 Night mode + .setLineSpacingMultiplier(2.0f) + .setTextColorCenter(ContextCompat.getColor(context, R.color.col_313)) + .setTextColorOut(ContextCompat.getColor(context, R.color.col_6B6)) + .setDividerColor(ContextCompat.getColor(context, R.color.transparent)) + .setItemVisibleCount(3) + .setRangDate(if (setStartTime) startDate else null, endDate)//起始终止年月日设定 + .setDate(selectedDate)// 如果不设置的话,默认是系统时间*/ + .setLabel("", "", "", "", "", "")//默认设置为年月日时分秒 + .isCenterLabel(false) //是否只显示中间选中项的label文字,false则每项item全部都带有label。 + .isDialog(showDialog)//是否显示为对话框样式 + .build() + + pvLunarTime?.show() + } fun selectTime(timeTv: View, format: String = "yyyy-MM-dd", selectedDate: Calendar? = null) { this.selectedDate = selectedDate ?: Calendar.getInstance() // 如果 selectedDate 为空,则使用当前日期作为默认时间 diff --git a/common/src/main/java/com/xty/common/arouter/ARouterUrl.kt b/common/src/main/java/com/xty/common/arouter/ARouterUrl.kt index 2fb8e06..a541c20 100644 --- a/common/src/main/java/com/xty/common/arouter/ARouterUrl.kt +++ b/common/src/main/java/com/xty/common/arouter/ARouterUrl.kt @@ -15,6 +15,9 @@ class ARouterUrl { const val DEVICE_SEARCH = "/com/zj365/dc/activity/DeviceSearchBodyFatAct" const val DEVICE_BIND = "/com/zj365/dc/activity/DeviceBindAct" const val SCIENCE_LIST = "/com/zj365/dc/activity/HealthScienceAct" + const val DIET_MANAGEMENT = "/com/zj365/dc/activity/DietManagementAct" + const val CALORIE_ANALYZE = "/com/zj365/dc/activity/CalorieAnalyzeAct" + const val RECOGNIZE_RESULT = "/com/zj365/dc/activity/RecognizeResultAct" // const val FAMILY_INFO="/com/zj365/dc/act/FamilyMainAct" diff --git a/common/src/main/java/com/xty/common/listener/OnChoosePicListener.kt b/common/src/main/java/com/xty/common/listener/OnChoosePicListener.kt new file mode 100644 index 0000000..733e7f5 --- /dev/null +++ b/common/src/main/java/com/xty/common/listener/OnChoosePicListener.kt @@ -0,0 +1,8 @@ +package com.xty.common.listener + +interface OnChoosePicListener { + + fun onChooseTakePhoto() + + fun onChoosePhotoAlbum() +} \ No newline at end of file diff --git a/common/src/main/java/com/xty/common/picture/PictureUtils.kt b/common/src/main/java/com/xty/common/picture/PictureUtils.kt index cf19420..72b7850 100644 --- a/common/src/main/java/com/xty/common/picture/PictureUtils.kt +++ b/common/src/main/java/com/xty/common/picture/PictureUtils.kt @@ -39,6 +39,16 @@ class PictureUtils { .forResult(PictureConfig.CHOOSE_REQUEST) } + fun openTheCamera(act: Activity, type: Int = PictureMimeType.ofImage()){ + PictureSelector.create(act) + .openCamera(type) + .imageEngine(GlideEngine.createGlideEngine()) // 请参考Demo GlideEngine.java + .isCompress(true)//是否压缩 + .forResult(PictureConfig.CHOOSE_REQUEST) + } + + + /** * 选择图片或者拍照 */ diff --git a/common/src/main/java/com/xty/common/util/TakePhotoDialog.kt b/common/src/main/java/com/xty/common/util/TakePhotoDialog.kt new file mode 100644 index 0000000..23a2fb6 --- /dev/null +++ b/common/src/main/java/com/xty/common/util/TakePhotoDialog.kt @@ -0,0 +1,7 @@ +package com.xty.common.util + +import android.app.Dialog +import android.content.Context + +class TakePhotoDialog(context: Context) : Dialog(context) { +} \ No newline at end of file diff --git a/common/src/main/res/drawable/shape_r25_stroke_02c.xml b/common/src/main/res/drawable/shape_r25_stroke_02c.xml new file mode 100644 index 0000000..38cb594 --- /dev/null +++ b/common/src/main/res/drawable/shape_r25_stroke_02c.xml @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file diff --git a/common/src/main/res/drawable/shape_r8_02c_stroke_1_5.xml b/common/src/main/res/drawable/shape_r8_02c_stroke_1_5.xml new file mode 100644 index 0000000..43dabbf --- /dev/null +++ b/common/src/main/res/drawable/shape_r8_02c_stroke_1_5.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/common/src/main/res/layout/dialog_choose_pic.xml b/common/src/main/res/layout/dialog_choose_pic.xml new file mode 100644 index 0000000..6e2092b --- /dev/null +++ b/common/src/main/res/layout/dialog_choose_pic.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/common/src/main/res/layout/layout_customer_date_picker.xml b/common/src/main/res/layout/layout_customer_date_picker.xml new file mode 100644 index 0000000..8f1b0c2 --- /dev/null +++ b/common/src/main/res/layout/layout_customer_date_picker.xml @@ -0,0 +1,128 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/health/src/main/java/com/zj365/health/act/skin/SkinMeasurementMainAct.kt b/health/src/main/java/com/zj365/health/act/skin/SkinMeasurementMainAct.kt new file mode 100644 index 0000000..a9948a8 --- /dev/null +++ b/health/src/main/java/com/zj365/health/act/skin/SkinMeasurementMainAct.kt @@ -0,0 +1,16 @@ +package com.zj365.health.act.skin + +import android.view.View +import com.xty.base.act.BaseVmAct +import com.zj365.health.databinding.ActAiSkinMeasurementBinding +import com.zj365.health.vm.TongueDiagnosisVm + +class SkinMeasurementMainAct : BaseVmAct() { + + val binding by lazy { ActAiSkinMeasurementBinding.inflate(layoutInflater)} + + override fun liveObserver() { + } + + override fun setLayout() = binding.root +} \ No newline at end of file diff --git a/health/src/main/res/layout/act_ai_skin_measurement.xml b/health/src/main/res/layout/act_ai_skin_measurement.xml new file mode 100644 index 0000000..8a0907b --- /dev/null +++ b/health/src/main/res/layout/act_ai_skin_measurement.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/mine/src/main/java/com/zj365/mime/act/BaseInfoChangeAct.kt b/mine/src/main/java/com/zj365/mime/act/BaseInfoChangeAct.kt index 13f4788..cf62723 100644 --- a/mine/src/main/java/com/zj365/mime/act/BaseInfoChangeAct.kt +++ b/mine/src/main/java/com/zj365/mime/act/BaseInfoChangeAct.kt @@ -181,7 +181,7 @@ class BaseInfoChangeAct : BaseVmAct() { // birthdayType = if (binding.checkBirthday.isChecked) 2 else 1 binding.mBirthday.setOnClickListener { RxKeyboardTool.hideSoftInput(this) - timeSelect.selectTime(it) + timeSelect.selectTimeTwo(it,binding.tvCalType) } binding.mArea.setOnClickListener { if (areaSelectDialog == null) { @@ -245,6 +245,11 @@ class BaseInfoChangeAct : BaseVmAct() { binding.mPhone.text = it.phone // binding.mId.setText(it.idCard) binding.mBirthday.text = it.birthday + if(binding.tvCalType.text.toString().equals("公历")){ + it.birthdayType == 2 + }else{ + it.birthdayType == 1 + } binding.checkBirthday.isChecked = it.birthdayType == 2 // when(it.birthdayType){ // 1-> binding.checkBirthday.isChecked = false diff --git a/mine/src/main/res/layout/act_base_info_change.xml b/mine/src/main/res/layout/act_base_info_change.xml index d6a9e4c..6763abd 100644 --- a/mine/src/main/res/layout/act_base_info_change.xml +++ b/mine/src/main/res/layout/act_base_info_change.xml @@ -221,6 +221,14 @@ android:button="@null" android:visibility="gone" android:checked="true" /> + > + @GET("customer/bannerImg/listNew") + suspend fun getBanners(@Query("userId") userId: String,@Query("location") location: Int): RespBody> /** * 打卡首页信息